您的位置:首页 > 编程语言 > PHP开发

一个月对于laravel框架的理解

2016-11-24 09:08 246 查看
以我做的API修改用户信息为例子


信息传导的路线是这样的:

那写API的顺序就是:

学习中遇到的难点:

1.API的命名,参照RESTful API 设计指南

2.JWT的Token的获取:

     $user = JWTAuth::parseToken()->authenticate();//get user_id
     $userId = $user -> id;
3.return 数据到transform:
return $this -> response->item($userInfo,new UserInfoTranformer());



collection和item方法的区别,collection就是字面意思,返回一堆数据,item是返回单个数据,你这个就是返回单个数据的,所以只能用item
4.命名空间namespace 参考资料:https://lvwenhan.com/php/401.html
5.Repository中的查询数据库,获取单个数据:get()和first()的区别  参考资料:https://laravel-china.org/docs/5.1/collections#method-first
<?php
public function getUserInfo($userId)
        {
            $userInfo = UserInfo::where('user_id',$userId)->first();//->get();
            return $userInfo;
        }6.在AppServiceProvider,定义interface和repository
学习中遇到的未解决的问题:
1.store()函数的验证方法   参考资料:http://laravelacademy.org/post/240.html
2.模型间的关联问题:belongTo,hasOne,有中间表之间的关联hasManyThrough 参考资料:http://larabase.com/collection/1/post/74
  3.模型中方法的select问题参考资料:https://laravel-china.org/docs/5.1/queries

4.模型中更新数据的update方法问题,updated和updating  参考资料:https://laravel-china.org/docs/5.1/eloquent

5.转换器transformer中的:参考资料:http://www.tuicool.com/articles/f6riUbM

<?php

class UserInfoTranformer extends TransformerAbstract

{

public function transform(UserInfo  $userInfo)

        {

            return [

                    'id'        => $userInfo['id'],

                    //'realname'=> $userInfo->user->realname//通过模型的方法返回字段

                    ];

        }

}

6.预加载 参考资料:https://laravel-china.org/docs/5.1/eloquent-relationships

暂时想到这么多,到时候再补充吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: