php中yii的controller,yii框架如何访问自定义模块下的controller

228310a5e66720681a39e20648e57ac8.png

问题:

Site控制器里面的action如何访问?如图:

326807086693f9fb6f3c18d416f6d115.png

解决方法:

1、建立目录

首先建立如上的目录结构,在api下的以及目录有三个文件夹和一个文件Module.php,这个php文件内容如下:<?php

namespace app\modules\api;

/**

* api module definition class

*/

class Module extends \yii\base\Module

{

/**

* @inheritdoc

*/

public $controllerNamespace = 'app\modules\api\controllers';

/**

* @inheritdoc

*/

public function init()

{

parent::init();

// custom initialization code goes here

}

}

(推荐教程:yii框架)

2、web.php

还记得项目根目录下的config文件夹下有个web.php文件么,添加如下字段:<?php

$params = require __DIR__ . '/params.php';

$db = require __DIR__ . '/db.php';

$config = [

'id' => 'basic',

'basePath' => dirname(__DIR__),

'bootstrap' => ['log'],

'aliases' => [

'@bower' => '@vendor/bower-asset',

'@npm' => '@vendor/npm-asset',

],

'components' => [

'request' => [

// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation

'cookieValidationKey' => 'jjsYJ_ju0W8ifOv5mY3JBMI6DOppFlo6',

],

'cache' => [

'class' => 'yii\caching\FileCache',

],

'user' => [

'identityClass' => 'app\models\User',

'enableAutoLogin' => true,

],

'errorHandler' => [

'errorAction' => 'site/error',

],

'mailer' => [

'class' => 'yii\swiftmailer\Mailer',

// send all mails to a file by default. You have to set

// 'useFileTransport' to false and configure a transport

// for the mailer to send real emails.

'useFileTransport' => true,

],

'log' => [

'traceLevel' => YII_DEBUG ? 3 : 0,

'targets' => [

[

'class' => 'yii\log\FileTarget',

'levels' => ['error', 'warning'],

],

],

],

'db' => $db,

/*

'urlManager' => [

'enablePrettyUrl' => true,

'showScriptName' => false,

'rules' => [

],

],

*/

],

'modules' => [

'api' => [

'class' => 'app\modules\api\Module',

],

],

'params' => $params,

];

if (YII_ENV_DEV) {

// configuration adjustments for 'dev' environment

$config['bootstrap'][] = 'debug';

$config['modules']['debug'] = [

'class' => 'yii\debug\Module',

// uncomment the following to add your IP if you are not connecting from localhost.

//'allowedIPs' => ['127.0.0.1', '::1'],

];

$config['bootstrap'][] = 'gii';

$config['modules']['gii'] = [

'class' => 'yii\gii\Module',

// uncomment the following to add your IP if you are not connecting from localhost.

//'allowedIPs' => ['127.0.0.1', '::1'],

];

}

return $config;

3、api组件下的controllers

现在我们在Modules/api/controllers下新建一个SiteControllers.php,内容如下:<?php

namespace app\modules\api\controllers;

use yii\web\Controller;

class SiteController extends Controller

{

public function actionIndex()

{

echo "hello world";

}

}

4、浏览器访问

最后就是浏览器访问这个actionIndex了,浏览器输入: http://localhost/basic/web/index.php?r=api/site/index

fe42eb02517a431e3e1e594f09c99dae.png

完成!

更多编程相关内容,请关注php中文网编程入门栏目!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值