這個(gè)模板用在大型的團(tuán)隊(duì)開發(fā)項(xiàng)目中,而且后臺從前臺獨(dú)立分離出來以便于部署在多個(gè)服務(wù)器中。由于YIi2.0的一些新的特性,這個(gè)程序模板的功能要更深一點(diǎn)。提供了基本的數(shù)據(jù)庫的支持,注冊、密碼找回等功能 " /> 亚洲三级一区,蜜臀国产一区,欧美大电影免费观看

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

從零開始學(xué)YII2框架(六)高級應(yīng)用程序模板

高級應(yīng)用程序模板
這個(gè)模板用在大型的團(tuán)隊(duì)開發(fā)項(xiàng)目中,而且后臺從前臺獨(dú)立分離出來以便于部署在多個(gè)服務(wù)器中。由于YIi2.0的一些新的特性,這個(gè)程序模板的功能要更深一點(diǎn)。提供了基本的數(shù)據(jù)庫的支持,注冊、密碼找回等功能。

安裝

可以通過Composer來安裝
如果沒有安裝Composer,先安裝

curl -s http://getcomposer.org/installer | php

然后用如下命令來獲取

php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced /path/to/yii-application

也可以直接下載壓縮文件:Yii 2 with advanced application template(beta)
https://github.com/yiisoft/yii2/ ... -app-2.0.0-beta.tgz

開始

安裝完成后,需要對其進(jìn)行初始化操作。

執(zhí)行init,選擇開發(fā)環(huán)境(dev)php /path/to/yii-application/init創(chuàng)建新的數(shù)據(jù)庫,設(shè)置common/config/main-local.php里的components.db數(shù)據(jù)庫信息使用控制臺命令遷移數(shù)據(jù)庫yii migrate設(shè)置web服務(wù)器的根目錄前臺/path/to/yii-application/frontend/web/對應(yīng)的url為http://frontend/后臺/path/to/yii-application/backend/web/對應(yīng)的url為http://backend/

目錄結(jié)構(gòu)

在根目錄下面有這幾個(gè)子目錄

backend――后臺web程序
common――公共的文件
console――控制臺程序
environments――環(huán)境配置
frontend――前臺web程序
根目錄下面還有包含一些文件

.gitignore ――git版本控制中忽略的文件和目錄,如果你有一些你不想要的文件到你的源代碼里面就把它添加到這個(gè)文件中。
composer.json――這個(gè)下面會(huì)描述
init――在Composer里面所描述初始化腳本
init.bat――和上面一樣,不過是Windows下面的
LIENSE.md――這個(gè)就不說了
README.md――同上
requirements.php――Yii運(yùn)行環(huán)境要求檢測文件
yii――控制臺程序引導(dǎo)文件
yii.bat――Windows下面的東東

系統(tǒng)定義的路徑別名

@yii ――框架的目錄。
@app――當(dāng)前正在運(yùn)行的應(yīng)用程序的基本路徑。
@common -公共文件目錄。
@frontend――前端web應(yīng)用程序目錄。
@backend ――后端web應(yīng)用程序目錄。
@console -控制臺目錄。
@runtime――當(dāng)前正在運(yùn)行的web應(yīng)用程序的運(yùn)行時(shí)目錄
@vendor ――基礎(chǔ)框架目錄。
@web ――當(dāng)前正在運(yùn)行的web應(yīng)用程序的url
@webroot――當(dāng)前正在運(yùn)行的web應(yīng)用程序的web根目錄。

應(yīng)用程序

這個(gè)模板包含三個(gè)應(yīng)用程序,前臺、后臺和控制臺。前臺通常來說就是展現(xiàn)給終端用戶的,也就是項(xiàng)目本身。后臺就是管理員控制面板,包含有分析以及類似的功能等。控制臺主要用來做一些定時(shí)任務(wù)和一些簡單的服務(wù)器的管理,另外也可以用來部署應(yīng)用程序、數(shù)據(jù)庫的遷移、資源的管理等。

common 目錄提供一些公共的文件,可用于多個(gè)應(yīng)用程序,例如User模型。

前臺和后臺都是web應(yīng)用程序,他們都包含一個(gè)web目錄,也就是web的根目錄,在部署服務(wù)器的時(shí)候就得要指向這個(gè)目錄。
每個(gè)應(yīng)用程序都有他們自己的命名空間以及對應(yīng)的別名。同理,common也有自己的命名空間和對應(yīng)的別名。

配置和開發(fā)環(huán)境

在平常的開發(fā)中,直接設(shè)置配置文件會(huì)有多個(gè)問題

