麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > PHP > 正文

Yii2的深入學(xué)習(xí) 入口文件

2020-03-22 19:54:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  • 前一段時(shí)間,嘗試去寫(xiě)一個(gè) php 的簡(jiǎn)單框架,發(fā)現(xiàn)自己還欠缺很多,就暫時(shí)停掉了。準(zhǔn)備先讀完 Yii2 的源碼,然后再去看完 laravel 的源碼,最后再繼續(xù)去寫(xiě)這個(gè)簡(jiǎn)單的 php 框架。

    之后關(guān)于 Yii2 的學(xué)習(xí)暫時(shí)都是以basic 的項(xiàng)目為例。

    我們先來(lái)看一下 Yii2 的入口文件。在配置 Yii2 的 nginx 的配置時(shí),有這樣幾句

        # server_name mysite.local;    root        /path/to/basic/web;    ......    location / {        # Redirect everything that isn't a real file to index.php        try_files $uri $uri/ /index.php?$args;    }

    可以看到web的入口文件是 web 文件夾下的 index.php 文件。

    index.php 文件的內(nèi)容如下:

    <?php// comment out the following two lines when deployed to production// 定義 debug 的標(biāo)記defined('YII_DEBUG') or define('YII_DEBUG', true);// 定義環(huán)境,有 'dev' 和 'prod' 兩種defined('YII_ENV') or define('YII_ENV', 'dev');// 引入 vendor 中的 autoload.php 文件,會(huì)基于 composer 的機(jī)制自動(dòng)加載類(lèi)require(__DIR__ . '/../vendor/autoload.php');// 引入 Yii 框架的文件 Yii.phprequire(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');// 引入 web 的 config 文件,并將返回值即配置項(xiàng)放入 $config 變量中$config = require(__DIR__ . '/../config/web.php');// new 一個(gè) yiiwebApplication 的實(shí)例,并執(zhí)行它的 run 方法// 用 $config 作為 yiiwebApplication 初始化的參數(shù)(new yiiwebApplication($config))->run();

    可以看到其核心代碼,就只有最后一句,我們所有的請(qǐng)求的處理都是通過(guò) run 方法去調(diào)用執(zhí)行的,內(nèi)部的具體內(nèi)容之后會(huì)講解。

    Yii2 其實(shí)還有另外一個(gè)入口,是 Yii2 命令行的入口文件,即頂級(jí)目錄下的 yii 文件。

    yii 文件的內(nèi)容如下:

    #!/usr/bin/env php<?phpdefined('YII_DEBUG') or define('YII_DEBUG', true);// fcgi doesn't have STDIN and STDOUT defined by default// 定義 STDIN 和 STDOUTdefined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));require(__DIR__ . '/vendor/autoload.php');require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');// 引入 console 的 config 文件,并將返回值即配置項(xiàng)放入 $config 變量中$config = require(__DIR__ . '/config/console.php');// new 一個(gè) yiiconsoleApplication 的實(shí)例,并執(zhí)行它的 run 方法// 用 $config 作為 yiiconsoleApplication 初始化的參數(shù)$application = new yiiconsoleApplication($config);$exitCode = $application->run();// 退出exit($exitCode);

    與 index.php 文件最大的區(qū)別在于,它使用的是yiiconsoleApplication 類(lèi),而 index.php 中使用的yiiwebApplication。

    這就是 Yii2 的兩個(gè)入口,如果是 advanced 的項(xiàng)目的話,入口會(huì)更多,但基本內(nèi)容都是這兩種形式之一。

    今天只是一個(gè)簡(jiǎn)單的開(kāi)篇,就先到這里。

    對(duì) Yii2 源碼有興趣的同學(xué)可以關(guān)注項(xiàng)目yii2-2.0.3-annotated,現(xiàn)在在上面已經(jīng)添加了不少關(guān)于 Yii2 源碼的注釋,之后還會(huì)繼續(xù)添加~

    有興趣的同學(xué)也可以參與進(jìn)來(lái),提交Yii2 源碼的注釋。

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶(hù)名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 5a级毛片| 91在线视频导航 | 成人毛片100部 | 亚洲射逼 | 日本高清无遮挡 | 美国av免费看 | 国产一区免费观看 | 亚洲网站一区 | 一级电影在线免费观看 | 国产午夜小视频 | 欧美成人精品欧美一级 | 久久久www成人免费精品 | 亚洲午夜免费 | 午夜影院日韩 | 色玖玖综合 | 91成 | 欧洲精品久久 | 欧美亚成人 | 嗯~啊~用力~高h | 国产成人在线观看免费网站 | 欧美日韩在线免费观看 | v11av在线视频成人 | 中国av免费在线观看 | 少妇的肉体的满足毛片 | 成年免费看 | 嗯哈~不行好大h双性 | 国产精品一区在线观看 | av在线一区二区三区四区 | 成年人视频在线免费观看 | 亚洲成人入口 | 男女一边摸一边做羞羞视频免费 | 成人性视频在线 | 国产91在线播放九色 | 国产在线区 | 国产91小视频在线观看 | 亚洲成人欧美在线 | 在线播放av网址 | 久久恋 | 欧美18一12sex性处hd | 欧洲成人综合网 | 91久久久久|