Yii

来源:互联网 发布:数据库高并发处理 编辑:程序博客网 时间:2024/05/16 05:27

在项目根目录下面我们创建目录 modules 来存放模块(当然如果不喜欢的话可以随意取名)。
TestModule 自定TestModule 模块
位置 app\modules\TestModule

模块目录接口

--components    自定义组件存放目录--controllers   控制器目录--config        应用配置目录--web      能让客户端直接访问的目录--modules  模块存放目录  --TestModules  自定义TestModule 模块    -- TestModule.php  模块文件    -- controllers     模块控制器文件存放目录       -- IndexController.php  IndexController 控制器    -- models          模块模型存放目录    -- views           模块模版文件存放目录       -- index        IndexController 控制器模版文件所在目录          -- demo-view.php 模版文件 demo-view.php--models   模型目录

模块入口文件 TestModule.php

<?php    namespace app\modules\TestModule;    use yii\base\Module;  // 所有的模块都必须继承yii Module 类    class TestModule extends Module    {        //待会儿在配置文件中会讲解这里        public $testName;        public $testAge;        public function init()        {            //指定该目录控制器的所在命名空间            $this->controllerNamespace = 'app\modules\TestModule\controllers';        }    }?>

模块TestModule controllers IndexController.php

namespace app\modules\TestModule\controller;use Yii;use yii\web\Controller; //要想被访问 得继承yii web Controllerclass IndexController extends Controller{    public function actionIndex()    {        echo Yii::$app->controller->module->testName;        echo Yii::$app->controller->module->testAge;    }    public function actionDemoView()    {        $model = array(            'name' => Yii::$app->controller->module->testName;            'age'  => Yii::$app->controller->module->testAge;        );        return $this->render('demo-view',$model);    }}

demo-view.php

<?php    use yii\helpers\Html;?><?php    echo Html::encode($name);?><br /><?php     echo Html::encode($age);?>

做到这一步后我们一个简单的模块就做好了。 现在要把该模块注册进应用主体,使客户端能够访问。

config/web.php

<?php [    'modules' => [        'TestModule' => [            'class' => 'app\modules\TestModule\TestModule',  //指向模块入口文件            'testName'=>'谭勇', //对模块入口类的属性注入            'testAge' => 22    //对模块入口类的属性注入        ]    ] ]?>

然后我们在浏览器上输入

http://host/index.php?r=TestModule/index/indexhttp://host/index.php?r=TestModule/index/demo-view访问试试
原创粉丝点击