main.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. $params = array_merge(
  3. require(__DIR__ . '/../../common/config/params.php'),
  4. require(__DIR__ . '/../../common/config/params-local.php'),
  5. require(__DIR__ . '/params.php')
  6. );
  7. return [
  8. 'id' => 'api',
  9. 'basePath' => dirname(__DIR__),
  10. 'bootstrap' => ['log'],
  11. 'controllerNamespace' => 'api\controllers',
  12. 'components' => [
  13. 'user' => [
  14. 'class' => yii\web\User::className(),
  15. 'identityClass' => api\models\User::className(),
  16. 'enableSession' => false,
  17. ],
  18. 'log' => [//此项具体详细配置,请访问http://wiki.feehi.com/index.php?title=Yii2_log
  19. 'traceLevel' => YII_DEBUG ? 3 : 0,
  20. 'targets' => [
  21. [
  22. 'class' => yii\log\FileTarget::className(),//当触发levels配置的错误级别时,保存到日志文件
  23. 'levels' => ['error', 'warning'],
  24. 'logFile' => '@runtime/logs/'.date('Y/m/d') . '.log',
  25. ],
  26. [
  27. 'class' => yii\log\EmailTarget::className(),//当触发levels配置的错误级别时,发送到此些邮箱(请改成自己的邮箱)
  28. 'levels' => ['error', 'warning'],
  29. /*'categories' => [//默认匹配所有分类。启用此项后,仅匹配数组中的分类信息会触发邮件提醒(白名单)
  30. 'yii\db\*',
  31. 'yii\web\HttpException:*',
  32. ],*/
  33. 'except' => [//以下配置,除了匹配数组中的分类信息都会触发邮件提醒(黑名单)
  34. 'yii\web\HttpException:404',
  35. 'yii\web\HttpException:403',
  36. 'yii\debug\Module::checkAccess',
  37. ],
  38. 'message' => [
  39. 'to' => ['admin@feehi.com', 'liufee@126.com'],
  40. 'subject' => '来自 Feehi CMS api的新日志消息',
  41. ],
  42. ],
  43. ],
  44. ],
  45. 'cache' => [
  46. 'class' => yii\caching\DummyCache::className(),
  47. 'keyPrefix' => 'api', // 唯一键前缀
  48. ],
  49. 'urlManager' => [
  50. 'enablePrettyUrl' => true,
  51. 'enableStrictParsing' => true,
  52. 'showScriptName' => false,
  53. 'rules' => [
  54. '' => 'site/index',
  55. 'login' => 'site/login',
  56. 'v1/login' => 'v1/site/login',
  57. 'register' => 'site/register',
  58. 'v1/register' => 'v1/site/register',
  59. 'v1' => 'v1/site/index',
  60. [
  61. 'class' => yii\rest\UrlRule::className(),
  62. 'controller' => ['user', 'article', 'paid'],//通过/users,/user/1,/paid/info访问
  63. /*'extraPatterns' => [
  64. 'GET search' => 'search',
  65. ],*/
  66. ],
  67. [
  68. 'class' => yii\rest\UrlRule::className(),//v1版本路由,通过/v1/users,/v1/user/1,/v1/paid/info...访问
  69. 'controller' => ['v1/site', 'v1/user', 'v1/article', 'v1/paid'],
  70. ],
  71. '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
  72. '<version:v\d+>/<controller:\w+>/<action:\w+>'=>'<version>/<controller>/<action>',
  73. ],
  74. ],
  75. 'request' => [
  76. 'parsers' => [
  77. 'application/json' => 'yii\web\JsonParser',
  78. 'text/json' => 'yii\web\JsonParser',
  79. ],
  80. 'enableCsrfValidation' => false,
  81. 'enableCookieValidation' => false,
  82. ],
  83. 'response' => [
  84. 'format' => null,
  85. 'as format' => [
  86. 'class' => api\behaviors\ResponseFormatBehavior::className(),
  87. ]
  88. ],
  89. ],
  90. 'modules' => [
  91. 'v1' => [
  92. 'class' => api\modules\v1\Module::className(),
  93. ],
  94. ],
  95. 'params' => $params,
  96. ];