Рубрика «Zend Framework» - 3

imageОбсуждение идей и предложений для Zend Framework 3 идет достаточно давно, и вот наконец Zend решились на анонс новой версии фреймворка.

Zend Framework 3 будет эволюцией ZF2, с фокусом на три главных момента — простоту, повторное использование кода и производительность.

В первоочередные планы входит:

  • выделение компонентов фреймворка в индивидуальные, версионируемые проекты (привет, Symfony!);
  • особый упор будет сделан на HTTP сообщения, которые будут приведены в соответствие с PSR-7;
  • существующий full stack MVC фреймворк будет обновлен и начнет зависеть от новых независимых компонентов для повторного использования и упрощения. ZF2 MVC проекты можно будет с минимальными усилиями перенести на новую версию, для чего подготовят гайд по миграции;
  • использование концепции middleware, знакомой многим по Ruby / Python, а так же PHP-фреймворкам Slim Framework и StackPHP, в качестве более легкой альтернативы энтерпрайз-стеку фреймворка MVC (пример того, о чем идет речь);
  • возможность использования Apigility в качестве middleware;
  • оптимизация под PHP 7, при этом будет поддерживаться PHP начиная с версии 5.5;

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

Доброго времени суток! Я работаю над веб-проектом X. Проект большой, сложный и перспективный. Но, как и в любом другом проекте, есть много кода, написанного наспех с пометкой «когда-нибудь исправлю».

Пришло время исправлять.

Читая очередной мануал, я обнаружил шаблон проектирования «Active Record». Простой запрос в Google, и вот уже подруга Википедия коротко и ясно рассказала обо всём (https://ru.wikipedia.org/wiki/ActiveRecord). Смысл шаблона прост: для работы с таблицами в базе данных решено было создать специальный класс, который бы выполнял все основные действия (CRUD).
Читать полностью »

Service Manager (SM, CM) в ZF2.

Service Manager — это один из ключевых компонентов Zend Framework 2, который существенно облегчает жизнь разрабочика избавляя его от дублирования кода и рутинных операций по созданию и настройки сервисов, позволяя их конфигурировать на максимально высоком уровне. СМ, по своей натуре, является реестром сервисов, основная задача которого — создание и хранение сервисов. Можно сказать, СМ является очень продвинутой версий компонента Zend_Registry из Zend Framework 1.
СМ реалирует паттерн Service Locator. Во многих частях приложения (например, в AbstractActionController) можно встретить функции getServiceLocator(), которые возвращают класс ZendServiceManagerServiceManager. Такое несоответствие названия метода и возвращаемого типа легко объясняется тем, что getServiceLocator() возвращает объект, реализующий интерфейс ServiceLocatorInterface:
Читать полностью »

Начну с того, что Zend Framework (далее ZF) меня заинтересовал четыре года назад. Около года я присматривался к этому фреймворку, после чего наконец решился переписать самописный движок одной из веб-студий, где я тогда работал старшим программистом. С тех пор меня постоянно преследует вопрос «А почему вы выбрали ZF?». Этот вопрос мне задавали программисты, с которыми я вместе тогда работал в веб-студии; задавали партнеры веб-студии, с которыми мы делали общие проекты; спустя несколько лет мне продолжают задавать этот вопрос потенциальные работодатели на собеседованиях. В этом посте я постараюсь объяснить, зачем выбирался фреймворк взамен самописному движку и почему выбрался конкретный фреймворк. Читать полностью »

Три предыдущих года я работал тестировщиком-мануальщиком в компании, которая очень успешно разрабатывает модули под Magento. За этот период я смог накопить достаточно большой список различных подводных камней, о которых тестировщику (да и программисту) никогда нельзя забывать.
Честно говоря, это не какие-то никому не известные «подводные камни», о которых никто не знает, или о которые модуль в боевых условиях никогда не столкнётся. Это скорее всем известные фичи и места самой Magento, в взаимодействии модуля с которыми всплывает очень много, кхе-кхе, багов. Причём баги эти очень даже критичны.
Читать полностью »

Если вы хотите для множества добавленных скриптов:

$this->view->headScript()->appendFile('/static/js/script1.js');
$this->view->headScript()->appendFile('/static/js/script2.js');
$this->view->headScript()->appendFile('/static/js/script3.js');

вместо этого:

<script type="text/javascript" src="/static/js/script1.js"></script>
<script type="text/javascript" src="/static/js/script2.js"></script>
<script type="text/javascript" src="/static/js/script3.js"></script>

получить вот это:

<script type="text/javascript" src="/static/cache/bff149a0b87f5b0e00d9dd364e9ddaa0.js"></script>

тогда эта статья для вас.
Читать полностью »

Я был в шоке!!!
После 2-х недельного опроса на PHP Weekly
Первое место… та-да… Laravel
Второе Phalcon
Третье symfony
4- делят Yii с Codeigniter
Лучшие PHP фреймворки 2013Читать полностью »

Небольшой гайд по созданию простейшего RESTful api с помощью Zend framework 2 (далее zf2).

Нам потребуется zf2 v2.3@dev, а так же Doctrine 2 ORM.

Итак, начнем с создания структуры директорий нашего api:

mkdir -pv zf2-api/{config/autoload,public,module/v1/{config,src/v1/{Controller,Service,Entities}}}

Загружаем композер

curl -sS https://getcomposer.org/installer | php

Так же нам потребуется создать composer.json с такими зависимостями и установить их.

"require": {
        "php": ">=5.4",
        "zendframework/zendframework": "2.*@dev",
        "doctrine/doctrine-orm-module" :"0.*"
    }

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

Задача:

  1. Иметь метод, разбирающий на составляющие строку содержащую URL. Строка может содержать как абсолютный, так и относительный URL, и оба эти варианты должны быть правильно разобраны.
  2. Причём в стоке допустим «неправильный» формат абсолютной ссылки — без «http://». Далее по тексту ссылки «неправильного» формата будем называть неполными абсолютными ссылками.
  3. Реализовать поддержку «РФ» доменов.

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

Это вторая из трех частей статьи, посвященной разработке простого приложения при помощи Zend Framework 2. В первой части я рассмотрел структуру ZendSkeletonApplication, а в этой части приведу пример разработки простого модуля. Третья часть будет посвящена работе с пользователями и шаблонизатором Twig.

Установка и настройка дополнительных модулей

Первым делом хочу отметить, что установка стороннего модуля в Zend Framework обычно состоит из примерно таких четырех шагов:

  1. добавляем соответствующую строчку в composer.json, чтобы сообщить Композеру о новом модуле,
  2. выполняем команду php composer.phar update, чтобы Композер загрузил новый модуль и при необходимости перегенерировал автолоад файлы,
  3. добавляем новый модуль в список modules в файле config/application.config.php,
  4. при необходимости, размещаем конфигурационный файл модуля (обычно пример такого файла находится в папке config модуля) в config/autoload и делаем в нем необходимые правки.

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

Давайте начнем с установки простого, но полезного модуля Zend Developer Tools.
Читать полностью »


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