Laravel启动函数不从命名空间内调用

时间:2013-10-07 16:37:51

标签: php namespaces laravel laravel-4

所以我正在编写一个Laravel 4应用程序并且我已经设置了命名空间。我只是想编写一些系统范围的功能,我可以从任何地方执行,主要是创建菜单/设置语言/货币等。

我有一个名为“library”的全局目录,其中当前有一个名为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获得了一个类'Library \ Menu'找不到错误。我认为这与我缺乏名称空间知识有关,所以任何清晰度都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您是否已将库路径添加到composer.json?

如果没有,只需将其添加到自动加载&gt; classmap&gt;&gt;应用程序/库

并运行artisan dump-autoload

应该没问题。