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

相关推荐
木木子2214 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
酷酷的身影15 小时前
Drivers/LedManager.cs
开发语言·php
可靠的仙人掌16 小时前
SAC(Soft Actor-Critic)算法底座
开发语言·算法·php
qq_4221525718 小时前
PDF内容复用的几种实用方法:转PPT、转图片、转长图
pdf·php·powerpoint
weixin_BYSJ19871 天前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
用户3074596982072 天前
GatewayWorker 从零到一完整指南
javascript·php
XR1234567882 天前
食品饮料与制药行业GMP合规网络建设:无尘车间的网络不能成为污染源
开发语言·网络·php
AC赳赳老秦2 天前
传感器数据自动汇总:OpenClaw 采集多类传感器数据、清洗入库、生成趋势分析
java·人工智能·python·自动化·github·php·openclaw
Dynadot_tech2 天前
如何拍卖域名
开发语言·php
发光小北2 天前
Bronze100系列plc Modbus及自由口通信案例
开发语言·php