最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年08月20日 17:04:11   投稿:hebedich  
這篇文章主要介紹了YII2框架學(xué)習筆記之高級應(yīng)用程序模板,深入淺出從安裝,配置到使用方法都做了介紹,希望對大家有所幫助

高級應(yīng)用程序模板
這個模板用在大型的團隊開發(fā)項目中,而且后臺從前臺獨立分離出來以便于部署在多個服務(wù)器中。由于YIi2.0的一些新的特性,這個程序模板的功能要更深一點。提供了基本的數(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

開始

安裝完成后,需要對其進行初始化操作。

執(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)

在根目錄下面有這幾個子目錄

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

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

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

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

應(yīng)用程序

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

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

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

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

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

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

為了解決這些問題,Yii引入了一個非常簡單的環(huán)境的概念。每個環(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中,所以不會再添加到源碼倉庫中。
為了避免重復(fù)的配置文件相互覆蓋。例如,前臺應(yīng)用程序按照以下順序來讀取配置:

common/config/main.php
common/config/main-local.php
frontend/config/main.php
frontend/config/main-local.php

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

common/config/params.php
common/config/params-local.php
frontend/config/params.php
frontend/config/params-local.php

后面讀取的文件配置會覆蓋前面的配置

整個的流程圖形如下

配置 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,可免費的瀏覽所有的代碼。
修改完composer.json之后 就可以運行

php composer.phar update --prefer-dist

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

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

  通常情況下需要從后端應(yīng)用程序連接到前端應(yīng)用程序。因為前端應(yīng)用程序可能包含自己的URL管理規(guī)則,所以需要再添加一個不同名字的后臺的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)

相關(guān)文章

  • PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫示例

    PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫示例

    這篇文章主要介紹了PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫示例,可以將Excel的數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫中,感興趣的同學(xué)可以了解一下。
    2016-10-10
  • php 與 nginx 的處理方式及nginx與php-fpm通信的兩種方式

    php 與 nginx 的處理方式及nginx與php-fpm通信的兩種方式

    這篇文章主要介紹了php 與 nginx 的兩種處理方式及nginx與php-fpm通信的兩種方式,需要的朋友可以參考下
    2018-09-09
  • PHP輸出多個元素的排列或組合的方法

    PHP輸出多個元素的排列或組合的方法

    下面小編就為大家?guī)硪黄狿HP輸出多個元素的排列或組合的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • PHP實現(xiàn)PDF轉(zhuǎn)圖片的詳細過程(使用imagick)

    PHP實現(xiàn)PDF轉(zhuǎn)圖片的詳細過程(使用imagick)

    最近有一份pdf文件,需要將其轉(zhuǎn)換成圖片,所以這篇文章主要給大家介紹了關(guān)于PHP實現(xiàn)PDF轉(zhuǎn)圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • PHP實現(xiàn)圖片合并的示例詳解

    PHP實現(xiàn)圖片合并的示例詳解

    這篇文章主要為大家詳細介紹了如何利用PHP實現(xiàn)圖片合并的效果,文中的示例代碼講解詳細,具有一定的學(xué)習價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • PHP用Session實現(xiàn)用戶登陸功能

    PHP用Session實現(xiàn)用戶登陸功能

    Session 是存儲在服務(wù)器端的會話,相對安全,并且不像 Cookie 那樣有存儲長度限制。由于 Session 是以文本文件形式存儲在服務(wù)器端的,所以不怕遠程用戶修改 Session 內(nèi)容。這篇文章主要介紹了PHP用Session實現(xiàn)用戶登陸功能,需要的朋友可以參考下
    2022-12-12
  • PHP命令空間namespace及use的用法小結(jié)

    PHP命令空間namespace及use的用法小結(jié)

    命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數(shù)或者類出現(xiàn)相同的名字,否則會產(chǎn)生一個致命的錯誤。這篇文章主要介紹了PHP命令空間namespace及use的用法實踐總結(jié),需要的朋友可以參考下
    2017-11-11
  • MacOS下PHP7.1升級到PHP7.4.15的方法

    MacOS下PHP7.1升級到PHP7.4.15的方法

    這篇文章主要介紹了MacOS下PHP7.1升級到PHP7.4.15的方法,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • PHP生成唯一ID之SnowFlake算法

    PHP生成唯一ID之SnowFlake算法

    snowflake算法是個啥?首先我來提出個問題,怎么在分布式系統(tǒng)中生成唯一性id并保持該id大致自增?在twitter中這是最重要的業(yè)務(wù)場景,于是twitter推出了一種snowflake算法。
    2016-12-12
  • php遍歷文件夾和文件列表示例分享

    php遍歷文件夾和文件列表示例分享

    這篇文章主要介紹了php遍歷文件夾和文件列表示例,需要的朋友可以參考下
    2014-03-03

最新評論

海林市| 石林| 麻江县| 禄丰县| 辛集市| 和硕县| 黎城县| 保定市| 航空| 什邡市| 汨罗市| 蓬安县| 浏阳市| 平凉市| 丁青县| 徐闻县| 福清市| 穆棱市| 永德县| 广安市| 崇仁县| 海林市| 弥勒县| 涞源县| 于都县| 南靖县| 吉木萨尔县| 德昌县| 迁安市| 郑州市| 安新县| 拜泉县| 尉氏县| 恩平市| 平利县| 苍南县| 札达县| 禄丰县| 新营市| 东山县| 新邵县|