首页 > 其他分享 >yii2模块

yii2模块

时间:2024-03-30 14:23:38浏览次数:15  
标签:index php admin modules 模块 yii2

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

相关文章

  • yii2服务定位器
    yii2服务定位器服务定位器是注册和访问组件的对象注册组件useyii\di\ServiceLocator;useyii\caching\FileCache;$locator=newServiceLocator;//通过一个可用于创建该组件的类名,注册"cache"(缓存)组件。$locator->set('cache','yii\caching\ApcCache');//通过......
  • yii2响应(Responses)
    yii2响应(Responses)状态码Yii::$app->response->statusCode=200;异常yii\web\BadRequestHttpException:statuscode400.yii\web\ConflictHttpException:statuscode409.yii\web\ForbiddenHttpException:statuscode403.yii\web\GoneHttpException:......
  • yii2过滤器
    yii2过滤器过滤器是控制器动作执行之前或之后执行的对象。示例过滤器common\components\ActionTimeFilter<?phpnamespaceapp\common\components;useYii;useyii\base\ActionFilter;classActionTimeFilterextendsActionFilter{private$_startTime;......
  • yii2 资源
    yii2资源AppAsset.php<?phpnamespaceapp\assets;useyii\web\AssetBundle;classAppAssetextendsAssetBundle{public$basePath='@webroot';public$baseUrl='@web';public$css=['css/site.css�......
  • yii2请求组件
    yii2请求组件应用的请求是用yii\web\Request对象来表示的请求参数$request=Yii::$app->request;$get=$request->get();//等价于:$get=$_GET;$id=$request->get('id');//等价于:$id=isset($_GET['id'])?$_GET['id']:null;$i......
  • yii2视图
    yii2视图示例代码<?phpuseyii\helpers\Html;useyii\widgets\ActiveForm;/*@var$thisyii\web\View*//*@var$formyii\widgets\ActiveForm*//*@var$modelapp\models\LoginForm*/$this->title='Login';?><h1><?=Ht......
  • Unity制作本地离线数字人功能模块记录
    耗时半个月实现数字人各个功能模块记录一下个人感觉比较好的功能模块:1、TTS,语音合成,GPT-SoVITS,可本地部署使用cuda/gpu/cpu运算,https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e2、ASR,语音识别,FunASR,阿里开源模型,可本地部署当前为cpu运算版本,中文识别王......
  • yii2 模型
    yii2模型Yii2的模型(Model)是MVC(Model-View-Controller)设计模式中的一部分,它代表业务数据、规则和逻辑的对象。模型通常用于处理与数据相关的业务逻辑,如数据的验证、访问和修改等。模型示例代码<?phpnamespaceapp\models;useYii;useyii\db\ActiveRecord;......
  • yii2 配置bootstrap使用
    yii2配置bootstrap使用配置config/web.php添加people<?php...$config=[...'bootstrap'=>['log','people'],...'components'=>['people'=>['class'......
  • yii2 Gii使用和自定义模板
    yii2Gii使用和自定义模板配置开启giiconfig/web.php添加代码if(YII_ENV_DEV){$config['bootstrap'][]='gii';$config['modules']['gii']=['class'=>'yii\gii\Module',];}入口脚本web......