Может войдёшь?
Черновики Написать статью Профиль
Proger_XP

Proger_XP +148

Вступил в наши ряды: 9 апреля 2012

Замечен в последний раз: 9 января 2017

Оставил на форуме: 1 007 сообщений и 11 тем

Последнее сообщение: 4 дня назад

Сайт: laravel.ru

GitHub: ProgerXP

Вы сможете отправить письмо, если войдёте

Статьи (32)

Два шаблона проектирования, которые сделают ваши приложения лучше

перевод

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

Шаблон репозитория

Хранилище является…

REST API в ваших пакетах

перевод

Зачастую у вас появляется желание предоставить вашим пользователям разные способы взаимодействия с вашим пакетом. Обыным решением является создать REST API к вашему пакету для обработки данных.

Изначально, я хотел получить приятный одностраничный интерфейс для Laravel-FAQ. Для этого в рамках подготовки к этому я работал над созданием гибкого REST API, который позволит добавлять реализованный функционал, когда мне это понадобиться…

Шаблон проектирования "Репозиторий" в действии

перевод

Две недели назад я обсуждал статью «Два шаблона проектирования, которые сделают ваши приложения лучше». После этого появился огромный интерес к демонстрации шаблона «Репозиторий» в действии. Сегодня мы посмотрим, как репозиторий подходит для Laravel Faq Page.

Просто говоря, репозиторий — это абстрактный слой между каким-либо хранилищем и вашим приложением или бизнес-логикой. Это примерно то же, как если бы вы могли подойти к полке для книг и взять нужные из них одним движением руки. Итак, давайте посмотрим на задачи…

Интервью с Jeffrey Way (2013)

перевод

Если вы читаете наш сайт какое-то время, то вы знаете, кто такой Джеффри Вэй. Он — миф и легенда, первый человек в развитии сайта Nettuts+ и влиятельный голос в сетевом сообществе разработчиков. И сейчас он энергично берется за обучающие он-лайн курсы на Tuts+.

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

Вопрос: Читатели хотят знать, где же на самом деле Джеффри Вэй?

У Laravel появятся платные премиальные компоненты

перевод

Оригинальная статья была опубликована 5 января 2014 года — прим. пер.

Taylor Otwell — непосредственный автор и руководитель проекта Laravel — вчера неожиданно заявил, что следующая версия Laravel (4.2) станет придерживаться модели «freemium» для некоторых «не критичных» компонентов. По его словам:

Ядро фреймворка должно включать только компоненты, которые нужны большинству веб-приложений. Но как быть с тем, что нужно многим из нас? Есть кое-каких отличные компоненты, которые я хочу создать за следующие 5 месяцев…

Тейлор: "Объединяя PHP"

перевод

В течении последних нескольких недель шли активные дискуссии на тему сообщества PHP, пакетов и «фракций». Поэтому я решил высказать свою точку зрения на эти вопросы. На сегодняшний день Laravel — самый полноценный эклектичный PHP-фреймворк из всех существующих. Другими словами, Laravel — единственный полноценный фреймворк, который активно борется против фракций (разработки библиотек, подходящих под использование только в определённой среде — прим. пер.).

Laravel, в дополнение к своим собственным библиотекам вроде Eloquent и Blade, также включает целых 23 пакета из открытого сообщества…

Ответ Тейлора на статью "Не используйте фасады"

перевод

Сегодня после обеда на Reddit появилась статья, которая предостерегает пользователей Laravel от использования так называемых «фасадов» (шаблон проектирования в ООП — прим. пер.).

В случае с Laravel, фасады — это то, что используется, когда вы делаете, на первый взгляд, статический вызов метода класса. Например:

PHP
Route::get('/''HomeController@showWelcome');

Eloquent - выборка, добавление и изменение записей

перевод

Eloquent — это название для очень гибкой и выразительном ORM-системы, входящей в состав Laravel. ORM обозначает Объектно-ориентированное представление — способ доступа к вашим таблицам БД, как будто это объекты. В двух словах, это очень классно.

ORM позволяет разрабатывать приложения быстрее и, если это качественная…

Защита данных - шифрование в Laravel

перевод

