yii2模块
模块是独立的软件单元,由模型, 视图, 控制器和其他支持组件组成, 终端用户可以访问在应用主体中已安装的模块的控制器, 模块被当成小应用主体来看待,和应用主体不同的是, 模块不能单独部署,必须属于某个应用主体。
模块文件结构
modules
admin
controllers
AdminController.php
models
Admin.php
views
admin
index.php
Module.php
模块文件 Module.php
<?php
namespace app\modules\admin;
/**
* member module definition class
*/
class Module extends \yii\base\Module
{
/**
* {@inheritdoc}
*/
public $controllerNamespace = 'app\modules\admin\controllers';
/**
* {@inheritdoc}
*/
public function init()
{
parent::init();
// custom initialization code goes here
}
}
控制器AdminController.php
<?php
namespace app\modules\admin\controllers;
use app\modules\admin\models\Admin;
use yii\web\Controller;
class AdminController extends Controller
{
public function actionIndex(){
$model = Admin::findOne(['id'=>1]);
return $this->render('index',[
'model'=>$model
]);
}
}
模型 Admin.php
<?php
namespace app\modules\admin\models;
use Yii;
class Admin extends \yii\db\ActiveRecord
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'admin';
}
/**
* {@inheritdoc}
*/
public function rules()
{
return [
[['username', 'password'], 'required'],
[['username'], 'string', 'length' => [8, 12]],
[['password'], 'string', 'max' => 20]
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
'id' => 'Id',
'username' => '账号',
'password' => '密码',
'status' => '状态',
];
}
}
视图 index.php
<?php
echo "欢迎使用模块示例";
?>
姓名:<?=$model['username'];?>
<br>
密码:<?=$model['password'];?>
配置文件 web.php 添加 modules 配置
'modules' => [
'admin' => [
'class' => 'app\modules\admin\Module',
],
],
访问
http://www.yii2.com/admin/admin/index
欢迎使用模块示例 姓名:huyongjian
密码:123456
标签:index,php,admin,modules,模块,yii2
From: https://www.cnblogs.com/hu308830232/p/18105422