我發展我自己的包在Laravel和我開發幫手數量龐大與我的包來使用,因此,它可以這樣使用:Laravel包
MyPackage::myfunc1();
MyPackage::myfunc2();
MyPackage::myfunc3();
....
問題是MyPackage的類( MyPackage.php)變得越來越龐大,代碼變得非常長。這給文件帶來了難以維護的可能性。
無論如何,我可以將課程拆分爲幾個文件以方便維護?或者,還有其他方法可以做到嗎?
謝謝。
我發展我自己的包在Laravel和我開發幫手數量龐大與我的包來使用,因此,它可以這樣使用:Laravel包
MyPackage::myfunc1();
MyPackage::myfunc2();
MyPackage::myfunc3();
....
問題是MyPackage的類( MyPackage.php)變得越來越龐大,代碼變得非常長。這給文件帶來了難以維護的可能性。
無論如何,我可以將課程拆分爲幾個文件以方便維護?或者,還有其他方法可以做到嗎?
謝謝。
根據要求: 文件:MyPackage的/助手/ FooUtil.php
<?PHP
namespace MyPackage\Helpers;
class FooUtil
{
}
文件:MyPackage的/助手/ BarUtil.php
<?PHP
namespace MyPackage\Helpers;
class BarUtil
{
}
實施例如何使用命名空間來單獨的類和如何在同一個命名空間中使用不同的類。欲瞭解更多信息,請閱讀:
我通常建議你閱讀有關PSR-0,這是在Symfony的/ Laravel使用正確支持自動加載,作曲家和packagist:http://petermoulding.com/php/psr PSR實際上定義瞭如何格式化名稱空間以便更全面地應用。
在您的例子正確的命名空間可能是:
Author\MyPackage\Helper\FooClass
非常感謝您的回答,但是如何讓包裝外觀鏈接到新的類文件?我嘗試通過添加'$ loader->別名('MyPackage','Vendor \ MyPackage \ AnotherClass');',但它似乎取代了現有的而不是添加。 – user1995781
你正在更換什麼現有軟件包?您可能將您的軟件包命名爲您要替換的軟件包。配置config/app.php下config目錄中的別名也更好 – Luceos
使用命名空間和分割輔助功能爲單獨的類 – Luceos
@Luceos感謝您的評論。但如果你能向我展示一個更容易理解的例子,那將會很好。 – user1995781