Фреймворки

AllReady

Новичок
Официального русскоязычного сайта не существует. Достоверность любительских устаревших переводов - под большим сомнением.



Это все же документация, а не учебник, хотя мне тоже не нравится, что там до сих пор есть примеры с фасадами. Если коротко - не используй фасады вообще.
Буду знать.
Перечитал документации с офф сайта, с помощью переводчика. Конечно результат был не удовлетворительным, эту техническую документацию переводит тяжело. Все же, что можно создать на данном фреймворке, дабы использовать многие моменты с документации ? Что-нибудь оригинальное. Вроде сайта голосований. Буду стараться с офф сайта читать, английский немного знаю.
 

fixxxer

К.О.
Партнер клуба
Английский надо знать на уровне чтения тех.документации обязательно. 99% всей полезной информации на английском. Иначе будешь перебиваться переводами сделанными школьниками с хабра.
 

AllReady

Новичок
В общем тут такая ситуация возникла. У меня не было идей что делать для себя, для практики. И тут мне выпадает дипломная работа на тему: создание веб-портфолио. Мне еще никогда так не везло с темой, я давно хотел создать сайт, где я буду выкладывать свои работы. Наконец этот день настал. Подскажите пожалуйста, какие инструменты мне задействовать в разработке ? Хочу на laravel'e создать. Например я наслышан про phpunit, xdebug и т.д.. Но никогда их не юзал. Что еще порекомендуете ?
 

AnrDaemon

Продвинутый новичок
Хочешь - делай!… Только не забудь сначала сделать, а потом уже играться с phpunit, xdebug и т.д.
 

AllReady

Новичок
Уже начал работу над портфолио. У меня на главной есть навигация и 5 ссылок. Одни из них статические (например контакты, услуги и о нас). Практически меняться не будут. Собираюсь так же сделать админку,чтобы редактировать их в будущем. Все равно придет время. Но у меня тут вопрос. Правильнее под каждый раздел создавать свой контроллер ? Я считаю например, что под мою задачу достаточно создать один контроллер для работы со статическими страницами и хранить их в базе по уникальному ключу - названию страницы через функцию slug. Заодно подключу ckeditor. Недавно на гитхабе у кого-то видел, что под статические страницы были созданы отдельно контроллеры. Возможно это были только наработки. Поэтому и интересуюсь.
 

fixxxer

К.О.
Партнер клуба
Так сам соображай.
Если логика одинаковая - значит, в один. Не копипастить же одно и то же.
А если разная - то разные.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@AllReady, ты напиши хоть как-то. А если контроллер начнет разрастаться - уже можно вынести логику по методам разных котроллеров.
 

AllReady

Новичок
Сейчас делаю админку. Раньше я в контроллере всегда мог записать public function setName(Request $request) { }
Сейчас ругается на $request->input('password') - Call to undefined method Illuminate\Support\Facades\Request::input()
Метод input не найден. Выше прописано:
use Illuminate\Support\Facades\Request;
use App\Http\Requests;
Использовать фасады могу, просто записав Request::input('title'). Но тут меня ругали за них, поэтому хочу решить эту проблему.
Это после обновления такое ? laravel 5.2
 

fixxxer

К.О.
Партнер клуба
@AllReady, вот тут еще табличка соответствий, не совсем полная, но все же https://laravel.com/docs/5.2/contracts

Еще можно открыть исходник фасада - там обычно сверху комментарий вида @see, в тех случаях, когда контракт не предусмотрен - ссылайся на это.

В общем алгоритм действий такой
1) посмотреть в табличке соответствий
2) если там нет, посмотреть в исходнике фасада комментарий @see
3) перейти в реализацию класса, указанного в @see, если там есть implements КакойТоContract - ссылаться на него, если нету - ссылаться по имени этого класса.

В PhpStorm для таких переходов удобно использовать пункты меню Navigate.
 
Последнее редактирование:

AllReady

Новичок
ссылаться надо не на фасад, а на Illuminate\Http\Request;
@AllReady, вот тут еще табличка соответствий, не совсем полная, но все же https://laravel.com/docs/5.2/contracts

Еще можно открыть исходник фасада - там обычно сверху комментарий вида @see, в тех случаях, когда контракт не предусмотрен - ссылайся на это.
Спасибо большое, теперь понял. Читал документацию, в переводчике вообще ужас был
 

fixxxer

К.О.
Партнер клуба
В документации на 5.2 контракты вообще спрятаны, в меню ссылки нет, я открыл, вбив адрес ручками, только потому что помню, что такая есть.
У Тейлора, видимо, очередной приступ фасадов головного мозга.
 

AllReady

Новичок
В документации на 5.2 контракты вообще спрятаны, в меню ссылки нет, я открыл, вбив адрес ручками, только потому что помню, что такая есть.
У Тейлора, видимо, очередной приступ фасадов головного мозга.
Я честно говоря не понимаю, чем собственно фасады так плохи ? По сути же обычные функции. Напишу я Request::input или внедрю $request->input для кого будет плохо ? Для меня, если я привыкну ? Или это так сказать плохой тон ? И еще, вот Вы например знаете laravel, Вас в первую очередь заинтересовало как он построен ? Имею ввиду начиная с файла public/index Вы углублялись дальше и дальше ? Смотря что делает каждый файл и т.д.. ?
Я вот например сейчас делаю сайт, и не понимаю что, где подключается кроме файла config/app.php
 

fixxxer

К.О.
Партнер клуба
Ага. У меня ideavim и все хоткеи перебитые "под себя", я не помню, как там по дефолту
 

флоппик

promotor fidei
Команда форума
Партнер клуба
В документации на 5.2
с 5.2 творится какая-то жопа, кстати. Чего только стоит Route::auth() с захардкоженными внутри роутами и депрекейт Route::controller() и Route::controllers() без предложенной альтернативы (забивать руками 100500 урлов для админки - оцтой), пропажа контрактов, поломанный эликсир (уже вроде починили, но все же) при этом он уже был дефолтным в пакагисте. У Тейлора кажется хаос головного мозга пополам с «нужно все переписать с новыми фишечками которые я выучил» Если на фреймворк нельзя положится в плане консистентности подходов к решениям - использование его теряет смысл, т.к. это собственно основная ценность фреймворка. Я это заметил, когда у меня с новичком в обсуждениях стали регулярно появлятся фразы типа «ну это потому что эту вещь переделали в версии (5.0, 5.1, 5.2) и теперь ты должен делать в этом проекте так, в этом так, а в этом - так... »
 
  • Like
Реакции: AmdY

fixxxer

К.О.
Партнер клуба
Я честно говоря не понимаю, чем собственно фасады так плохи ?
Для того, чтобы это понять, надо поработать над крупными приложениями и на своей шкуре ощутить важность принципов SOLID.

Проблема фасадов именно в том, что это как глобальные функции.
Если у тебя в конструкторе класса 20 контрактов - сразу видно, что класс дичайше перегружен и что требуется серьезный рефакторинг.
А с фасадами этого не видно совсем.
 

fixxxer

К.О.
Партнер клуба
с 5.2 творится какая-то жопа, кстати
Да, похоже, что к 5.0 Тейлор прочитал много умных книжек, а к 5.2 решил, что это все оверинжиниринг и говно :D

Ну я ларавел совсем не канонично использую. С роутами я свою нашлепку таскаю, еще со времен 4-ки. Elixir мне как-то сразу не понравился, у меня gulp и нашлепки свои же в виде пар gulp-функций и twig-расширений.
 
Сверху