例如我的包结构是:
vendor
|─ oceanos
|── ocean-addons
|─── src
|──── helper.php
|──── common.php
|─── composer.json
|─── README.md
{
"name": "oceanos/ocean",
"description": "ocean test",
"license": "Apache-2.0",
"minimum-stability": "dev",
"version": "0.1",
"authors": [
{
"name": "ocean",
"email": "hi@xiongweiyang.com"
}
],
"require": {
"php": ">=7.2.0",
},
"autoload": {
"psr-4": {
"Oeacn\\": "src/"//代码库的路径,前面为命名空间,src为代码存放的路径
},
"files": [
"src/common.php"//这个文件会单独引入,如果有一些需要直接执行的可以再通过files里面的文件去执行
]
}
}
在 src 下写我们需要实现功能的类库,例如我们写一个类脚 helper.php(P函数),那么目录结构应该是:
|─── src
|──── helper.php
namespace Ocean;
class Helper{
private $name = "I am Mr.Xiong";
public function getName(){
return $this->name;
}
}
以上代码就实现了我们第一个基于 composer 的类库。
"autoload": {
"psr-4": {
"app\\": "application",
"Ocean\\": "vendor/oceanos/ocean-addons/src/"//本地开发测试这样导入
},
"files": [
"vendor/oceanos/ocean-addons/src/common.php"//本地开发测试这样导入
]
},
composer dump-autoload
如果在其他地方或 TP 框架中要用的话直接使用,例如在控制器当中使用。
<?php
namespace app\index\controller;
use Ocean\Helper;
class Index
{
public function index()
{
$ocean = new Ocean();
echo $ocean->getName();
}
}
这样当我们访问 index 模块里面的 index 控制器,看到输出 “I am Mr.Xiong” 说明我们成功了~恭喜你呀。
Finally,谢谢大家的阅读!祝每天开心~
版权声明:本文为博主原创文章,未经博主允许不得转载。
微信赞赏
支付宝赞赏
发表评论