您好,登錄后才能下訂單哦!
這段時間比較忙,一直沒時間寫點東西,今天抽空隨便寫寫。
背景:在新公司發現一個現象,很多已經工作六七年的老程序員竟然不會用 git,也不會在網上搜索,而對于 使用 composer 開發包也就更不了解了,現在我就做個入門總結。
不說廢話,直奔主題 —— 魯迅 ^_^
參考文檔:https://laravel-china.org/docs/composer/2018
協議:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
步驟:
使用
通過 packagist 拉取github 代碼
composer create-project packagist名 project名 --prefer-dist dev-master [ 指定版本 ]
引用其他包
composer require package_name
實現自動加載:
include vendor/autoload.php
或者
修改 composer.json, 增加 autoload 配置項,files 表示要自動加載的文件,psr-4 表示要自動加載的 命名空間
classmap 一般用來對某些開發類自動加載,psr-4則是項目代碼的自動加載,psr-0基本由psr-4替代,files模式主要針對全局helper之類的function載入,配置完成后執行composer dump-autoload即可
"autoload":{
"files":[
"src/functions.php",
"",
...
],
"psr-4":{
"Leesin\\" : "src", // 前邊命名空間,后邊為目錄
}
}
composer dump / dump-autoload 按照配置文件,重新加載配置
補充:常用包結構
.
├── composer.json
├── README.md
└── src // 源碼目錄
└── Hello.php
mkdir src && touch src/Hello.php
<?php
namespace Leesin;
class Hello
{
public static function SayHello(){
return 'hello world';
}
}
配置自動加載
"autoload":{
"psr-4":{
"Leesin\\":"src/" # "命名空間\\":"目錄名稱/",表示 src 下的命名空間為 Leesin
}
}
composer dump
創建測試文件 touch test.php
<?php
require __DIR__.'/vendor/autoload.php';
use Leesin\Hello;
echo Hello::SayHello();
測試:php test.php 輸出 hello world 表示成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。