💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 基于ThinkPHP的composer扩展包开发 * http://sunnyos.com/article-show-86.html #### 1、在vendor下创建包的目录 例如我的包结构是: vendor |─ wang |── test |─── src |──── first.php |──── common.php |─── composer.json |─── README.md #### 2、composer.json ~~~ {   "name": "wang/test",   "description": "first test",   "license": "Apache-2.0",   "minimum-stability": "dev",   "version": "0.1",   "authors": [     {       "name": "wang",       "email": "admin@163.com"     }   ],   "require": {     "php": ">=7.2.0",   },   "autoload": {     "psr-4": {       "Test\\": "src/"//代码库的路径,前面为命名空间,src为代码存放的路径     },     "files": [       "src/common.php"//这个文件会单独引入,如果有一些需要直接执行的可以再通过files里面的文件去执行     ]   } } ~~~ #### 3、在src下写我们需要实现功能的类库,例如我写一个类脚Sunny.php,那么目录结构应该是 |─── src |──── First.php ~~~ namespace Test; class First{     private $name = "My name is sunny";          public function getName(){         return $this->name;     } } ~~~ 以上代码就实现了我们第一个基于composer的类库 #### 4、修改项目下的composer.json ~~~ "autoload": {     "psr-4": {       "app\\": "application",       "Yee\\": "vendor/wang/test/src/"//本地开发测试这样导入     },     "files": [       "vendor/wang/test/src/common.php"//本地开发测试这样导入     ]   }, ~~~ #### 5、执行命令更新自动加载文件 ~~~ composer dump-autoload ~~~ #### 6、进行类库功能测试 那如果在别的地方或者tp框架里面要用它的话直接使用,例如在控制器里面使用。 ~~~ <?php namespace app\index\controller; use Test\First; class Index {     public function index()     {         $first = new First();         echo $first->getName();     } } ~~~ 这样当我们访问 index 模块里面的 idnex 控制器就能看到输出 “My name is sunny” 说明我们成功了