自从用了composer安装类包,一直好奇怎么搞出来的呢? 写个hello-world如何? 1. 找个位置安装(我选根目录)`$ mkdir hello-world` 2. 创建composer.json 或者 `$ composer init` 3. 创建之后是这样的 ~~~ { "name": "yourname/hello-world", // 包名 "license": "Apache-2.0", "authors": [ { "name": "youar_name", "email": "email@domain.com" } ], "require": { // 依赖 "php": ">=5.4.0", "topthink/framework": "~5.0.0", "firebase/php-jwt": "^5.0" }, "autoload": { // 重点,记得加这个(自动引入) "psr-4": { "wowphp\\": "src/" // '命名空间/引入目录' } } } ~~~ 4. 新建引入目录 `/ hello-world` , `$ mkdir src` 5. 新建 `/ hello-world / src / HelloWorld.php` ~~~ <?php namespace wowphp; // 命名空间 跟上面的psr-4 一样(当然可以自定义的) class HelloWorld { public function say() { return 'Hello, Composer!'; } } ~~~ 6. 可以用了? 当然不是啦。 还要去安装这个包 7. 进入去这个包的根目录 `$ composer install` 8. 安装完后会现一个vendor的文件夹,查看 composer / autoload_psr4.php这个文件,你应该会发现有 ‘'wowphp\\' => array($baseDir . '/src'),’这个出现的,看到它就已经安装成功的。 9. 引入使用 `application / index / controller / index.php` ~~~ <?php namespace app\index\controller; require_once '../hello-world/vendor/autoload.php'; use wowphp\HelloWorld; class Index { public function index() { $hello = new HelloWorld; echo $hello->say(); } } ~~~ 10. 运行下 $ cd public && php -S localhost:8099 11. 如无以外 浏览器会出现 'Hello, Composer!' ##### 安装未发布版本 ##### 如果自制包没有发布在composer.json中写 ~~~ "wowphp": "dev", ~~~ 安装时使用命令 composer require wowphp/hello-world:dev-master