
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

Следуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И конечно же, подборка со ссылками на свежие материалы за последние три недели.
Под катом вас также ждет конкурс с призами от компании JetBrains!
Читать полностью »

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

Когда заходит речь о разработке, мы все пытаемся найти более эффективные и быстрые способы программирования, порой не замечая, что кто-то уже сталкивался с похожей задачей, и изящно её реализовал. Что вы скажете, если мы сократим на 3/4 наш говнокод, всего лишь добавив несколько простых и эффективных зависимостей?
Для тех, кто не знает что такое Laravel 4 — это PHP фреймворк для быстрой разработки. Этот фреймворк с открытым исходным кодом на github, сделан для настоящих ремесленников веб-программирования такими же ремесленниками. Как говорится, «для программистов от программистов». Но статья не о прелестях Laravel, и не о его преимуществах перед другими фреймворками, об этом я с удовольствием расскажу в других статьях. Здесь я расскажу о пяти наиболее значимых и важных дополнений к Laravel 4, которые сэкономят вам драгоценные минуты кодинга.
О боже, ещё один пост о Inversion of Control
Каждый более-менее опытный программист встречал в своей практике словосочетание Инверсия управления (Inversion of Control). Но зачастую не все до конца понимают, что оно значит, не говоря уже о том, как правильно это реализовать. Надеюсь, пост будет полезен тем, кто начинает знакомится с инверсией управления и несколько запутался.
На днях меня пропустили на хабр с моей статьёй про небольшую библиотеку PrettyForms для клиент-серверной валидации форм. Большое спасибо за внимание и за пропуск в сообщество. Честно, мне было очень приятно наконец попасть сюда)
Во второй статье, также отчасти посвященной той библиотеке, я бы хотел рассказать всем об одном простом способе разработки динамичных приложений, на основе которого я создал ранее несколько проектов. Сразу прошу проявить терпение всех, кто использует в своих проектах AngularJS и подобные прекрасные библиотеки для написания качественных и современных веб-приложений. Я нисколько не против подобных подходов к разработке и лишь хочу показать один из, так сказать, небольших лайвхаков, с помощью которого можно делать подобные приложения)
Итак, представим, что нам нужно разработать блок комментировариев к статье на каком-то сайте. Примерно с таким же функционалом, как на хабре: есть комментарии, их можно писать, редактировать и удалять, а также голосовать за них, кликая по стрелочкам рядом с ними.
Кому хочется сразу увидеть результат работы, прошу заглянуть под спойлер. Небольшое замечание к скринкасту: сообщения об ошибках в примере отображаются с помощью простой JS-функции alert(), но данное поведение можно легко изменить. В примере же целью было лишь доказать то, что всё работает как надо.
Так каким образом можно всё это сделать? Присаживайтесь поудобнее, мы уже начинаем наш рассказ)
Читать полностью »

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Если вы когда-либо пытались выполнить следующий код для загрузки данных из вашей Eloquent модели и получали ошибку:
MyModel::with('relation')->where('relation.title', '=', $title)->orderBy('relation.field', 'asc')
То вы наверняка знаете, что Eloquent производит загрузку связанных данных отдельным запросом и ни фильтрация, ни сортировки по ним работать не будут.
В таком случае вам возможно поможет моя библиотека, которая позволяет перенести загрузку BelongsTo связей из дополнительных запросов в основной запрос с left join`ами.
Читать полностью »
Хочу поделиться с сообществом своей небольшой библиотекой, добавляющей управляющие директивы в синтаксис Laravel-шаблонизатора Blade.
Сразу небольшой пример как это выглядит:
<div bd-if="$entry->active" bd-class="$entry->active ? 'active'">
<ul>
<li bd-foreach="$entry->items as $item">{{{ $item }}}</li>
</ul>
</div>
Сейчас я приведу очень простой способ того, как можно сделать в проекте локализованное форматирование даты на фреймворке Laravel. В конечном итоге мы получим результат, при котором получая свойство модели, к примеру, created_at (timestamp формат: 2014-10-31 10:08:56) — преобразуется в «20 Октября в 19:45». Форматирование можно будет настроить по вкусу или исходя из нужд.
Читать полностью »