Laravel по-русски

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

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

#2 Re: Laravel 5 » Один к одному » 07.11.2018 11:30:27

Чтобы делать это короче и не упоминать каждый раз детали реализации:

$username = Flight::find(3)->user->name;
dd($username);

оффтопик: давай переменным осмысленные имена, чтобы в будущем не запутаться. например не надо называть переменную с айди юзера $event smile

#3 Re: Laravel 5 » Trying to get property of non-object » 06.11.2018 16:32:23

Ошибка не в шаблоне, а в данных, которые ты в него передаешь. Попробуй перевести текст ошибки на русский: "Попытка получить свойство не объекта". У тебя в переменной не то, что ты думаешь: не объект. В какой именно и что - это тбе никто не скажет. Отлаживай код в отладчике или пробуй как-то вывести значения переменных, которые используешь.

#4 Re: Laravel 5 » Использование Can и Auth в Laravel 5.7 » 06.11.2018 16:26:25

Сделал так . Все нормально работает. Теперь возник вопрос насколько это криво ? big_smile

ты сделал по документации, всё работает и ты спрашиваешь "насколько это криво?". какого ответа ты ожидаешь интересно?! что делать по примерам из доков плохо или чего?

видимо именно так ты и думаешь - что доки это плохо, потому что дальше ты залогиненного пользователя пытаешься перенаправить на страницу входа.

наверное ты не знаешь что такое авторизация и аутентификация. отсюда вытекают дальнейшие непонятки.
авторизация это предоставление права на действие. в случае отсутствия такого права генерируется соответствующее исключение и нормальная реакция это страница со статусом 403.

#5 Re: Laravel 5 » Как реализовать привязку SEO-полей? » 02.11.2018 12:59:02

Ну так проблема в видимо том, что сами адреса страниц захардкодены. Этим "обычное" приложение Laravel отличается от CMS типа WP.

Это довольно естественно привязять набор полей для SEO к адресу страницы. Другими словами к маршруту. В коробочных CMS маршруты описаны через слаги (slug) и всё это, включая SEO поля, редактируется админом без помощи разработчика. Преврати приложение в CMS и будет счастье.

#6 Re: Хорошие практики (FAQ) » git, deploy на production » 26.10.2018 15:50:55

Не надо их переопределять. Они вам не мешают. Не будет обращения к классу — не будет расходов по его загрузке.

Везде используйте слеш на юниксовый манер, винда его тоже понимает.
composer.json и composer.lock должны быть закоммичены в git

#7 Re: Laravel 5 » Laravel 5.7 - Проверка на существование страницы » 25.10.2018 19:06:20

Первый mkdir явно лишний. Там вроде подразумевается формирование пути к папке.

#8 Re: Хорошие практики (FAQ) » git, deploy на production » 25.10.2018 16:39:04

Разница между продакшн и не-продакшен должна описываться в .env, который конечно же в игноре.
Мы также игнорируем robots.txt т.к. тестовые сайты содержат в нем запрет на индексацию.

Значит файл config/app.php с его локальным 'providers' => [] тоже нужно в ignore?

Нет.но возможно где-то в инициализации ты захочешь сделать if () как здесь, например, рекомендовано:
https://github.com/barryvdh/laravel-ide … /readme.md

#9 Re: Laravel 5 » Создание и обновление наследников пользователей » 23.10.2018 08:27:27

не предендую на экспертное мнение, просто поделюсь своим видением:

1. не бывает в программировании единственно правильного решения. делайте так, чтобы работало. ниже я напишу рабочий вариант.

2. "в одну строку" будет если вы создадите свой класс или функцию-хелпер, который/-ая прячет внутри себя чуть более сложные операции. сейчас ценится не экономия букв, а легкость в сопровождении.

3. похоже опять про "в одну строку" — совет тот же — делайте обёртку, которая будет прятать сложность реализации внутри себя.

4. конструкторы форм существуют, возможно кто-то так умеет, я не интересовался т.к. считаю это ненужной сложностью.

5. нет, я так не думаю. то, о чём вы пишете реализуется через полиморфные отношения, а не через наследование от класса User. попробуйте так, если интересно.


вообще сомневаюсь что на базе ActiveRecord можно получить полноценный ORM. это будет борьба с трудностями и непонятно с какой целью.

советую думать о разных пользователях как о носителях разных ролей, а не как о разных типах данных. это проще и гибче, т.к. допускается "множественность" ролей и не требуется хардкодить smile
пользователю может быть назначена роль "клиент" или "сотрудник" или "руководитель отдела маркетинга" или несколько ролей сразу. что касается разного набора полей для разных пользователей — можно создать полный набор в таблице users. ну не будут они все использоваться, не беда.

Google: laravel best rbac components

#10 Re: Laravel 5 » Как получить статьи из базы максимально захватив разные категории? » 23.10.2018 06:55:54

ПМСМ, сводится к задаче "вернуть первые N записей из каждой категории". Для SQL это непростая задача, но решаемая.
Как вычислить подходящий вам N - 1, 2 или 5 - уже не интересно smile

