2013-10-07 27 views
0

因此,我正在編寫一個Laravel 4應用程序,並且我已經設置了命名空間。我只是想寫一些系統範圍的功能,我可以從任何地方執行主要是爲了創建菜單/設置語言/貨幣等Laravel啓動函數不從名稱空間內調用

我有目錄全局調用「庫」,其中目前有一個名爲Menu.php文件它看起來如下:

<?php 

namespace Library; 

use AppName\Model\Menu as MenuModel; 

class Menu { 

    public static function BuildMenu($id = 1) { 

     //retrieve menu 
     $menu = MenuModel::GetMenu($id); 

     //sort content for page 
     $data = $menu->toArray(); 
     print_r($data); 
    } 

} 

我目前試圖調用在filters.php文件BuildMenu功能有以下:

App::before(function($request) 
{ 
    // 
    View::share('Menu', Library\Menu::BuildMenu()); 
}); 

我得到一個類的庫\菜單「未找到來自laravel的錯誤。我假設這是與我缺乏名稱空間的知識有關,所以任何澄清將不勝感激。

+0

爲什麼你使用的語言框架,你不明白? –

+0

...我瞭解PHP我之前沒有使用過命名空間,因爲我一直在使用舊版應用程序。請不要評論,如果你不會有幫助 –

+0

[這也可以幫助。](http://heera.it/laravel-4-view-composer-master-layout) –

回答

1

您是否將庫路徑添加到composer.json?

如果沒有,只是把它添加到自動加載>類映射>>應用程序/庫

和運行工匠轉儲自動加載

應該罰款。

+0

我將它添加到global.php爲: app_path()。'/ library'代替。這應該執行相同的我相信? –

+0

,正如它在源代碼中提到的「除了使用Composer,您可以使用Laravel類加載器來加載您的控制器和模型...」 – unknown

相關問題