Путеводитель по Symfony: Диспетчер событий

В этом путеводителе мы будем рассматривать автономные библиотеки (также известные как «Компоненты»), предлагаемые Symfony для создания приложений.

Symfony предлагает компонент EventDispatcher, который позволяет выполнять основные зарегистрированные функции в нашем приложении.

Все основывается на следующем интерфейсе:

<?php

namespace Symfony\Component\EventDispatcher;

interface EventDispatcherInterface
{
    /**
     * @param string   $eventName
     * @param callable $listener
     * @param int      $priority  High priority listeners will be executed first
     */
    public function addListener($eventName, $listener, $priority = 0);

    /**
     * @param string $eventName
     * @param Event  $event
     */
    public function dispatch($eventName, Event $event = null);
}
Читать далее...

Путеводитель Symfony: Компонент HTTPKernel

В этом руководстве мы рассмотрим основные компоненты, с помощью которых создаются приложения:

  • HTTP Kenel и HTTP Foundation
  • Диспетчер событий
  • Маршрутизация и YAML
  • Внедрение зависимости
  • Консоль

Symfony предоставляет компопонет HttpKernel который реализует протокол HTTP: он конвертирует Request в Response.

Все вращается вокруг следующего интерфейса:

<?php

namespace Symfony\Component\HttpKernel;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

interface HttpKernelInterface
{
    const MASTER_REQUEST = 1;
    const SUB_REQUEST = 2;

    /**
     * @param Request $request
     * @param int     $type
     * @param bool    $catch   Whether to catch exceptions or not
     *
     * @return Response
     */
    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true);
}
Читать далее...

Микрофреймворк Symfony

Symfony всегда можно было использовать в качестве микрофреймворка. Среди других микрофреймворков, которые позволяют вам добавлять в них все, что пожелаете, можно выделить Empty Edition и MicroFrameworkBundle.

Существует множество критериев, за счет которых фреймворк классификацируется как «микрофреймворк». Вот некоторые из них:

  • небольшой API (использование кода фреймворка в вашем приложении)
  • мало строк кода (LOC)
  • мало зависимостей (количество используемых сторонних библиотек)
  • небольшой объем (время загрузки фреймворка)
Читать далее...

Руководство по модульному тестированию. Часть V: имитирующие методы и переопределение конструкторов

  • PHP
  • 1 год назад

В предыдущем уроке по PHPUnit вы познакомились с такими эффективными инструментами, как имитирующие объекты и методы-заглушки. Эти понятия являются залогом успешного модульного тестирования, и как только они «улягутся» у вас в голове, вы начнете понимать, насколько полезным и простым может быть тестирование.

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

Читать далее...

Руководство по модульному тестированию. Часть IV: Имитирующие объекты, методы-заглушки и внедрение зависимости

  • PHP
  • 1 год назад

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

До этого мы писали тесты для простых методов. Вызов внутреннего метода в рамках одного и того же класса, вставка блока if, но ничего особо сложного.

Читать далее...

Установка Wordpress на Ubuntu 14.04

На данный момент WordPress является самой популярной CMS (системой управления контентом) в Интернете. С ее помощью можно с легкостью создавать гибкие блоги и вебсайты на сервере MySQL с PHP-обработкой. Пользуясь огромной популярностью, WordPress это отличный способ быстро настроить и запустить вебсайт.

В этой статье мы рассмотрим установку экземпляра WordPress с веб-сервером Apache на Ubuntu 14.04. Необходимые условия

Читать далее...

Обновление до PHP 7 на CentOS 7

Версия PHP 7, выпущенная 3 декабря 2015 года, обещает значительное увеличение скорости работы по сравнению с предыдущими версиями этого языка, а также новые функции (например, подсказки скалярного типа). В этом руководстве объясняется, как быстро обновить PHP 5.x (любую версию), работающую на веб-сервере Apache или Nginx, до PHP 7 при помощи пакетов, предоставляемых сообществом разработчиков.

Читать далее...

Обновление до PHP 7 на Ubuntu 14.04

  • PHP
  • 1 год назад

Версия PHP 7, выпущенная 3 декабря 2015 года, обещает значительное увеличение скорости работы по сравнению с предыдущими версиями этого языка, а также новые функции (например, подсказки скалярного типа). В этом руководстве объясняется, как быстро обновить PHP 5.x (любую версию), работающую на веб-сервере Apache или Nginx, до PHP 7

Если у вас есть другие сервисы или приложения с активными пользователями, то лучше сначала провести тестирование.

Читать далее...