https://stackoverflow.com/questions/121 … ed-results

https://mobile.databasejournal.com/feat … mysql.html

Гугль-запрос: mysql get top n records for each group

#11 Re: Laravel 5 » Проблема с авторизацией на сайте. » 15.10.2018 16:03:52

Не знаю как коротко вам объяснить. Есть разница между авторизаций и аутентификацией. В приведенных фрагментах только аутентификация. Вот где у вас должна быть авторизация, то есть проверка прав, там и проверяйте роль пользователя.

И снова, раз вы сами не тянете тему, по-максимуму используйте готовые решения, описанные в офф. документации. А также популярные компоненты сторонних авторов.

https://php.ru/forum/threads/avtorizaci … ija.53234/
https://laravel.ru/docs/v5/authorization

#12 Re: Прочее » Блокировка за почтовую рассылку уведомлений в каталоге. » 15.10.2018 15:46:08

Администрация,
мне кажется топикстартер не заметил комментария, ибо он робот
похоже на рекламу какого-то говнохостинга. заношу название в личный чёрный список ;)

#13 Re: Laravel 5 » Проблема с авторизацией на сайте. » 15.10.2018 15:38:05

Это не по ларавелевским стандартам сделано.

$request->session()->flush() должна удалять сессионные данные. Если можно таки вернуться и что-то сделать, вероятно нет никаких проверок препятствующих этому. (я здесь не употребляю слов вроде "мидлварь" или "гард", т.к. похоже они просто не используются)

Я бы посоветовал сделать с нуля, используя как пример стандартный проекта Laravel, как в документации описано. "Наводить порядок" может сеньор, но никак не джун.

#14 Re: Laravel 5 » Шаблонизатор » 10.10.2018 12:46:03

Как и в любом другом месте — проверяй условие. В blade есть конструкция @if @else @endif а также работают тернарные операторы внутри выражения как ($v==’x’ ? ’a’ : ’b’)

#16 Re: Laravel 5 » Как настроить тестовый mailgun? » 06.10.2018 13:56:40

Зарегистрировать тестовый домен на майлган, получить ключ.

#17 Re: Laravel 5 » Какую версию выбрать для нового проекта в 2018? » 04.10.2018 22:59:05

Это полностью на ваше усмотрение. Версию 5.5 считают LTS *, но насколько это важно — решать вам. ПМСМ, если проект большой, то слишком часто обновлять его ядро может быть дорого.
Вот есть обсуждение на английском:
https://laracasts.com/discuss/channels/laravel/lts-or-latest-version-which-should-be-used


* LTS — long term support. Laravel 5.5 вышел в августе 2017. Исправления обещаны в течение двух лет, исправления безопасности — три года.

#18 Re: Общий раздел » Почему google не видит аккаунт на github.com » 03.10.2018 15:15:25

В смысле в поисковой выдаче его нет? Ну гугль не обещает мгновенную индексацию и не перед кем не отчитывается. Так что это нормально.

#19 Re: Laravel 5 » Как реализовать маршрут с неизвестным количеством параметров? » 02.10.2018 16:02:28

How to use laravel routing for unknown number of parameters in URL?
https://stackoverflow.com/a/31681869/272885

Но лично я бы не стал заморачиваться с "вложенными категориями", а указывал бы только последнюю.

#21 Re: Laravel 5 » Загрузка изображений в статью » 26.09.2018 12:08:03

Слишком общее описание проблемы. Критерии выбора неопределены, уровень знаний тоже.
Есть несколько уровней от готовой коробки до рассыпухи. Как будет развиваться эта тема, зависит от тебя, топикстартер.

#22 Re: Laravel 5 » Как сделать ридерект logout - на Login » 20.09.2018 20:28:59

Потому что в примере Алексея не указан неймспейс у класса Request. Либо замените его на полное имя класса в заголовке функции, либо в начале файла сделайте use Illuminate\Http\Request

#23 Re: Laravel 5 » Как написать админку на laravel с одтельным входом » 20.09.2018 20:18:07

Route::group(['namespace' => 'Admin', 'middleware'=>'auth:admin'], function() {
   Route::get('admin/home', 'HomeController@index')->name('admin.home');

   // Аутентификация
   Route::get('admin', 'Auth\LoginController@showLoginForm')->name('admin.login');
   Route::post('admin', 'Auth\LoginController@login');
});

мне кажется страничка с формой входа не должна требовать auth:admin !

#24 Re: Laravel 5 » Как написать админку на laravel с одтельным входом » 20.09.2018 20:13:52

Честно — не знаю как вам помочь не устанавливая проект себе и не пройдясь отладчиком. Чуйка подсказывает, что бесконечный редирект на странице аутентификации может быть если этот маршрут НЕ помечен как исключение для авторизующей мидлвари.

Статью бегло посмотрел, выглядит годно.

#25 Re: Laravel 5 » Как написать админку на laravel с одтельным входом » 20.09.2018 07:23:42

Может быть потому, что это не всё что нужно реализовать, а только часть.
Я бы начал не с редиректов, а с описания нового гарда в config/auth.php

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