2016-08-12 29 views
0

目前我们有一个基于laravel的项目,我们所有的逻辑都位于laravel中一个名为xxx的单独文件夹中,它使用命名空间A.我们需要实现覆盖概念,按照以下方式工作如何在php命名空间项目中实现覆盖概念

我们希望在xxx的同一级别上有另一个文件夹yyy,它可能与xxx具有完全相同的文件结构。

如果有一个文件aaa.php,其中一些类在xxx中实现,如果我们在yyy中创建相同的文件,我们应该能够覆盖那里的类,在那里添加或覆盖方法。为了使用相同的类名,我们需要使用其他名称空间,例如B

所以在配置中,我们需要指定,如果我们使用名称空间A或名称空间B,并且基于此,覆盖必须工作或不。

PHP不会让你逼的命名空间乙继承一个类时,也正因为如此,非遗传性功能仍然使用命名空间A.

什么压倒一切的概念可以处理我们的需要?

+2

这正是laravel中'IoC'服务容器的构建目的。您可以轻松添加绑定到IoC的应用程序实例,然后覆盖它。看看[https://laravel.com/docs/5.2/providers](https://laravel.com/docs/5.2/providers)。 – Ohgodwhy

+0

嘿,那里,谢谢你的信息,你可以带一个简短的例子,如何服务提供商可以帮助我们的情况? – ArmeniaH

回答