Yii 2.0 搭建 API 教程 [ 2.0 版本 ]
教程开始:
先说下我的目录接口
|-admin-lte 后台
|-api 接口
|-yii-advanced Yii源码
这样的通过引入的方式使用Yii,可以节省服务器的存储空间;
1、和yii源码建立api文件夹
2、建立如下文件目录
├─config
│ bootstrap.php
│ db.php
│ main-local.php
│ main.php
│ params.php
│
├─modules
│ └─v1
│ │ Module.php
│ │
│ ├─controllers
│ └─models
└─web
index.php
web目录下建立index.php引入yii源码
<?php
defined ( 'YII_DEBUG' ) or define ( 'YII_DEBUG', true );
defined ( 'YII_ENV' ) or define ( 'YII_ENV', 'dev' );
require (__DIR__ . '/../../yii2-advanced/vendor/autoload.php');
require (__DIR__ . '/../../yii2-advanced/vendor/yiisoft/yii2/Yii.php');
require (__DIR__ . '/../../yii2-advanced/common/config/bootstrap.php');
require (__DIR__ . '/../config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge (
require (__DIR__ . '/../../yii2-advanced/common/config/main.php'),
require (__DIR__ . '/../config/main.php'),
require (__DIR__ . '/../config/main-local.php')
);
$application = new yii\web\Application ( $config );
$application->run ();
main.php中配置
return [
'id' => 'app-back-admin',
'language' => 'zh-CN',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'defaultRoute' => 'site/login',
'controllerNamespace' => 'app\modules\v1\controllers',
'components' => [
'user' => [
'identityClass' => 'app\models\Operators',
'enableAutoLogin' => true,
],
//api接收json格式数据,一定要配置
'request' => [
'cookieValidationKey' => 'ax5Ajm6GbpGhhmNX2lAnAfgwMj2RO2Cq',
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
],
//本地日志
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error'],
'logFile' => "@app/runtime/log-" . date('Y-m-d'). '.log'
],
],
],
//配置路由,如果你要restful风格需要配置,如果配置了此项不配置重写规则会404
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
],
//数据库
'db' => require(__DIR__ . '/db.php')
],
//这个是模块名,比如你的app升级的话,可以建立v2,新版本用v2,老版本用v1,这样就比较清晰
'modules' => [
'v1' => [
'class' => 'app\modules\v1\Module',
],
],
'params' => $params,
];
然后在modules里面配置model和controller就可以了
最重要的几点:
1、请让控制器继承ActiveController
2、如果你是apache用户,请在index.php同级建立.htaccess文件
Options +FollowSymLinks
IndexIgnore /
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
上面的意思是,如果你请求的目录存在,就直接访问,如果不存在,也要交给index.php
3、如果你是nginx用户,那你就需要修改你的nginx配置了,大体差不多,这块我没试
可能我描述的不是很清楚,大家可以去找代码,传送门 更多教程
薄洪涛
注册时间:2017-09-18
最后登录:2022-01-28
在线时长:14小时22分
最后登录:2022-01-28
在线时长:14小时22分
- 粉丝4
- 金钱75
- 威望40
- 积分615
共 0 条评论