Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Есть некоторое число своих библиотек (и классов), как мне их корректно использовать в laravel?
В директории app нет директорий типа libs, library и т.п.
И как правильно подключить саму библиотеку в коде?
Или это решается использованием моделей?
Спасибо.
Не в сети
1) Создайте директорию libs или любое на ваш взгляд название.
2) в app/start/global.php в массив directory добавьте вашу папку https://github.com/laravel/laravel/blob … al.php#L20
как пример
....
app_path().'/libs',
....
3) на такие вопросы, ответ можно найти быстрее в инете, если вы можете работать с поисковиками.
If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.
Не в сети
Спасибо. Насколько это корректное решение? Т.е. не костыль ли? Код будет поддерживаться другими и программистами, не только мной.
Гуглил по запросу "laravel свои библиотеки", но ничего не нашел.
Изменено Yurii (09.09.2014 14:51:41)
Не в сети
Решение не костыльное, но если классов планируется юзать много, можно зарегистрировать свой неймспейс и писать свои классы там, держа их в понятной иерархии папок. Неймспейс регистрируется в composer.json добавлением секции psr-0 или psr-4:
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
],
"psr-4": {
"Myapp\\": "app/Myapp"
}
Чтобы изменения подхватились надо дать команду composer dump-autoload .
Теперь в папке Myapp вы можете располагать свои классы и обращаться к ним из контроллеров/моделей/сервиспровайдеров по соответствующему неймспейсу.
Подробности гуглятся по laravel namespace , у Джеффри на http://laracasts.com все пишется в неймспейсе, можно посмотреть, вообще, можно держать там весь код приложения. В следующей версии laravel весь апплекейшн будет в неймспейсе принудительно.
Не в сети
Благодарю за развернутый ответ!
Не в сети
Страницы 1