我如何覆盖核心 Symfony2 类?

2023-12-13

我想重写核心 Symfony2 类。

具体来说,我想覆盖供应商/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Template/TemplateReference.php,TemplateReference,以便我可以更改它找到模板的位置。这可能吗?如果可以,如何实现?


不要这样做,除非您确切地知道自己在做什么,并且 100% 确定不会破坏某些东西......

如果您使用的是 Symfony 2.0 ClassLoader 组件:

$loader->registerNamespaces(array(
    'Symfony' => array(
        __DIR__.'/../src/vendor/symfony/src',
        __DIR__.'/../vendor/symfony/src',
        __DIR__.'/../vendor/bundles',
    ),
    ...
));

要使用作曲家执行此操作,这应该可以工作,编辑您的composer.json file:

"autoload": {
    "psr-0": {
         "": "src/",
         "Symfony": "src/vendor/symfony/src/"
    }
},

这告诉自动加载器,当它尝试从Symfony命名空间,首先查看您的src/vendor/symfony/src,然后在vendor/symfony/src然后在vendor/bundles ...

然后复制您要编辑的文件:

src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Templating/TemplateReference.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何覆盖核心 Symfony2 类? 的相关文章

随机推荐