composer 扩展库。助手库文档
composer helpers packagist
简介
death_satan/composer
作用于在有composer
管理工具的项目中。封装了上层由 composer V2
提供的 ClassLoader
和 InstallVersion
轻量级的封装,无任何第三方包集成。便捷式的使用composer V2 API
安装要求
-
php
>= 7.4 -
composer
>= 2.0
安装
composer require death_satan/composer:^2.0 -vvv
类库API
SaTanSupport
便捷式方法
<?php
\ 可以引入 use SatanSupport{method} 到当前空间内
$classLoader = SaTanSupportget_class_loader();
/**
* output
* ComposerAutoloadClassLoader
*/
echo get_class($classLoader)."n";
$composerHelpers = SaTanSupportget_composer_helpers();
/**
* output
* SaTanComposerHelpers
*/
echo get_class($composerHelpers)."n";
/**
* 判断当前某个包是否引入
* output
* Package [death_satan/array-helpers] Exists:1
*/
echo "Package [death_satan/array-helpers] Exists:".SaTanSupporthas_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:".SaTanSupportget_package_version('death_satan/array-helpers');
SatanComposerHelpers
类方法
-
getInstallVersionHelpers
returnInstallVersionHelpers
获取VersionHelpers
实例 -
setClassLoader
设置当前的ClassLoader实例 -
packageReference
returnnull | string
检测包是否安装 如果包被替换或提供但没有真正安装,则将返回 null 作为参考 -
rootPackages
returnarray
获取当前包信息 -
packageVersion
returnnull | string
获取包的版本信息 -
getPackagePath(string $packageName)
returnstring
获取指定包的目录 -
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
查找类的文件
SatanInstallVersionHelpers
类接口
-
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
获取某个包的安装绝对目录