Yii2框架與MongoDB拓展、Redis拓展的安裝流程


@author 周煦辰 2016-03-21

這段時間新上了一個項目,使用的是Yii2框架。這里記錄一下Yii2框架、Yii2-Mongo拓展、Yii2-Redis拓展等的安裝流程。因為使用的系統是Windows,這里只說Windows下的安裝方法,不過Linux下大同小異,甚至可以說比Windows更加簡單。

安裝Composer

Composer是一個用於PHP包管理的工具。有了Composer,PHP開發的包管理就變得異常簡單。對於PHP“悠久”的歷史來說,包管理工具顯得姍姍來遲。12年3月推出alpha版本,直到今年(2016年)3月才推出第一個beta版本,不過不管怎么說,PHP終於還是有包管理了,這是好事。但是可能因為某些原因,Composer在國內的使用並不是非常方便。這里說一下Composer在Windows的安裝方式,以及所需要的配置。

准備工作

  1. 你要保證你的系統已經安裝了PHP,且cmd中已經有了php命令。具體的配置方式可以看我之前的博文《個人PHP開發環境的選擇與搭建》

  2. 你可能需要安裝git以及配置,安裝包的時候部分代碼可能需要從git倉庫中拉取。具體看這篇(百度經驗)[http://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html]吧,其實過程和PHP的環境配置一毛一樣。

下載及安裝

官方有一個用命令安裝Composer的方式,具體文檔在這里:Composer-Download。但是我一直卡在簽名驗證這一步,一怒之下使用“傻瓜安裝”,即直接下載Composer-Setup.exe,安裝完事。打開cmd,輸入composer,如果出現Composer的幫助頁面,即表示Composer安裝成功。

必要的配置

為了規避上述的“某些原因”,我們需要對Composer做一些配置,以達到在國內流暢使用Composer的目的。Composer的境外鏡像在https://packagist.org/,但是常常訪問不了,為了解決這個問題,可以訪問國內的全量鏡像
具體的配置方法其實網站上也有,其實很簡單,直接打開cmd,輸入以下命令即可。

composer config -g repo.packagist composer https://packagist.phpcomposer.com

需要注意的是,這種配置方式是全局式的,一勞永逸。如果需要具體的項目配置不同的鏡像,可以到項目根目錄(就是有composer.json文件的那個文件夾),右鍵->use composer here,然后輸入以下命令即可。當然了現在你還沒有使用Composer下載任何項目到你的電腦,這種方法暫時可以忽略。

composer config repo.packagist composer https://packagist.phpcomposer.com

安裝Yii2框架

安裝Yii2框架的方法在Yii官網Yii中文網上都有說明,因為有了Composer,也就是一行命令的事。這里推薦看官方的英文文檔,因為英文的文檔一直有在更新,中文文檔不僅翻譯進度堪憂,而且相比於官方文檔已經落后很多。

建議在安裝Yii2之前先運行composer self-update命令,使Composer版本保持最新。之前安裝Yii2的時候遇到過因為Composer版本過低而導致自動載入函數出現錯誤的問題,現在大概已經解決了。

然后運行如下兩個命令

composer global require "fxp/composer-asset-plugin:~1.1.1"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

說明一下,第一個命令是安裝Composer asset plugin,用於管理bower和npm包,反正你遲早要用的,全局安裝就是。

第二個命令是在當前目錄安裝Yii2框架basic版本,相應的Yii2框架也存在Advanced版本,你可以根據你項目的大小選擇框架的版本,不過對於初學Yii框架的人來說Basic版本足矣。命令最后一個參數basic只是表示放置框架文件的文件夾名稱,你可以隨便設置。

安裝Yii2的過程中,可能會向你索取一個github的Personal access tokens,到你的github主頁(什么你沒有github賬號? 怎么可以沒有,趕緊注冊一個)Personal settings里設置一個就是了,記得保存,一旦你把頁面關閉,你就再也看不到它了。

安裝結束之后你需要在/basic/config/web.phpcookieValidationKey配置項下填入一個key,否則運行框架會報錯。

使用瀏覽器(我已經默認你已安裝了服務器軟件(例如apache)以及php,且已經開啟)訪問到localhost/basic/web(默認你將框架文件放在服務器根目錄)即可看到框架的Demo頁面。


至此Yii2框架已經安裝完畢,如果你的項目數據庫采用的是MySQL,那么恭喜你,Yii2對於MySQL的支持非常完善,尤其是ActiveRecord的使用更是方便了開發人員進行數據庫操作。但是如果你想要使用NoSQL類型的數據庫(例如MongoDB)且也想使用Yii2的ActiveRecord怎么辦?Yii官方提供了MongoDB拓展,安裝即可。

安裝MongoDB拓展

Yii2是天然支持MySQL以及一些主流的數據庫的,具體的支持列表可以看一下官方文檔。可以注意到官方提供的驅動里並沒有MongoDB,那么如果想要使用諸如MongoDB這樣的非關系型數據庫怎么辦?可喜的是,官方其實是提供了MongoDB的拓展的,但是需要自行下載安裝。具體的文檔在Yii2的官方網站上有提供,可以點擊查看

安裝composer的拓展有兩種方法,一種是在命令行下使用命令直接安裝,一種是通過修改項目下的composer配置文件,然后通過composer update進行安裝。

第一種方法:

在項目的目錄下(即有一個composer.json文件的目錄)打開命令行,輸入如下命令

composer require --prefer-dist yiisoft/yii2-mongodb

第二種方法:

在composer.json的require字段下加入如下配置,注意寫入配置的時候要嚴格按照JSON格式書寫,否則會導致composer錯誤。

"yiisoft/yii2-mongodb": "~2.0.0"

然后在當前目錄下打開命令行,運行如下命令

composer update

composer的安裝進度完成后,需要在Yii2框架的config.php文件中進行如下的修改,即將拓展的入口類及數據庫連接方式寫入配置中。

return [
    //....
    'components' => [
        'mongodb' => [
            'class' => '\yii\mongodb\Connection',
            'dsn' => 'mongodb://developer:password@localhost:27017/mydatabase',
        ],
    ],
];

具體的使用指導可以查看官方的文檔。推薦使用ActiveRecord的方式使用拓展。

安裝Redis拓展

其實安裝MongoDB拓展成功后,Redis拓展的安裝就輕車熟路了,無非也就是上述兩種方式:直接輸入命令安裝或者修改配置文件后update。官方文檔在這里,具體的安裝方法就不多贅述了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM