• composer 扩展库。助手库文档


    composer helpers packagist


    简介

    death_satan/composer 作用于在有composer管理工具的项目中。封装了上层由 composer V2 提供的 ClassLoaderInstallVersion
    轻量级的封装,无任何第三方包集成。便捷式的使用composer V2 API


    安装要求


    • php >= 7.4
    • composer >= 2.0

    安装


    composer require death_satan/composer:^2.0 -vvv
    
    
    • 1
    • 2

    类库API

    SaTan\Support 便捷式方法


    
    \\ 可以引入 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');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

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

  • 相关阅读:
    LInux文件权限相关知识介绍
    【算法题】2903. 找出满足差值条件的下标 I
    遗传算法------微生物进化算法(MGA)
    Vue 3前端开发:患者信息查询页面
    Ubuntu 22.04 桌面美化成Mac风格
    【Linux】基础开发工具——vim入门操作
    LC1798. 你能构造出连续值的最大数目(JAVA)
    OpenCV检测圆(Python版本)
    黎曼的几何基础,维度
    【IntelliJ IDEA】切换jdk版本配置
  • 原文地址:https://blog.csdn.net/qq_42050394/article/details/132652213