laravel apiato框架使用
按照惯例贴出官方文档的地址
按照文档安装必要的程序:node 用来生成接口文档 password用来生成oauth验证,数据库迁移就是框架自带了一个库要迁移到自己的数据库中!
安装apidoc命令
npm install apidoc -g
生成文档命令php artisan apiato:doc
生成文档需要在app/containers/Documentation/Configs/Apidoc.php中修改下路径
密匙生成
php artisan key:generate
然后就是修改配置,包括数据库的连接配置与时区的设置,数据库的连接配置都在app.php中或者.env中!.env文件可以直接复制.env.example!
时区配置在app.php中配置为上海时间都可以
'timezone' => 'Asia/Shanghai',
语言支持的配置
'locale' => 'en',
请注意github最新版的需要添加中文支持app/containers/localization/configs/localization-container.php
'supported_languages' => [ 'ar', 'en' => [ 'en-GB', 'en-US', ], 'es', 'fr', 'zh-CN' ],
以上是安装内容,这里说一下项目开发好了搬到linux上需要注意的事项!
1、依然是安装依赖包
composer install
2、配置必要的.env文件中的数据库信息,就是线下密码账号什么的与线上的不一样!
3、进行数据库迁移
php artisan migrate
4、将数据播种过去
php artisan db:seed
5、安装Oauth服务、如果没使用请跳过、没安装依赖的自行安装
php artisan passport:install
安装完会产生2个secret,按照需求更改.env服务
至此,安装布置过程已算完成了!
其中也许会遇到2个小问题,反正我是每次都能遇到
遇到这个问题不要慌,说是打开失败,那么多半是权限问题,找到laravel.log给上755便可
还是老样子,卧槽!这次把权限改成777问题解决
但是又面临着新的问题
难道cache也要权限,不管了,把cache权限改成777解决问题!
chmod -R 777 cache
R是大写,表示把cache下面的所有文件都改成777权限!
登陆成功!
说一下结构
一次访问接口由route-》controller处理调用request坐数据处理-》action-》task中调用模型完成操作!
1.新建route
php artisan apiato:generate:route
route就是路由,可以一来就把路由缓存起来
php artisan route:cache
这样会加快那么一点点速度,这一块的东西,放到php的3大服务器!
路由里面包含一个中间件!在进入路由的时候就会调用的东西,这个中间件的好处就是可以做验证,可以做过滤!
会定义controller中function的名字
2.新建request
php artisan apiato:generate:request
request就是数据的处理,包含解密hashID,权限角色验证,input的各种验证!如果未通过验证会返回422错误!并会给出提示!
3.新建controller
php artisan apiato:generate:controller
按照提示一步一步输入就行
controller需要做的事情比较简单,注入request保证能接受数据并进行了一部分的处理!
调用action去处理事情!有2种写法,我个人倾向第二种,因为可复制,不用引入多个类文件!
$user = Apiato::call('aaa@qq.com');
然后就是调用transform返回给前端数据、return
$this->transform();
4.新建action
php artisan apiato:generate:action
上一篇: Oracle 约束的相关操作
推荐阅读
-
Django框架使用内置方法实现登录功能详解
-
Django框架中render_to_response()函数的使用方法
-
python django框架中使用FastDFS分布式文件系统的安装方法
-
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
-
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
-
为Python的Tornado框架配置使用Jinja2模板引擎的方法
-
coreldraw中半色调、虚光和框架三种工具的使用方法
-
eaglephp使用微信api接口开发微信框架
-
Python的Django框架中的Context使用
-
Python的Django框架中if标签的相关使用