composer 扩展库。助手库文档

composer helpers packagist


简介

death_satan/composer 作用于在有composer管理工具的项目中。封装了上层由 composer V2 提供的 ClassLoaderInstallVersion

轻量级的封装,无任何第三方包集成。便捷式的使用composer V2 API


安装要求


  • php >= 7.4
  • composer >= 2.0

安装


shell 复制代码
composer require death_satan/composer:^2.0 -vvv

类库API

SaTan\Support 便捷式方法


php 复制代码
<?php
\\ 可以引入 use Satan\Support\{method} 到当前空间内

$classLoader = \SaTan\Support\get_class_loader();

/**
 * output
 * Composer\Autoload\ClassLoader
 */
echo get_class($classLoader)."\n";


$composerHelpers = \SaTan\Support\get_composer_helpers();
/**
 * output
 * SaTan\ComposerHelpers
 */
echo get_class($composerHelpers)."\n";

/**
 * 判断当前某个包是否引入
 * output
 * Package [death_satan/array-helpers] Exists:1
 */
echo "Package [death_satan/array-helpers] Exists:".\SaTan\Support\has_package('death_satan/array-helpers');

/**
 * 获取指定包的版本
 * output
 * Package [death_satan/array-helpers] Exists:1Package [death_satan/array-helpers] Version:1.0.2.0
 */
echo "Package [death_satan/array-helpers] Version:".\SaTan\Support\get_package_version('death_satan/array-helpers');

Satan\ComposerHelpers 类方法


  • getInstallVersionHelpers return InstallVersionHelpers 获取VersionHelpers实例
  • setClassLoader 设置当前的ClassLoader实例
  • packageReference return null | string 检测包是否安装 如果包被替换或提供但没有真正安装,则将返回 null 作为参考
  • rootPackages return array 获取当前包信息
  • packageVersion return null | string 获取包的版本信息
  • getPackagePath(string $packageName) return string 获取指定包的目录
  • hasPackage(string $packageName): bool 检测某个包是否存在
  • packages(): array 返回当前所有已经安装的包列表
  • getAllRawData(bool $is_merge = true): array 返回当前加载的所有 installed.php 的原始数据
  • getClassMap(): array 获取类名映射列表
  • detectNamespace(string $namespace): string 检测命名空间是否正确,如果不正确自动补齐
  • setPsr0($namespace, $directory = false) 设置一个psr0目录|如果之前有设置则会覆盖
  • setPsr4( $namespace, $directory = false) 设置一个psr4目录|如果之前有设置则会覆盖
  • import(string $class): bool 加载给定的类或接口
  • addPsr4($namespace, $directory = null, bool $prepend = false): void 动态添加psr-4映射
  • addPsr0($namespace, $directory = null, bool $prepend = false): void 动态添加psr-0映射
  • findClassFile(string $class): false|string 查找类的文件

Satan\InstallVersionHelpers 类接口


  • getVendorPath(): string 获取vendor目录绝对路径
  • getInstallJson(string $installed_json_path = null): array 获取installed.json的内容
  • packagesRawData():array 获取原始所有包内容
  • isInstallPackage(string $packageName): bool 判断某个包是否安装
  • getPackage(string $packageName):array 获取指定包的详细信息
  • getPackageVersion(string $packageName,bool $normalized = false):?string 获取指定包的版本
  • getPackageType(string $packageName):?string 获取某个包的类型
  • getPackagePath(string $packageName):?string 获取某个包的安装绝对目录

相关推荐
zorro_z5 小时前
ThinkPHP8学习篇(六):数据库(二)
php
bug攻城狮13 小时前
VMware 中 CentOS 7 设置静态 IP
tcp/ip·centos·php
最美不过下雨天啊15 小时前
微信小程序发送订阅消息-一次订阅,一直发送消息。
微信小程序·php·一次性订阅·长期订阅
BingoGo16 小时前
PHP serialize 序列化完全指南
后端·php
天高云淡ylz21 小时前
子网掩码的隐形陷阱:为何能ping通却无法HTTPS访问
开发语言·php
乱飞的秋天1 天前
网络编程学习
网络·学习·php
Qlittleboy1 天前
tp5的tbmember表闭包查询 openid=‘abc‘ 并且(wx_unionid=null或者wx_unionid=‘‘)
数据库·sql·php
会飞的土拨鼠呀1 天前
Linux负载如何判断服务器的压力
linux·服务器·php
悠悠~飘2 天前
php学习(第二天)
开发语言·学习·php
catchadmin2 天前
开发 PHP 扩展新途径 通过 FrankenPHP 用 Go 语言编写 PHP 扩展
android·golang·php