2016-08-12 71 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

回答