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 协议》,转载必须注明作者和本文链接
          
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: