Метка «symfony» - 3

Дайджест интересных новостей и материалов из мира PHP за последние две недели №5 (17.11.2012 — 30.11.2012)

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

Приятного чтения!
Читать полностью »

SilexДавным давно, в далекой-далекой галактике существовали два основных PHP фреймворка — Symfony и ZF, которые подходили для большинства веб-приложений, срендего — большого масштаба. В отличии от них, следующие поколения этих фреймворков ориентированы на веб-приложения только большого масштаба, сайты же среднего, и, тем более, низкого уровня, на них писать более нерелевантно по отношению к затраченному времени. А после перехода во фриланс, большинство моих заказов можно отнести именно к срендему уровню. На фоне этого, начали появляться микро-фреймворки, один из которых — Silex, от разработчиков Symfony. Изначально он ориентирован на простые сайты, но его легко доработать для разработки сайтов посложнее. Читать полностью »

Дайджест интересных новостей и материалов из мира PHP за последние две недели №4 (03.11.2012 — 16.11.2012)

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

Приятного чтения!
Читать полностью »

Дайджест интересных новостей и материалов из мира PHP за последние две недели №3 (20.10.2012 — 02.11.2012)

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

Приятного чтения!
Читать полностью »

Конференция Symfony Camp UA 2012

Конференция Symfony Camp UA 2012 посвящена разработке web-приложений с использованием PHP Framework Symfony. На сегодняшний день это самая большая ежегодная конференция, которая проходит на территории СНГ. В прошлом году конференцию посетило более 200 человек.

Основные темы конференции, это:

  • Symfony2
  • Doctine 2
  • Тестирование Behat, PHPUnit
  • Разрабока Open Source проектов

Для участия необходимо пройти платную регистрацию.

Программа конференции еще формируется. Все желающие выступить с докладом на Symfony Camp UA могут подать заявку на сайте 2012.symfonycamp.org.ua.

Читать полностью »

Уже вот-вот выйдет версия Symfony 2.1, а в сообществе до сих пор нельзя реализовать «без костылей» полноценный REST, и, по-моему, здесь что-то не так. Недавно вышла статья с громким названием REST API’s with Symfony2: The Right Way, но, по существу, она лишь подтверждает мои слова. Вся проблема упирается в сериализацию и десериализацию объектов. Казалось бы, простейшая задача и решений должно быть много, но, к сожалению, нет. Давайте обо всем по порядку. Читать полностью »

Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, то вам обязательно стоит взглянуть на него в действии. Ну а если не читали, но у вас есть веб-сайт, который бы вы хотели протестировать — тоже взгляните.
Читать полностью »

Всё началось с того, что мы задумали веб портал для продажи мебели. Это веб портал для продажи предметов мебели и интерьера, и что у меня самого есть множество идей, которые мы должны реализовать в рамках будущего портала. Все эти идеи были похожи на интернет-магазин, но при этом они не совсем укладывались в рамки обычного магазина. Например, товары мы должны показывать в красивых интерьерах реальных квартир — это интересно, а главное удобно для покупателя. Значит, у нас на сайте должны быть отдельно карточки и интерьеров и товаров, которые образовывают структуры. Вот еще задачка: сам портал не имеет своего склада и логистики, а только агрегирует информацию: собирает, анализирует, красиво показывает и генерирует продажи у партнеров. Значит нужно ввести различных поставщиков, показывать различные условия доставки и т.д. Поэтому перед нами встал вопрос: что мы можем использовать, чтобы создавать портал не с нуля, но при этом иметь большую гибкость при кастомизации выбранных решений. Итак, что же у нас получилось.

Выбор LAMP
Вначале мы выбрали общий стек технологий. Здесь было просто: ведь наиболее распространённый выбор технологий для веб-порталов — это LAMP (Linux, Apache, MySQL, PHP). Мы не хотели изобретать велосипед, писать все с нуля, так как это и дорого и долго. Нам нужно было максимально быстро создать портал с использованием каких-либо библиотек/фреймворков, возможно CMS/E-commerce систем. Если LAMP технологии наиболее распространены — то значит, мы сможем найти большое количество различных open-source решений, а из них сможем выбрать что-то подходящее для «фундамента» своего портала.

