PHP5的composer學習從入門到精通
因為兩年前學習php都是學的php5.2,沒有接觸composer。現在好多項目都用上了composer,而且雖然之前之前有pecl,功能弱還不是原生支持的,用的不多,而且現在java的maven這么火,我大php的是不能落后的。
從入門到精通,只需四個步驟,解決下面四個問題即可
1.什么是composer?(入門)
Composer 是 PHP 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。默認情況下它不會在全局安裝任何東西。因此,這僅僅是一個依賴管理。--from 百度百科
百度百科基本把官網的介紹翻譯的很好,說的再明白一點,請看CSDN一篇博文的解釋。
在PHP包管理上面,PHP發展的很緩慢,導致的結果就是很少發現程序員會使用像PEAR這樣的工具。相反,大多數開發人員會選擇他們自己喜歡的框架來處理代碼,比如DB交互、ORIM’S、Oauth、Amazon S3整合等。缺點就是在轉換框架的時候(或者根本不需要返回使用框架)就感覺像在做噩夢,因為涉及到使用新工具,你必須重新學習里面的一切東西,而這并不簡單。OK,Composer來幫助你解決這些問題。--http://www.csdn.net/article/2012-07-05/2807142
2.composer的環境要求與安裝?(進階)
Composer 需要PHP5.3.2+ 以上的環境來運行。
windows下安裝:
a.使用安裝包,下載地址:https://getcomposer.org/Composer-Setup.exe
b.正常安裝
I.DOS下轉到你的PHP安裝目錄,然后運行代碼下載composer.phar (如果下載失敗,換成http再試試,螃蟹在win7測試木有問題)
C:\Users\username>cd C:\bin C:\bin>php -r "readfile('https://getcomposer.org/installer');" | phpII.運行下面的代碼創建批處理文件,并放到環境變量
C:\bin>echo @php "%~dp0composer.phar" %*>composer.batIII.關閉DOS窗口,再重新打開,運行下面代碼正常表示安裝成功(螃蟹測試是木有問題的)
C:\Users\username>composer -V Composer version 27d8904
這里螃蟹直接使用阿里云的Centos服務器來做說明
I.下載composer.phar
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
[root@************** ~]# composer -V Composer version 73e9db5d9952d52a46ecbc20a269a8c5f9c5b0*1 2014-10-07 15:03:19
3.composer的基本使用?(高級)
a.編寫composer.json文件,是基本的json格式,格式是“提供者/項目名”:"項目版本",關于版本號有很多用法,參考官網
{ "require": { "monolog/monolog": "1.0.*" } }
{ "require": { "lorenzo/cakephp-email-queue": "dev-master", "driehle/php-crypt-md5": "2.0.*@dev" }, "config" : { "vendor-dir" : "packages" } }
H:\xampp\htdocs\testcomposer>php composer.phar install Loading composer repositories with package information Installing dependencies (including require-dev)
- Installing driehle/php-crypt-md5 (dev-master 2681d97) Cloning 2681d970ada81d08d1772af2d04274588b5d6825
Writing lock file Generating autoload files</pre>
其中packages為我們需要的依賴庫,出現composer.lock就表示composer鎖定,再運行更新或下載就無效了,要重新更改composer.json下載需刪除lock文件
4.如何在項目中使用composer?(精通)
這里螃蟹演示使用php-crypt-md5這個庫,在composer里找的,用來加密的
編寫index.php
<?php include_once('./packages/autoload.php'); use Md5Crypt\Md5Crypt;$cryptedpassword = Md5Crypt::unix ("123456" ,"123"); $apachepassword = Md5Crypt::apache ("123456" , "123");
echo $cryptedpassword; echo '<br>'; echo $apachepassword;
?></pre>
運行結果:
$1$123$7mft0jKnzzvAdU4t0unTG1 $apr1$123$LrxDL9PTEgT.C.VIeb/vh1
基本沒問題了,螃蟹是基本參照官網的教程來做的,希望本次學習能讓大家都會使用composer來進行依賴管理。