DIY 实现 ThinkPHP 核心框架(六)实现自己的 Composer 包
创建自己的包
可以将项目需要的功能打包以实现共享,提升效率。创建包基础目录 /home/source/str_trans
,在该目录创建 src
目录 和 src/Str.php
文件实现对字符串的操作。
namespace StrTrans;
class Str
{
// 字符串的长度
public static function length($str)
{
return strlen($str);
}
// 字符首次出现的位置
public static function postion($text, $str)
{
return strpos($text, $str);
}
// 将字符串全部大写
public static function capitalize($str)
{
return strtoupper($str);
}
}
在基础目录下创建 composer.json
文件
{
"name": "str_trans/str_trans", // 供应商名称和项目名称
"description": "The trans of string", // 包的简要描述
"license": "AGPL-3.0-only", // 包的许可协议
"authors": [ // 作者
{
"name": "tp",
"email": "tp@thinkphp.demo"
}
],
"minimum-stability": "alpha", // 稳定性级别
"require": { // 必须的软件包
"php": ">=7.1.0"
},
"autoload": {
"psr-4": {"StrTrans\\": "src/"}
}
}
在基础目录下运行 composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files
在基础目录创建文件 demo.php
进行测试
require './vendor/autoload.php';
$str = 'hello';
$p = 'l';
var_dump(StrTrans\Str::length($str)); // 输出:5
var_dump(StrTrans\Str::capitalize($str)); // 输出: HELLO
var_dump(StrTrans\Str::postion($str, $p)); // 输出:2
本作品采用《CC 协议》,转载必须注明作者和本文链接