alfredbez / oxid-dump-autoload
此包的最新版本(0.5.0)没有可用的许可信息。
0.5.0
2020-07-07 12:29 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^9
README
描述
有时将保存在oxid数据库中的模块链以简单的php文件形式存储在磁盘上很有用,例如运行静态代码分析或告诉IDE如何找到*_parent
类。这个小工具允许您生成一个php文件,该文件包含商店内部使用的所有class_alias
语句。
例如,可以在phpstan
中这样使用
$ cat phpstan.neon
parameters:
level: 0
autoload_files:
scanFiles:
- %currentWorkingDirectory%/source/oxfunctions.php
- %currentWorkingDirectory%/source/overridablefunctions.php
bootstrapFiles:
- %currentWorkingDirectory%/vendor/oxid-esales/oxideshop-ce/source/Core/Model/BaseModel.php
- %currentWorkingDirectory%/.autoload.oxid.php
请确保使用bootstrapFiles
,因为该文件包含一个class_alias()
语句列表。
psalm
的使用示例
$ cat .autoload.php
<?php
require_once 'vendor/autoload.php';
require_once '.autoload.oxid.php';
$ cat psalm.xml
<?xml version="1.0"?>
<psalm
errorLevel="6"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
autoloader=".autoload.php"
>
<projectFiles>
<directory name="." />
<ignoreFiles>
<directory name="vendor" />
<file name="metadata.php" />
</ignoreFiles>
</projectFiles>
</psalm>
安装
composer require --dev alfredbez/oxid-dump-autoload
用法
vendor/bin/oxid-dump-autoload --help
显示了通用用法信息。
要在当前工作目录中生成autoload.oxid.php
,请将-p autoload.oxid.php
添加到命令中。
选项
源代码
脚本使用商店的类链作为默认值,但您也可以通过指定metadata.php
的路径来生成模块的autoload文件。
vendor/bin/oxid-dump-autoload --source path/to/my/module/metadata.php
过滤器
您可以通过以下方式从链中过滤类
vendor/bin/oxid-dump-autoload --filter oe/,ddoe/
指定商店ID
vendor/bin/oxid-dump-autoload --shopid 5
写入文件而不是STDOUT
vendor/bin/oxid-dump-autoload -p .autoload.oxid.php
vendor/bin/oxid-dump-autoload > .autoload.oxid.php # basically the same
提供bootstrap.php
的路径
如果脚本无法找到商店的bootstrap.php
,您可以通过环境变量BOOTSTRAP_PATH
提供路径。
BOOTSTRAP_PATH=$(pwd)/source/bootstrap.php vendor/bin/oxid-dump-autoload