Пользовательский вспомогательный класс не загружается в Laravel 4

В настоящее время я столкнулся с проблемой при попытке использовать настраиваемый вспомогательный класс в Laravel 4.
Я создал папку в app/libraries, в которой есть настраиваемый класс MenuComposer.

приложение / библиотеки / папка / MenuComposer.php

<?php
    namespace 'folder\MenuComposer'

    class MenuComposer {
      // Code here
    }

Я отредактировал composer.json для автозагрузки папки app/libraries и выполнил команду dump-autoload в консоли.

composer.json

    "autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/libraries"
    ]
},

И, наконец, я называю класс так:

View::composer('layouts.back', 'folder/MenuComposer');

Что бы я ни пытался, Laravel продолжает возвращать сообщение Class 'MenuComposer' not found

Кто-нибудь здесь знает, в чем может быть проблема?


person Jimmy C.    schedule 07.06.2013    source источник
comment
Вы пробовали composer dump-autoload?   -  person Guy Incognito    schedule 07.06.2013
comment
Как сказано в моем сообщении: Да :)   -  person Jimmy C.    schedule 07.06.2013


Ответы (1)


Ваше пространство имен должно быть объявлено следующим образом, а не в кавычках:

namespace folder\MenuComposer;

Затем Composer dump-autoload генерирует следующее в вашем "/ vendor / composer / autoload_classmap":

'folder\\MenuComposer\\MenuComposer' => $baseDir . '/app/libraries/folder/MenuComposer.php'

Это означает, что в класс можно попасть по адресу:

folder/MenuComposer/MenuComposer

Надеюсь это поможет!

person Guy Incognito    schedule 07.06.2013