这段时间比较忙,一直没时间写点东西,今天抽空随便写写。
背景:在新公司发现一个现象,很多已经工作六七年的老程序员竟然不会用 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。