yii之mvc

一:MVC


二:YII路由信息

 http://192.168.85.129/index.php?r=user%2Findex

这是一个YII打开页面的路由地址信息。 index.php为入口地址(也被称为入口脚本)在/web/index.php 入口脚本主要完成以下操作:

  • 定义全局常量;
    注册 Composer 自动加载器;
    包含 [[Yii]] 类文件;
    加载应用配置;
    创建一个应用实例并配置;
    调用 [[yii\base\Application::run()]] 来处理请求。
<?phpdefined(‘YII_DEBUG‘) or define(‘YII_DEBUG‘, true);
defined(‘YII_ENV‘) or define(‘YII_ENV‘, ‘dev‘);// 注册 Composer 自动加载器
require(__DIR__ . ‘/../vendor/autoload.php‘);// 包含 Yii 类文件
require(__DIR__ . ‘/../vendor/yiisoft/yii2/Yii.php‘);// 加载应用配置
$config = require(__DIR__ . ‘/../config/web.php‘);// 创建、配置、运行一个应用
(new yii\web\Application($config))->run();

技术分享


?r: 为路由的意思,也就是从这个入口进入后要路由到哪个页面去。


user%2Findex: %2F相当于对/进行了转义,本意是user/index.所以这个路径也可以写成:

 

http://192.168.85.129/index.php?r=user/index

user为controller ID

index为action ID



三:Controller

   控制器是 MVC 模式中的一部分, 是继承[[yii\base\Controller]]类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。

 技术分享

控制器有操作组成,一个控制器可以有众多操作组成

namespace app\controllers;use Yii;use app\models\Post;use yii\web\Controller;use yii\web\NotFoundHttpException;class PostController extends Controller{
    public function actionView($id)
    {
        $model = Post::findOne($id);
        if ($model === null) {
            throw new NotFoundHttpException;
        }

        return $this->render(‘view‘, [
            ‘model‘ => $model,
        ]);
    }

    public function actionCreate()  
    {
        $model = new Post;

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect([‘view‘, ‘id‘ => $model->id]);
        } else {
            return $this->render(‘create‘, [
                ‘model‘ => $model,
            ]);
        }
    }}

 ControllerID命名规则

例如usernamecontroller:为一个控制ID,它在命名是username

  UserNameController:它的命名是User-Name

 

在function后定义的操作就是操作ID名字是去了action后的内容。

 actionID命名规则如上。



本文出自 “slayer” 博客,请务必保留此出处http://slayer.blog.51cto.com/4845839/1620427

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。