Готовые E-commerce системы
Как только мы выбрали PHP и все, что с ним связано, мы начали смотреть, что уже есть готового по нашей тематике. Конечно же, мы сразу начали думать про готовые E-commerce системы, например, набирающую популярность Magento. Нашли нескольких партнеров Magento, которые занимаются кастомизацией и внедрением этой системы. Попросили сделать примерную оценку того, во сколько нам обойдется «заточить» Magento под все наши требования, включая оптимизацию быстродействия, с которым у Magento, как оказалось, есть сложности, особенно у бесплатной версии. Наши расчеты показали, что по стоимости работ и дальнейшей поддержке в краткосрочном периоде — это будет даже дороже, чем, если бы мы писали все с нуля на чистом PHP. Мы посмотрели другие E-commerce решения: osCommerce, ZenCart, PrestoShop. Здесь ситуация была примерно такая же, а может даже хуже. Таким образом, мы вернулись в исходную точку поиска.

Фреймовики и библиотеки
Тогда мы решили смотреть в сторону более общих решений: фреймворков и библиотек. Мы решили остановиться на выборе 3-ех наиболее популярных фреймворков: Zend 1.11, Symfony 2 и Yii. Здесь у нас был более технологичный подход к выбору: мы хотели полную поддержку PHP 5.3, причем, желательно, чтобы сам код фреймворка предполагал стиль написания PHP 5.3, а именно как можно больше ООП, ведь нам же это все еще поддерживать потом. От Zend отказались сразу. Он очень монструозный, а нам нужно процентов 20 от его функциональности. К тому же ожидаемый 2.0 тогда был еще в форме идей на сайтах основных разработчиков. Yii был еще очень свежий на тот момент (осень 2011 года), а мы знаем, чем бывают чреваты эти «горячие пирожки» (как показало время – версия Yii 2.0 с полной поддержкой PHP 5.3 пишется до сих пор). И мы решили не рисковать и взять наиболее готовый и стабильный продукт – Symfony 2.

ORM решения
Итак, у нас были выбраны и платформа и фреймворк: LAMP + Symfony2. Нам также нужно было решить проблему с уровнем хранения и представления данных в нашем портале. Наверное, хорошо написать что-то специфическое для себя – это и работает быстрее и меньше кода. Однако основная наша проблема была в том, что мы делали свой продукт, и у нас не было четкой и постоянной спецификации. Улучшения же (читай: частые изменения) в сущностях, их взаимосвязях и бизнес-логике, требовали какого-то гибкого решения, которое мы могли бы быстро изменять и не бояться получить массу regression багов. В данном случае мы пошли хорошо проторенной дорогой. Сейчас большую популярность набирают различные ORM решения. Это не зависит от стека технологий или домена приложения. Посему после недолгих рассуждений мы выбрали ORM Doctrine 2. Тем более что она входит как стандартный модуль в Symfony 2. К тому же, мы понимали, что с ростом объемов данных и взаимосвязей между сущностями при работе на портале, мы перейдем к использованию нереляционной СУБД, например, MongoDB, а с выбранной ORM – Doctrine это также просто реализуется.

Итого у нас получился интересный набор технологий:

LAMP + Symfony 2 + Doctrine 2.

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

Читать полностью »

Взвешенно о PHPВ последние дни было достаточно много было сказано разного про PHP. Всё началось с поста Фрактал плохого дизайна и продолжилось некоторыми неловкими попытками защитить любимый язык. Как ни крути, а в статье о «фрактале» — всё факты. Спорить с фактами бессмысленно. Давайте взглянем правде в глаза и объективно постараемся оценить сильные и слабые стороны РНР.

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

Читать полностью »

symfony logoХорошие новости для Symfony2 разработчиков, а так же для тех, кто хочет познакомиться с этим фреймворком поближе.
Вскоре после открытия офиса в Украине компания KnpLabs объявила о проведении тренингов по Symfony2.

Первые тренинги состоятся уже совсем скоро в Киеве (15-16 марта) и Харькове (29-30 марта).
Не может не радовать и философия тренинга: Меньше разговоров — больше кода!

KnpLabs активно развивает экосистему Symfony2, создавая и поддерживая такие проекты, как KnpBundles, KnpUniversity и Behat. Многим sf2 разработчикам наверняка известныЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js