每個(gè)團(tuán)隊(duì)成員都有自己的配置選項(xiàng)。如果提交這樣的配置將影響其他團(tuán)隊(duì)成員。
產(chǎn)品數(shù)據(jù)庫密碼和API密鑰不應(yīng)該在代碼倉庫中。
在有多個(gè)服務(wù)器的情況下:開發(fā)、測試、生產(chǎn),每一個(gè)服務(wù)器都應(yīng)該有自己的配置。
每種情況下都定義所有配置選項(xiàng)很重復(fù),并且還要花太多的時(shí)間去維持它。

為了解決這些問題,Yii引入了一個(gè)非常簡單的環(huán)境的概念。每個(gè)環(huán)境由環(huán)境目錄下的一組文件的集合來表示。init命令用于不同環(huán)境之間切換。它只是復(fù)制從環(huán)境目錄中所有應(yīng)用程序的根目錄。

通常環(huán)境包含應(yīng)用程序引導(dǎo)文件如index.php和以-local.php后綴的配置文件。這些已經(jīng)添加到.gitignore中,所以不會(huì)再添加到源碼倉庫中。
為了避免重復(fù)的配置文件相互覆蓋。例如,前臺應(yīng)用程序按照以下順序來讀取配置:

common/config/main.phpcommon/config/main-local.phpfrontend/config/main.phpfrontend/config/main-local.php

參數(shù)文件按以下順序讀取

common/config/params.phpcommon/config/params-local.phpfrontend/config/params.phpfrontend/config/params-local.php

后面讀取的文件配置會(huì)覆蓋前面的配置

整個(gè)的流程圖形如下

配置 Composer

應(yīng)用程序安裝完成后就可以設(shè)置要目錄下面的composer.json

{  "name": "yiisoft/yii2-app-advanced",  "description": "Yii 2 Advanced Application Template",  "keywords": ["yii", "framework", "advanced", "application template"],  "homepage": "http://www.yiiframework.com/",  "type": "project",  "license": "BSD-3-Clause",  "support": {    "issues": "https://github.com/yiisoft/yii2/issues?state=open",    "forum": "http://www.yiiframework.com/forum/",    "wiki": "http://www.yiiframework.com/wiki/",    "irc": "irc://irc.freenode.NET/yii",    "source": "https://github.com/yiisoft/yii2"  },  "minimum-stability": "dev",  "require": {    "php": ">=5.4.0",    "yiisoft/yii2": "*",    "yiisoft/yii2-Swiftmailer": "*",    "yiisoft/yii2-bootstrap": "*",    "yiisoft/yii2-debug": "*",    "yiisoft/yii2-gii": "*"  },  "scripts": {    "post-create-project-cmd": [      "yii//composer//Installer::setPermission"    ]  },  "extra": {    "writable": [      "backend/runtime",      "backend/web/assets",      "console/runtime",      "console/migrations",      "frontend/runtime",      "frontend/web/assets"    ]  }}

首先,修改一些基本信息。例如名稱,描述,關(guān)鍵詞,主頁等等。
你還可以根據(jù)你的需要添加更多的應(yīng)用程序。這些包都是來自packagist.org,可免費(fèi)的瀏覽所有的代碼。
修改完composer.json之后 就可以運(yùn)行

php composer.phar update --prefer-dist

,等下載并安裝完成后就可以開始使用了。自動(dòng)加載的類將會(huì)自動(dòng)處理。

創(chuàng)建從后端到前端的鏈接

  通常情況下需要從后端應(yīng)用程序連接到前端應(yīng)用程序。因?yàn)榍岸?a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用程序可能包含自己的URL管理規(guī)則,所以需要再添加一個(gè)不同名字的后臺的URL管理規(guī)則。

return [  'components' => [    'urlManager' => [      // here is your normal backend url manager config    ],    'urlManagerFrontend' => [      // here is your frontend URL manager config    ],  ],];

之后,就可以像這樣來使用前臺的url

echo Yii::$app->urlManagerFrontend->createUrl(...);

原文鏈接:http://www.yiifans.com/forum.php?mod=viewthread&tid=25
 (出處: Yii2|Yii愛好者中文社區(qū)門戶)

翻譯來源:http://www.yiiframework.com/doc-2.0/guide-apps-advanced.html
(Yii Framework 2.0 API Decumentation)

php技術(shù)從零開始學(xué)YII2框架(六)高級應(yīng)用程序模板,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 韶山市| 德庆县| 克什克腾旗| 大港区| 峨眉山市| 平阴县| 长顺县| 靖江市| 纳雍县| 昌平区| 健康| 阿坝| 成安县| 青海省| 长兴县| 神池县| 肃南| 图片| 微山县| 宝兴县| 治多县| 台南县| 屯留县| 洛宁县| 兖州市| 平武县| 米泉市| 读书| 威宁| 江川县| 修武县| 保定市| 新蔡县| 抚宁县| 遂平县| 南漳县| 吐鲁番市| 鄯善县| 盖州市| 彭泽县| 湘乡市|