composer 扩展库。助手库文档
composer helpers packagist
简介
death_satan/composer
作用于在有composer
管理工具的项目中。封装了上层由 composer V2
提供的 ClassLoader
和 InstallVersion
轻量级的封装,无任何第三方包集成。便捷式的使用composer V2 API
安装要求
php
>= 7.4composer
>= 2.0
安装
composer require death_satan/composer:^2.0 -vvv
类库API
SaTan\Support
便捷式方法
<?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
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
查找类的文件
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
获取某个包的安装绝对目录
世人慌慌张张,不过图碎银几两