Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5 » Не запускается сервис » 25.01.2018 07:32:59

Как оказалось, это мои эксперименты явились причиной такого поведения. Я как-то до этого добавил в сервис

    /**
     * Indicates if loading of the provider is deferred.
     *
     * @var bool
     */
    protected $defer = true;

Поэтому метод boot и не вызывался.
Вот тут про это можно почитать.

#2 Laravel 5 » Не запускается сервис » 24.01.2018 23:04:13

shasoft
Ответов: 1

Выполнил composer dump-autoload, перестала открываться страница. После проверки выяснилось что сервис провайдер не вызывается. Соответственно роутинг не регистрируется и поэтому не работает. Но никак не могу понять причину.
У меня 4 моих пакета
A
B=>A (использует пакет A)
C=>B,A  (использует пакеты B и A)
D=>C,B,A  (использует пакеты C, B и A)

A, C, D - запускаются сервисы. B - нет. Поставил в методе B::boot dd(123) - до неё не доходит.


Может кто-нибудь подскажет, в какую сторону смотреть?

debugbar говорит об исключении NotFoundHttpException в \vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php#179

p.s.Версия Laravel 5.5

#4 Laravel 5 » Роутинг /mylink/id => id='aaa/bbb/ccc' » 10.01.2018 06:23:04

shasoft
Ответов: 2

Мне нужно чтобы все ссылки вида /mylink/* попадали в мой роутер. Если задать маску "/mylink/{link}", то то ссылкf вида /mylink/aaa/bbb не обрабатывается. Я это обошел с помощью
'/mylink/{link1}/{link2?}/{link3?}/{link4?}/{link5?}/{link6?}/{link7?}/{link8?}/{link9?}/{link10?}/{link11?}/{link12?}'
но может есть более прямой способ?

#5 Re: Laravel 5 » На стадии разработки локально обращение к сайту fonts.googleapis.com » 10.01.2018 06:19:44

Посмотрите в файлах css. А ещё лучше сделайте поиск по папке файла с текстом fonts.googleapis.com

#6 Re: Laravel 5 » Получить данные по локальной ссылке » 07.01.2018 12:33:11

В общем оказалось что примерно по описанной мной схеме и работает. Вот решение

// А может это статический ресурс?
$filepath = public_path() . $url;
if( file_exists($filepath) ) {
	$ret = file_get_contents($filepath);
} else {
	// Ну значит это скрипт какой-то и нужно его выполнить
	$request = \Request::create($url, 'GET');
	$ret = \Route::dispatch($request)->getContent();
}

upd: Добавил вариант если запрашивается статический ресурс. В этом случае Route::dispatch($request) ничего не возвращает.

#7 Re: Laravel 5 » Получить данные по локальной ссылке » 07.01.2018 12:19:13

Это может быть что угодно. И локальный скрипт, и локальный ресурс. да и сам скрипт может вызывать шаблонизатор и тому подобное.
file_get_contents нормально сработает, но он вызовет HTTP запрос. Думал есть возможность сделать что-то типа

$req = new Request('моя ссылка')
$content = $req->run();

И в $content данные запрошенной ссылки

#8 Re: Laravel 5 » Получить данные по локальной ссылке » 07.01.2018 11:44:02

Не подойдет. Ссылка может вызывать какой это php скрипт, а данная конструкция подразумевает получение статического файла.

Судя по всему вопрос у меня не очень умный, наверное проще все-таки через file_get_contents

#9 Laravel 5 » Получить данные по локальной ссылке » 07.01.2018 11:25:09

shasoft
Ответов: 5

Есть ссылка вида /aaa/bbb/ccc.png
Нужно получить данные с этой ссылки. Само собой можно сделать обычный file_get_contents и передать туда текущий хост + этот путь. Однако в этом случае, как я понимаю, будет создано отдельное соединение для получения данных (т.е. запрос данных будет выполнен как-будто с внешнего сайта). Может можно сделать такой запрос средствами Laravel чтобы обойтись без внешнего запроса?

#10 Хорошие практики (FAQ) » Как называть пакеты в Laravel? » 28.12.2017 16:04:07

shasoft
Ответов: 1

Делаю пакет по работе с ресурсами. Как его правильно назвать:
vendor/asset
vendor/assets
?

#12 Re: Общий раздел » Создать статический ресурс "на лету" » 23.12.2017 00:11:25

А можно сделать так чтобы при команде artisan очистки кеша вызывался мой метод?

#13 Re: Общий раздел » Создать статический ресурс "на лету" » 22.12.2017 14:33:12

Торможу, не догадался глянуть в .htaccess sad
Спасибо.

p.s.хотя тут ещё нужно чистить эти данные при обновлении движка, поищу пакеты. Это же можно js и css сжимать "на лету"

#14 Общий раздел » Создать статический ресурс "на лету" » 22.12.2017 11:49:28

shasoft
Ответов: 5

Задача такая: есть архив иконок. В контроллер приходит имя иконки в архиве, я распаковываю и отдаю иконку. Само собой кеширую результат через Cache::set чтобы каждый раз не распаковывать. Но в данном случае иконка всегда одна и та же. Может можно как-то указать что это статический ресурс и его нужно сохранить и следующий раз отдавать файлбез запуска движка?

#15 Laravel 5 » Как создать morphs индекс c доп. полем » 17.12.2017 13:17:22

shasoft
Ответов: 0

Создаю таблицу вот так указываю morphs + поле index

$table->morphs('parent');
$table->integer('index')->default(0);

Само собой создаётся индекс parent_id+parent_type. Можно как-то указать чтобы к этому индексу еще поле index добавилось? Или только отдельным индексом?

#17 Re: Laravel 5 » Laravel Filemanager - ошибка 419 при Upload » 10.12.2017 21:04:07

p.s. есть подозрение что в се дело в отсутствии XSRF токена. Потому что если вызвать отдельно загрузку файла с сервера, то в этом отдельном окне загрузка успешно работает.

#18 Laravel 5 » Laravel Filemanager - ошибка 419 при Upload » 10.12.2017 20:21:45

shasoft
Ответов: 3

Поставил laravel-ckeditor. Но нет возможности загружать картинки.
Поставил Laravel Filemanager и настроил. В окошке загрузки картинки появилась вкладка загрузки с сервера. Указываю картинку, жму загрузить на сервер и получаю от скрипта загрузки ошибку 419.

Может кто-то может подсказать причину ошибки и как исправить?

p.s.судя по всему проблема с роутингом. Отключил его вообще - также ошибка 419.
Подключал вот так

Route::group(['middleware' => 'auth'], function () {
    Route::get('/laravel-filemanager', '\Unisharp\Laravelfilemanager\controllers\LfmController@show');
    Route::post('/laravel-filemanager/upload', '\Unisharp\Laravelfilemanager\controllers\UploadController@upload');
    // list all lfm routes here...
});

Подвал раздела