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 获取某个包的安装绝对目录

相关推荐
zhangfeng11334 小时前
PHP 语法检查命令 php -l “$file“ > /dev/null 2>&1;
开发语言·php
kybs19914 小时前
springboot视频推荐系统--附源码72953
java·spring boot·python·eclipse·asp.net·php·idea
计算机安禾5 小时前
【计算机网络】第6篇:虚拟局域网——基于标签的广播域划分及其安全边界
计算机网络·安全·php
zhangfeng11337 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
zx28596340010 小时前
Laravel 7.x新特性全解析
php·laravel
zx28596340011 小时前
Laravel 4.x:颠覆PHP框架的10大革新特性
开发语言·php·laravel
xxjj998a12 小时前
PHP vs C#:核心差异全解析
开发语言·c#·php
吉吉6112 小时前
php反序列化基础知识前奏
android·php·反序列化
星光开发者13 小时前
基于springboot电动汽车租赁管理系统-计算机毕设 附源码 11217
javascript·spring boot·mysql·django·php·html5·express
xxjj998a14 小时前
PHP vs C++:性能与用途全解析
php·laravel