• Yii2 HelloWord


    一、安装Yii2

    可以直接官网或github下载:

    https://github.com/yiisoft/yii2
    

    下载完后进入项目的web/目录,入口文件为该目录下的index.php,这里直接启用PHP的内置服务器(端口自定义)真,在当前目录下打开终端输入:

    php -S localhost:8090
    

    正常情况下就可以在浏览器中访问了。

    默认的情况下,我们看到的Yii2首页是/controllers/SiteController.php下的Index方法

    public function actionIndex()
        {
            return $this->render('index');
        }
    

     上面的Index方法渲染了index这个模版,而这个模板位于/views/site/index.php,至于控制器和视图之间的命名规则,参考这里:

    views/ControllerID/ViewName.php
    • ControllerID : 表示控制器的ID,也就是控制器去掉Controller的前缀,比如SiteController就对应site
    • ViewName : 是对应方法的名字,但是不包括action字眼,比如actionIndex对应的是index.php

    而在使用render方法来渲染视图的时候,Yii2默认地也会渲染载入/views/layouts/main.php这个文件,而这个文件做的事就是载入一些html头部的共用文件,比如jscss,导航栏和底部繁荣导航栏等。这里其实我们最值得关心的其实就是下面这段代码的<?= $content ?>

    <?= Breadcrumbs::widget([
                    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
                ]) ?>
                <?= $content ?>
            </div>
    

      这个<?= $content ?>可以说就是我们之后定义视图的内容,我们后续创建的视图文件会被读成字符串的形式赋给$content,然后进行渲染显示。

    二、Hello Word

    有了上面的安装和基本知识之后,我们就可以自己动手来创建一个页面了。不过在创建页面之前,我们先来做一点简单的配置:开启Yii2的enablePrettyUrl模式,因为这样对于后续的开发会便捷很多,而且开启之后,我们的url也会变得很简洁又好,不想现在这样:

    http://localhost:8090/index.php?r=site%2Fabout
    

     这是我点击首页导航栏的About出现的url,一看到这个,我是拒绝的,所以来到/config/web.php这个配置文件中,找到'components' => []这个数组,加入下面的两行代码:

    'urlManager' => [
                'showScriptName' => false,
                'enablePrettyUrl' => true
            ],
    

    这样开启enablePrettyUrl模式之后,我们就可以通过http://localhost:8999/site/about来访问我们的About页面了,这里的规律是这样的:

    http://localhost:8090/ControllerID/ActionName
    

     比如,我们在/controllers/SiteController.php创建一个Say操作方法:

    public function actionSay($target = 'World')
    {
        return $this->render('say', ['target' => $target]);
    }
    

     我们要访问这个方法的正确路径就是http://localhost:8090/site/say 。

    在Yii中使用action关键字前缀来区分用于url操作方法和其他方法,这里的actionSay接收一个参数$target,如果用户在访问的时候传入target参数,target就为用户传入的值,而如果用户没有传入,我们将其默认值设为World。有了控制器的方法,从$this->render('say', ['target' => $target])这行代码来看,我们需要需要创建一个say.php模板文件,这个文件是在哪里的呢?

    根据前面说的视图模板规则,它应该位于:/views/site/say.php。在里面简单写上下面这一小段代码:

    <?php
    use yiihelpersHtml;
    ?>
    <h1>Hello <?= Html::encode($target) ?></h1>
    <p>Welcome to your Yii2 demonstration application.</p>
    

     

    出于安全的因素考虑,我们在say.php这个模版文件中使用了yiihelpersHtml类来对用户传入的数据进行过滤,所以我们才有了这样的输出:

     
    <?= Html::encode($target) ?>
  • 相关阅读:
    使用JNI技术实现JAVA程序调用dll
    vim 技巧集
    Powershell: 计算机硬盘扩容
    jira:3、API 调用 (jira insight)
    Jira: 1、服务器搭建(测试环境)
    Powershell :AD 域操作之OU 导出、创建、 用户导出、创建、移动OU
    jira :数据库配置要求
    powershell:定期删除指定目录的文件
    Jira:2、创建API 访问Token
    证书:常见操作记录
  • 原文地址:https://www.cnblogs.com/blog-dyn/p/6722394.html
Copyright © 2020-2023  润新知