以下为本篇文章全部内容:
例如我的包结构是:
vendor
|─ sunnyos
|── yee-addons
|─── src
|──── Sunny.php
|──── common.php
|─── composer.json
|─── README.md
{ "name": "sunnyos/sunny", "description": "sunny test", "license": "Apache-2.0", "minimum-stability": "dev", "version": "0.1", "authors": [ { "name": "sunny", "email": "admin@sunnyos.com" } ], "require": { "php": ">=7.2.0", }, "autoload": { "psr-4": { "Yee\\": "src/"//代码库的路径,前面为命名空间,src为代码存放的路径 }, "files": [ "src/common.php"//这个文件会单独引入,如果有一些需要直接执行的可以再通过files里面的文件去执行 ] } }
|─── src
|──── Sunny.php
namespace Yee; class Sunny{ private $name = "My name is sunny"; public function getName(){ return $this->name; } }
以上代码就实现了我们第一个基于composer的类库
"autoload": { "psr-4": { "app\\": "application", "Yee\\": "vendor/sunnyos/yee-addons/src/"//本地开发测试这样导入 }, "files": [ "vendor/sunnyos/yee-addons/src/common.php"//本地开发测试这样导入 ] },
composer dump-autoload
那如果在别的地方或者tp框架里面要用它的话直接使用,例如在控制器里面使用。
<?php namespace app\index\controller; use Yee\Sunny; class Index { public function index() { $sunny = new Sunny(); echo $sunny->getName(); } }
这样当我们访问 index 模块里面的 idnex 控制器就能看到输出 “My name is sunny” 说明我们成功了
总赞数量:18274
总踩数量:128087
文章数量:29