Laravel по-русски

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

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

#1 Re: Laravel 5.x » Настройка приложения на выдачу собственной страницы 500ой ошибки » 06.08.2017 16:46:09

AlexeyMezenin, и вправду, проблема решилась. Всё намного проще, чем я думал. Ещё раз, спасибо.

#2 Re: Laravel 5.x » Настройка приложения на выдачу собственной страницы 500ой ошибки » 06.08.2017 14:45:09

Я там немного ковырялся, но по моему именно это не пробовал.
Вечером или уже завтра утром заюзаю, и отпишусь. Спасибо.

#3 Laravel 5.x » Настройка приложения на выдачу собственной страницы 500ой ошибки » 06.08.2017 11:14:14

overman
Ответов: 3

Во вьёхах есть директория errors где задаёшь собственные страницы ошибок. С 404 всё понятно, при неизвестном маршруте приложение само выдаёт вьюуху 404.blade.php. Даже в случаях когда нужно искусственно подсунуть эту страницу и статус пользователю abort(404) справляется прекрасно.

А вот при 500ой ошибке сервера при выключенном дебаге, вылетает стандартная Laravel'овская "Упс, в приложении что-то пошло не так". И как то это не очень эстетично и совсем некрасиво. Даже искусственная подтасовка abort(500) не помогает.

Гуру Laravel'a подскажите, пожалуйста, как это реализовать из коробки, оптимальнейшим способом.

P.S. Вообще Laravel 5.3, но правила думаю едины для всех пятых версий...

#4 Re: Laravel 5.x » Проблема с шифровальным ключом » 30.07.2017 17:43:51

AlexeyMezenin, спасибо, но проблему уже решил. Появилась она после переноса на продакшн. Я тупо команды выполнял одну за другой, а оказывается, сначала нужно сгенерировать ключ, потом скопипастить его в .env и после уже чистить кэш.

#5 Laravel 5.x » Проблема с шифровальным ключом » 30.07.2017 12:32:06

overman
Ответов: 2

Здравствуйте.
Laravel 5.3

Не запускается приложение. Вылетает:
RuntimeException in Encrypter.php line 43: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

Нагуглил три команды, для решения проблемы:
php artisan key:generate
php artisan config:clear
php artisan config:cache

Выполнил все три, проблема плевать на них хотела, и не собирается уходить. По прежнему выскакивает та же ошибка.

#6 Re: Laravel 5.x » Middleware не видит пользователя. » 03.07.2017 08:50:09

Проблема решилась созданием отдельной группы middleware - admin. Перенёс туда все middleware из web и добавил туда middleware admin.
И маленький, но ооочень важный нюанс, middleware admin в своей группе\массиве должен обязательно идти после middleware StartSession, в противном случае в пользователе так же будет null.

Надеюсь, кому-то поможет.
Всем спасибо.

#7 Re: Laravel 5.x » Middleware не видит пользователя. » 02.07.2017 21:25:16

Блин, нет, вроде. Очень странное поведение...
Сейчас взял код всего Middleware из офсайта документации SleepingOwl(весь код ниже). Но один фиг в $auth->user() лежит null. А на страницах Auth::user() определяется. Относительно давно не работал с Laravel, но раньше никогда такого не было...

<?php

namespace App\Http\Middleware;

use App\User;
use Closure;
use Illuminate\Support\Facades\Auth;
class Admin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @param  string|null $guard
     *
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        $auth = Auth::guard($guard);
dd($auth);
        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('login');
            }
        }

        if (! $auth->user()->isAdmin()) {
            return response('Access denied.', 401);
        }

        return $next($request);
    }
}

#8 Re: Laravel 5.x » Middleware не видит пользователя. » 02.07.2017 16:57:04

Laravel: 5.3

В ядре зарегал этот Middleware только в маршрутах. И действительно, если добавить его в группу "web" или же просто как обычный Middleware, то на всех страницах Auth::user() = null.