Иногда вам нужно защитить свои данные. В Laravel для этого есть два метода: одностороннее и двустороннее шифрование. Посмотрим на них подробнее.

Одностороннее шифрование

Одностороннее шифрование — лучший способ для сохранения паролей или других важных пользовательских данных. «Одностороннее» значит, что вы можете преобразовать данные в зашифрованную строку, но благодаря запутанным алгоритмам и высшей математике обратное преобразование не возможно.

С помощью этого вы можете легко хранить пароли ваших пользователей — им не нужно волноваться о том, что вы…

Миграции

перевод

Миграции — одна из наиболее моих любимых возможностей в Laravel. Я очень не люблю писать SQL — и класс PHPSchema позволяет создавать нужные мне таблицы даже не вспоминая об этом пресловутом «языке программирования». Кроме того, код, использующей PHPSchema очень красив и читается так же просто, как обычный связный текст.

Если вы до сих пор не сталкивались с миграциями — это просто способ описать в одном файле изменения вашей базы данных — при этом разные…

Есть ещё статьи

Комментарии (64)

Proger_XP
  1. жутко много шума

В смысле прыжков по фасадам, которые передают вызовы в другие классы? С этим ничего не сделать, это идеология ядра Laravel. Лично мне это тоже крайне мешает отлаживать проекты отладчиком.

Proger_XP

Шестой пункт (про наставника) выглядит притянутым за уши — есть люди, которым наставник противопоказан и они гораздо лучше во всём разбираются сами. Я сам такой. А остальные пункты дельные и, на мой взгляд, подходят для каждого.

Proger_XP
  1. но и свою предыдущую, которую многие посчитали полезной.

Да, вот это определённо зря, первая статья действительно была многим очень полезна. В твоей статье ничего обидного нет, наоборот, всё объяснено и затрагивает частую проблему.

Proger_XP

Автор исходной статьи «Автозагрузка пространства имён в Laravel 5.3» решил её выпилить, так что не ищите...

Proger_XP

Да, вот это именно то, что нужно. Подробное описание со ссылками на доки.

ИМХО, вариант с изменением файлов Composer напрямую намного трудозатратней, чем собственно правильное решение — 90% пакетов уже и так на GitHub, у 90% разработчиков там тоже есть аккаунт, поэтому тыкнуть Fork и поменять URL в composer.json это дело двух минут. А через энное число дней, когда уже забыл про свои правки в vendor, не придётся биться головой об стену, пытаясь понять, с чего вдруг всё сломалось, и тратить время на поиски пакета, который внезапно «стал несовместимым».

p.s: очень много ошибок в пунктуации — я исправил, но не забывай про запятые, иначе сложно читать.

Proger_XP
  1. меня интересовал только вопрос по PATH. с остальным проблем нет.

Вы с августа его не решили? Как насчёт Google? С ходу — первый вопрос на русском SO.

shPATH=$PATH:/path/to/composer/...
export PATH
Proger_XP
  1. P.S. А я так и знал — не получится в MVC по-человечески разнести логику и оформление.

У вас все посты совершенно в одном духе — как раньше было хорошо, как сейчас плохо. Причём без фактов и примеров, просто слова в вакууме.

Какая разница между представлением и логикой, если они пересекаются? Смысл их делить? Тогда уж писать всё в одном файле, как в WordPress, и не заморачиваться модными концепциями.

Proger_XP
  1. Перечисление данных массива, разделенных запятой, когда запятую в конце ставить не нужно

Только есть проблема с пробелами — т.к. у тебя там переводы строки и отступы, то в запятой + пробеле нет смысла, т.к. они и так подставляются. А вот убрать пробелы до запятой ты убрать не сможешь (если не ставить cssfont-size: 0 и т.д.).

Если контекст позволяет, то лучше решать через CSS (исчезает возможность копировать запятую, но иногда это даже полезно):

css.nice + .nice:before { content: ", "; }

Если нет, то нужно ставить запятую после блока, причём без пробелов/новой строки перед ней, а вот это уже не так красиво.

Proger_XP

Вопросы к самому Laravel, который меняет структуру даже в минорных релизах. Перевод официальной документации, просто старой (5.1). Кто хочет помочь обновить — пишите.

