php - 在composer中插入类的路径,所以我可以在php的 "use"中删除它

标签 php namespaces composer-php

在这种情况下,我有多个页脚类。现在我必须编辑“Moduler”文件来切换页脚。是否可以在 Composer 中声明页脚的版本并将“使用”路径更改为更静态的内容,例如:

use Modules\Footer;

并在 Composer 中指定页脚的版本,例如:
App\\Helpers\\Moduler\\Modules\\Views\\Footer\\Footer__2\\Footer

这是我现在使用的代码
<?php namespace App\Helpers\Moduler;

use App\Helpers\Moduler\Modules\Views\Footer\Footer__2\Footer;

class Moduler
{
    use Footer;

    public function footer()
    {
        return $this->call_footer();
    }

    public static function instance()
    {
        return new Moduler();
    }
}

最佳答案

您可以使用 class aliases为了这:

class_alias('App\Helpers\Moduler\Modules\Views\\ooter\Footer__2\Footer', 'Modules\Footer');

你可以把它放在某个文件中并使用 files 自动包含它设置在 composer.json .

但老实说,这看起来真的很丑陋,你(或将来需要处理这个问题的其他人)会后悔的。使用单独的辅助类和/或依赖注入(inject) - 这将比别名驱动的魔法特征更清晰和可预测。

关于php - 在composer中插入类的路径,所以我可以在php的 "use"中删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151953/

相关文章:

php - 将纯 PHP 项目迁移到 Yii 框架

C++ 命名空间规范是多余的还是有用的?

C++ - 是否将 const 魔数(Magic Number)放入命名空间

php - ZF2 通过 Composer 安装得到错误的 PHP 版本

php - 位于 ./foo/bar/utility/baz.php 的 Foo\Bar\Baz 类不符合 psr-4 自动加载标准。跳绳

php - 如何仅从日期时间列中选择日期?

php - 根据持续时间设置 div 宽度和填充

php - Symfony 创建的网站的自动化 GUI 测试

namespaces - 在 Clojure 中,在 ns 宏中使用 require ... as 而不是 use... 在地道上是否正确

symfony - 使用自定义值时,composer update 会不断覆盖parameters.yml