0

だから私は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 から class 'Library\Menu' not found エラーが発生します。これは、名前空間に関する知識が不足していることと関係があると思いますので、明確にしていただければ幸いです。

4

1 に答える 1

1

ライブラリ パスを composer.json に追加しましたか?

そうでない場合は、 autoload > classmap >> app/library に追加するだけです

artisan dump-autoload を実行します

大丈夫なはずです。

于 2013-10-07T16:52:55.260 に答える