Создал этот Middleware для SleepingOwl. И прописал в его конфигах 'middleware' => ['admin'],
Как то так(((

#9 Re: Laravel 5.x » Запись массива в одну ячейку БД MySQL » 02.07.2017 15:42:44

JSON Вам в помощь.
Перед занесением в БД кодируйте массив в JSON, после извлечения из БД декодируйте JSON-строку.

#10 Re: Laravel 5.x » Middleware не видит пользователя. » 02.07.2017 14:47:28

просто твоя миддлварь отрабатывает слишком рано

Простите, не доходит, как сделать, чтобы она отрабатывала позже...?

#11 Re: Laravel 5.x » Middleware не видит пользователя. » 02.07.2017 12:41:47

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Contracts\Auth\Guard;

class Admin
{
    /**
     * The Guard implementation.
     *
     * @var Guard
     */
    protected $auth;

    /**
     * Create a new filter instance.
     *
     * @param  Guard  $auth
     * @return void
     */
    public function __construct(Guard $auth)
    {
        $this->auth = $auth;
    }
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return response
     */
    public function handle($request, Closure $next)
    {

dd($this->auth->check());

        return $next($request);
    }
}

#12 Laravel 5.x » Middleware не видит пользователя. » 02.07.2017 11:52:13

overman
Ответов: 12

Laravel: 5.3

Зарегал пользователя admin. Везде на страницах он определяется:
Auth::check() - true
Auth::user() - данные пользователя
Request::user() - данные пользователя

Создал middleware Admin, и в нём (даже после авторизации) получаю такие результаты:
Auth::check() - false
Auth::user() - null
Request::user() - null

Где я туплю? Направьте, пожалуйста...

#13 Re: Laravel 5.x » После установки ошибка в Index.php » 04.08.2016 08:58:02

Вопрос отклоняется. Ужасная техподдержка на хостинге, с их стороны косяк был.

#14 Re: Laravel 5.x » После установки ошибка в Index.php » 04.08.2016 08:37:58

Менял и на 5.5 и на 5.6 не помогает. Вылазит всё эта же ошибка. В чём ещё может быть? -=((

#15 Re: Laravel 5.x » Ошибка "Method links does not exist" » 30.06.2016 15:36:56

Сорри! Как опубликовал почти сразу нашёл причину -=)))))) закон подлости.
Скопипастил с предыдущего шаблона, а там была пагинация. А тут её нет. Отсюда метод линкс и весь косяк. Туплю -=))))

#16 Laravel 5.x » Ошибка "Method links does not exist" » 30.06.2016 15:26:46

overman
Ответов: 1

767f9ce52323.png

Маршрут прописан верно.
В методе возвращаю вьюху - return view('moderator.tablespage' $data);
Сам шаблон находится в директории ../views/moderator/tablespage.blade.php

Два часа уже мучаюсь, всё перепробовал не открывает страницу...

#17 Laravel 5.x » Восстановление пароля » 23.06.2016 11:11:50

overman
Ответов: 2

Вроде всё в коробке есть же. Прописал маршруты сделал вьюхи, но по переходу password/email редиректит на главную. Что может быть не так?

#18 Re: Laravel 5.x » Оптимальный способ получить данные из URI » 13.06.2016 11:59:41

AlexeyMezenin пишет:

Если английский не очень, то смотри касты, благо их на русском достаточно.

А где это кастов по Ларавелу на русском прям достаточно. Не те ли пару плэйлистов на ютюбе ты в виду имеешь?

#19 Re: Laravel 5.x » Оптимальный способ получить данные из URI » 13.06.2016 11:56:37

AlexeyMezenin пишет:
BMTH пишет:

Можно сделать инпут хидден с валуе айди новости,и потом в контроллере привязывать уже

В данном случае это не будет работать. Элемент input hidden хорош в тех случаях, когда данные в контроллер передаются методом POST при передаче данных формы.

Но ведь так и есть. Комментарий передаётся из формы методом пост, роут также post.

#20 Re: Laravel 5.x » Оптимальный способ получить данные из URI » 13.06.2016 11:03:30

BMTH, спасибо. Тоже вариант, но я уже по первому способу реализовал. Буду иметь ввиду на будущее.

#21 Re: Laravel 5.x » Админка? » 13.06.2016 09:35:18

Есть же пара не плохих админок для Ларавел. Сам далеко не спец но слышал, что frozennode и sleeping owl, вроде не дурны.

#22 Re: Laravel 5.x » Оптимальный способ получить данные из URI » 13.06.2016 08:51:39

Кажется допёр -=)))))) ну это я знаю, страницы новостей у меня так и сделаны, каждой новости по странице, айди передаётся. Но у меня на странице с новостью форма коммента, и она отправляет пост-запрос на добавление коммента на эту страницу. Вашим толчок, допёр, в атрибуте экшена формы нужно передать айди новости в маршрут(роут). Должно же как часики работать -=))))

P.S. есть книжка по Ларавелу? Или имеешь ввиду по PHP в общем -=))

#23 Laravel 5.x » Оптимальный способ получить данные из URI » 13.06.2016 08:20:32

overman
Ответов: 11

Очередной нубский вопрос. Вообще суть в том, что нужно получить айди статьи/новости. Допустим есть страница "news/23", на этой странице можно оставить коммент, естесно чтобы привязать коммент к этой новости, мне нужно айди новости. Как в Ларавеле оптимальнейше получить айди новости в этом случае?

#25 Re: Laravel 5.x » Данные юзеров в Laravel » 11.06.2016 12:15:05

AlexeyMezenin пишет:

О каких именно "данных пользователя после авторизации" идет речь?

О данных из таблицы пользователей в БД.

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