z80
Proger_XP
  1. Здесь ровно то же самое. Если ты хромой программист — Laravel тебе поможет.

Вы намеренно упускаете из виду стандартизацию? Есть компания, у неё раз в N месяцев меняются кадры (пусть даже раз в год). При этом продукт компании имеет цикл жизни N*10. Итого после каждой смены имеем затраты на изучение новым человеком вашего личного велосипеда. Когда он оправдан — хорошо, но в большинстве случаев это не так.

Используя фреймворк — Laravel или любой другой популярный — таких затрат нет в принципе.

Proger_XP
  1. Во всей литературе именно V из MVC на русском переводят как представление и реже вид. А конкретный файл это шаблон.

Когда я писал «в большинстве случаев их используют», то имел в виду их применение в повседневной речи (хотя бы и здесь на форуме), а не литературе. Там же, где сейчас засилье «вью».

  1. Что касается пыхи с 5.4 и this, то остались статические анонимки.

Да, действительно, про них я забыл. PHPstatic function без PHPuse, по идее, даёт полностью анонимную функцию.

  1. Я что то устал тут приператься.

Обычный обмен мнениями.

Proger_XP

Но термин представление нравится или нет является устоявшимся когда мы говорим о слое View из MVC. Не нравится он, ну можно использовать Вид еще.

"Представление"/"вид" действительно режут слух, т.к. в большинстве случаев их используют для обозначения конкретного, гм, представления (разметки/страницы/...), т.е. шаблона, а не для обозначении V в MVC. Учитывая это лучше уж привычные, хотя и не всегда корректные "шаблон" или "макет", чем "лэйаут" или "вью".

Почему же в доке они используются то один то другой и очень вольно? Потому что в php все анонимные функции реализованы через класс Closure (Замыкание).

В большинстве (всех?) распространённых веб-языках анонимная функция использует область видимости, где она объявлена, поэтому замыкание == анонимная функция. Чисто анонимные функции можно было получить в PHP 5.3, где $this был запрещён, если опустить use. Но это такие тонкости...

Proger_XP

Смысл работать в офисе при такой обстановке в стране? Даже при хорошей обстановке офис сильно ограничивает и зависимость от «дяди» спокойствия не добавляет.

Proger_XP

Что с ней не так? Переключатель wiki/markdown в нужном положении?

Proger_XP

Город абсолютно не имеет значения, если вы работаете фрилансом, что собственно и обсуждалось. Ваша ставка не зависит от места проживания, так что доход будет даже выше вне столицы. Естественно, работать надо на Запад, и естественно на английском. Курс рубля этому ещё как способствует.

Proger_XP
  1. Но если фасад — это таки класс — я статью поправлю.

Конечно это класс, вы исходники хотя бы мельком просмотрите. «Фасад» (или «прокси») это банально объект, который раскидывает методы и поля на другой(-ие) объект через PHP__get, PHP__call и т.п. (см. магические методы).

Proger_XP

Работа от города не зависит, если английский на приемлемом уровне. Недавно на форуме обсуждали как раз это.

Proger_XP
  1. А вот удачен ли паттерн MVC — меня терзают смутные сомнения. Нет ощущения, что это все хорошо и правильно.

У меня тоже, но на сегодня он повсеместно распространён и по крайней мере можно сказать, что MVC лучше мешанины из кода, запросов к БД и вывода HTML. Любой PHP-движок времён 2000х (WordPress, phpBB, MediaWiki и так далее) отличный пример, как не надо писать код. Будь они написаны в стиле MVC — работать с ними было бы значительно легче. Как пример — OpenCart.

Наломать дров можно в любой методологии (равно как и без неё). Вопрос что лучше, что хуже. MVC явно не самое плохое, что может быть.

Proger_XP

Хотя автор, видимо, считает вообще все MVC-фреймворки «странными», статья получилась интересная как раз из-за взгляда на Laravel «с нуля». Плюсую.

Proger_XP

Ошибки нет, участок со PHPScopeInterface выделен в специальный блок для версии 5.0. В 5.1 и выше это был изменено, в чём можно убедиться в той же английской версии для ветки 5.0.

Ещё больше отзывов