初识yii2.0

PHP 2017-07-23

写个hello world

易框架是MVC框架,也就是说有模型,视图,控制三层。
现在我们写一个简单的hello word并不需要用到模型层,只要控制层和视图层就够了。

  • 首先要把电脑本机变成一个服务器,不知道这说法对不对
    为什么这么说呢,因为php是服务器端的脚本语言,需要服务器解析,单纯的用浏览器打开php文件是不起作用的,或者说浏览器只会把它当作一个文本文件去渲染出来。
    那么我用的是集成的运行环境,网上搜upupw,我用的是apache版的php5.4,记得php版本至少要5.4,因为yii2.0不支持php5.4以下的版本。基本上这个软件下完,安装,运行,开启全部服务,最后在浏览器上输入127.0.0.1运行出现这个页面就ok啦

127.0.0.1

  • 第二步先下个框架
    yii框架的下载页面我建议是用归档文件安装,暂时用基本模板就够了,然后可能会被墙,因为是在github上的。下载完解压出来。然后打开basic\config\web.php,添加一个cookieValidationKey对于的属性。
'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'cookie',    // 随便填一个
        ],

访问basic\web\index.php
还有如果是用upupw,那么就要把yii框架的文件解压到upupw安装目录下的htdocs文件夹里,这样才能访问得到,这样的话我只要在浏览器中访问127.0.0.1/basic/web/index.php
出现这个就代表成功了

  • 好的开始第三步。
    首先你要知道,一个hello world页面是怎么从请求到浏览器渲染出来的。
    一般都是通过控制器(controller),然后执行控制器里对应的动作(action),然后动作去返回一个渲染视图。

  • 那么我们需要写一个控制器
    我们在controllers目录下,新建一个HelloController.php
    这里要注意的是,文件名一样要以Controller为结尾

<?php    //  php文件的标识
namespace app\controllers;    //  定义命名空间
use yii\web\Controller;    //  使用命名空间
//  这是一个叫hello的控制类
class HelloController extends Controller{
//  这是一个动作,必须以action开头,所以该动作就叫index
    public function actionIndex(){
        $this->layout = false;    //  不使用yii框架默认的布局文件
        return $this->render('index');    //  渲染view\hello\index.php这个视图文件
     }
}
  • 还要写在一个视图文件
    视图文件都是在view这个文件下的。而我们的控制器叫hello,所以我们要在view下新建一个hello文件夹,在该文件下新建一个index.php
    所以就是新建一个view\hello\index.php文件
    这个文件很简单,我们就只写
<?php
echo "Hello world!";
  • 最后在浏览器中输入127.0.0.1/basic/web/index.php?r=hello/index
    效果图
    什么意思呢?
    就是进入index.php这个入口脚本,然后r=hello/index这个是说我们用请求hello这个控制器,然后再执行hello控制器下的index动作。而actionIndex会返回一个渲染视图index,而视图文件index我们写的是echo "Hello world!";所以它就渲染出一句简简单单的Hello world!

本文由 阿涛 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论