前情提要
最近在寫PHP通信接口,涉及到數(shù)據(jù)庫CRUD操作時,覺得PHP原生方法每次都要寫SQL語句,效率不高,于是嘗試使用Propel orm框架,此文記錄PHP配置Propel步驟,以作備份。
PS:其實筆者看了《PHP ORM框架Propel VS Doctrine》一文后,感覺Doctrine框架更加豐富。
寫在配置前
配置需求:
- PHP 5.5或以上
- 可支持的數(shù)據(jù)庫(MySQL, MS SQL Server, PostgreSQL, SQLite, Oracle)
配置Propel有三種途徑,分別為:
- Composer管理工具
- Git指令獲取
- Tar或Zip壓縮包
Composer
使用Composer指令需要先下載Composer工具,Propel官網(wǎng)提供了方法如下,在項目根目錄創(chuàng)建一個名為composer.json的文件,在文件中輸入內(nèi)容如下:
{
"require": {
"propel/propel": "~2.0@dev"
}
}
然后使用終端(Mac、Linux)或命令行(Windows)在項目根目錄下輸入指令如下:
// 下載composer.phar
$ wget http://getcomposer.org/composer.phar
// 如果沒有wget指令,可使用curl指令下載
$ curl -s http://getcomposer.org/installer | php
// 通過composer.phar安裝composer
$ php composer.phar
// 下載composer依賴,其中包括propel
$ composer install
但是這種方法會在執(zhí)行第一條指令時出現(xiàn)下載中斷情況!筆者嘗試翻墻,但還是下載中斷,可能與筆者的網(wǎng)速有關(guān),如果讀者們遇到這種情況,可以嘗試Composer中國鏡像推薦的方法來下載composer。
中國鏡像推薦的方法是先下載composer-setup.php文件,然后執(zhí)行該文件下載composer.phar文件,再執(zhí)行composer.phar文件,安裝Composer。這一安裝過程通過執(zhí)行如下指令實現(xiàn):
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
但是這里還是有一個坑?。?!當網(wǎng)速不是很給力的時候,第一條指令下載過來的composer-setup.php文件內(nèi)容是不完整的。如下圖所示,左邊是不完整的文件內(nèi)容,右邊是完整的文件內(nèi)容。

當文件內(nèi)容不完整時,執(zhí)行第二條指令
php composer-setup.php,會出現(xiàn)類似如下錯誤:
因此上述指令中的第一條指令需要換為手動在瀏覽器搜索欄輸入網(wǎng)址
https://getcomposer.org/installer下載文件,然后將文件名稱更改為composer-setup.php,放入項目根目錄,其他兩條指令照常執(zhí)行。通過上述操作可得到
composer.phar文件,這時候在項目根目錄新建一個名為composer.json的文件,輸入內(nèi)容如下:
{
"require": {
"propel/propel": "~2.0@dev"
}
}
然后在該文件中添加國內(nèi)鏡像,添加后的文件內(nèi)容為:
{
"require": {
"propel/propel": "~2.0@dev"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
然后執(zhí)行如下指令來安裝Composer:
$ php composer.phar
安裝完Composer后,執(zhí)行下面指令,安裝依賴,其中包括Propel:
$ composer install
這時會發(fā)現(xiàn)下載速度明顯提高了很多,但是還是要提醒讀者朋友們,在下載propel/propel的時候,是要等比較久的時間的。至此Composer方式安裝Propel的方法講解完畢。
Git
在項目根目錄執(zhí)行指令:
git clone git://github.com/propelorm/Propel2 vendor/propel
待下載完成,即可得到Propel。這種方式下載來的Propel是穩(wěn)定版的,若讀者們希望得到最新版的Propel,可到propel目錄下執(zhí)行如下指令來實現(xiàn):
$ cd myproject/vendor/propel
$ git pull
這種方式筆者有嘗試過,但是發(fā)現(xiàn)會出現(xiàn)下載中斷的現(xiàn)象!
壓縮包
除了上述兩種配置方式,還可以通過下載安裝包(壓縮包)的方式進行配置。在項目根目錄中創(chuàng)建vendor文件夾,到該文件夾中執(zhí)行下載壓縮包指令:
// 下載壓縮包
$ wget http://files.propelorm.org/propel-2.0.0.tar.gz
// 解壓壓縮包
$ tar zxvf propel-2.0.0.tar.gz
// 將解壓后的文件重命名為propel
$ mv propel-2.0.0 propel
當然讀者們也可以通過在瀏覽器搜索欄直接輸入http://files.propelorm.org/propel-2.0.0.tar.gz的方式下載壓縮包,然后將壓縮包解壓到新建的vendor文件夾中。
這種配置方式,筆者也有嘗試過,但是發(fā)現(xiàn)也會存在下載中斷或找不到資源的問題,所以筆者果斷回到第一種方式,雖然它麻煩,但是確是可以完整安裝配置Propel的方法!
參考鏈接
https://pkg.phpcomposer.com/
http://propelorm.org/documentation/01-installation.html#via-composer
寫在最后
筆者作為PHP初學(xué)者,寫這樣一篇文章多少有“關(guān)公門前耍大刀”之意,文中有錯誤的地方,歡迎在文章下方留言批評指正,感謝閱讀!