Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Symfony — обзор возможностей с примерами

Лекция



Привет, Вы узнаете о том , что такое symfony , Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое symfony , настоятельно рекомендую прочитать все из категории Фреймворки. Famworks ( программная платформа).

Symfony — Введение

Веб-фреймворк PHP — это набор классов, который помогает разрабатывать веб-приложения. Symfony — это инфраструктура MVC с открытым исходным кодом для быстро развивающихся современных веб-приложений. Symfony — это полнофункциональный веб-фреймворк. Он содержит набор повторно используемых компонентов PHP. Вы можете использовать любые компоненты Symfony в приложениях независимо от платформы.

Symfony обладает огромным количеством функциональных возможностей и активным сообществом. Он имеет гибкую конфигурацию с использованием YAML, XML или аннотаций. Symfony интегрируется с независимой библиотекой и модулем PHP. Symfony в основном вдохновлен средами веб-приложений Ruby on Rails, Django и Spring. Компоненты Symfony используются во многих проектах с открытым исходным кодом, включая Composer, Drupal и phpBB.

Платформа Symfony состоит из нескольких компонентов, таких как компонент HttpFoundation, который понимает HTTP и предлагает хороший объект запроса и ответа, используемый другими компонентами. Другие являются просто вспомогательными компонентами, такими как Validator, который помогает проверять данные. Компонент ядра — это сердце системы. Ядро в основном является «основным классом», который управляет средой и отвечает за обработку http-запроса.

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

Symfony Framework — Особенности

Symfony предназначен для оптимизации разработки веб-приложений и расширяет возможности с каждым выпуском.

Некоторые из характерных особенностей Symfony Framework следующие:

  • Система на основе модели-представления-контроллера
  • Высокопроизводительный PHP-фреймворк
  • Гибкая маршрутизация URI
  • Код многоразовый и простой в обслуживании
  • Управление сессиями
  • Регистрация ошибок
  • Полнофункциональные классы баз данных с поддержкой нескольких платформ
  • Поддерживает огромное и активное сообщество
  • Набор развязанных и многоразовых компонентов
  • Стандартизация и совместимость приложений
  • Защита от подделки межсайтовых запросов и других атак
  • Шаблонный движок Twig

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

Symfony — это полнофункциональный веб-фреймворк; это очень эффективный инструмент для создания веб-приложений. Многочисленные компании предлагают услуги Symfony своим клиентам.

Ниже приведены некоторые преимущества, которые вы получаете, используя Symfony Framework.

  • Микрофрейм — Symfony может использоваться для разработки определенной функциональности. Вам не нужно перестраивать или устанавливать весь фреймворк.

  • Сокращает время разработки.

  • Очень зрелый движок шаблонов и быстро доставляет контент пользователям.

  • Совместимость и расширение — Программисты могут легко расширять все классы каркаса.

Микрофрейм — Symfony может использоваться для разработки определенной функциональности. Вам не нужно перестраивать или устанавливать весь фреймворк.

Сокращает время разработки.

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

Совместимость и расширение — Программисты могут легко расширять все классы каркаса.

Symfony Framework — Приложения

Компоненты Symfony можно использовать как часть других приложений, таких как Drupal, Laravel, phpBB, Behat, Doctrine и Joomla.

  • Drupal 8 — Drupal — это PHP-фреймворк с открытым исходным кодом для управления контентом. Drupal 8 использует основные уровни Symfony и расширяет его, чтобы обеспечить поддержку модулей Drupal.

  • Thelia — Thelia — это решение для электронной коммерции на основе Symfony. Первоначально Thelia была написана на PHP-коде и MySQL, однако она отставала в создании более быстрых приложений. Чтобы преодолеть этот недостаток, Thelia интегрировалась с Symfony для разработки приложений с возможностью индивидуальной настройки.

  • Dailymotion — Dailymotion — один из крупнейших в мире независимых сайтов о видео-развлечениях, базирующийся во Франции. Как только они решили перенести среду с открытым исходным кодом в большое сообщество, разработчики Dailymotion решили использовать функции компонентов Symfony для его гибкости.

Drupal 8 — Drupal — это PHP-фреймворк с открытым исходным кодом для управления контентом. Drupal 8 использует основные уровни Symfony и расширяет его, чтобы обеспечить поддержку модулей Drupal.

Thelia — Thelia — это решение для электронной коммерции на основе Symfony. Первоначально Thelia была написана на PHP-коде и MySQL, однако она отставала в создании более быстрых приложений. Чтобы преодолеть этот недостаток, Thelia интегрировалась с Symfony для разработки приложений с возможностью индивидуальной настройки.

Dailymotion — Dailymotion — один из крупнейших в мире независимых сайтов о видео-развлечениях, базирующийся во Франции. Как только они решили перенести среду с открытым исходным кодом в большое сообщество, разработчики Dailymotion решили использовать функции компонентов Symfony для его гибкости.

Symfony — Установка

В этой главе объясняется, как установить Symfony Framework на ваш компьютер. Установка фреймворка Symfony очень проста и легка. У вас есть два метода для создания приложений в среде Symfony. Первый метод — это использование Symfony Installer, приложения для создания проекта в среде Symfony. Второй метод — это композиторская установка. Давайте подробно рассмотрим каждый из этих методов в следующих разделах.

Системные Требования

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

  • Веб-сервер (любой из следующих)
    • WAMP (Windows)
    • ЛАМПА (Linux)
    • XAMP (мультиплатформенный)
    • MAMP (Macintosh)
    • Nginx (мультиплатформенный)
    • Microsoft IIS (Windows)
    • PHP встроенный веб-сервер разработки (мультиплатформенный)
  • Операционная система: кроссплатформенная
  • Поддержка браузера: IE (Internet Explorer 8+), Firefox, Google Chrome, Safari, Opera
  • Совместимость PHP: PHP 5.4 или более поздняя версия. Чтобы получить максимальную выгоду, используйте последнюю версию.

Для этого урока мы будем использовать встроенный веб-сервер разработки PHP.

Установщик Symfony

Symfony Installer используется для создания веб-приложений в среде Symfony. Теперь давайте настроим установщик Symfony с помощью следующей команды.

$ sudo mkdir -p /usr/local/bin 
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony 
$ sudo chmod a+x /usr/local/bin/symfony

Теперь вы установили установщик Symfony на свой компьютер.

Создайте свое первое приложение Symfony

Следующий синтаксис используется для создания приложения Symfony в последней версии.

Синтаксис

symfony new app_name

Здесь app_name — это имя вашего нового приложения. Вы можете указать любое имя, которое вы хотите.

пример

symfony new HelloWorld

После выполнения вышеуказанной команды вы увидите следующий ответ.

Downloading Symfony...  

0 B/5.5 MiB ░░░░░░░░░░░  
……………………………………………………………  
……………………………………………………………   
Preparing project...  
Symfony — обзор возможностей с примерами  Symfony 3.2.7 was successfully installed. Now you can:  
   * Change your current directory to /Users/../workspace/firstapp  
   * Configure your application in app/config/parameters.yml file.  
   * Run your application: 
      1. Execute the php bin/console server:run command. 
      2. Browse to the http://localhost:8000 URL.  
   * Read the documentation at http://symfony.com/doc 

Эта команда создает новый каталог с именем «firstapp /», который содержит пустой проект последней версии платформы Symfony.

Установить конкретную версию

Если вам нужно установить конкретную версию Symfony, используйте следующую команду.

symfony new app_name 2.8 
symfony new app_name 3.1

Установка на основе Composer

Вы можете создавать приложения Symfony с помощью Composer. Надеюсь, вы установили композитор на свой компьютер. Если композитор не установлен, скачайте и установите его.

Следующая команда используется для создания проекта с использованием композитора.

$ composer create-project symfony/framework-standard-edition app_name

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

Запуск приложения

Перейдите в каталог проекта и запустите приложение, используя следующую команду.

cd HelloWorld 
php bin/console server:run 

После выполнения вышеупомянутой команды откройте браузер и запросите URL http: // localhost: 8000 / . Это дает следующий результат.

Результат

Symfony — обзор возможностей с примерами

Symfony — Архитектура

Symfony — это коллекция высококачественных компонентов и комплектов. Компоненты представляют собой набор классов, обеспечивающих единую базовую функциональность. Например, компонент Cache обеспечивает функциональность кеша, которую можно добавить в любое приложение. Компоненты являются строительными блоками приложения Symfony. Symfony имеет более 30 компонентов высокого качества, которые используются во многих PHP-фреймворках, таких как Laravel, Silex и т. Д.

Пакеты похожи на плагин, но просты в создании и использовании. На самом деле, приложение Symfony само по себе является пакетом, состоящим из других пакетов. В одном пакете может использоваться любое количество компонентов Symfony, а также сторонних компонентов для предоставления таких функций, как веб-структура, доступ к базе данных и т. Д. Базовая веб-структура ядра Symfony представляет собой пакет с именем FrameworkBundle, и существует пакет с именем FrameworkExtraBundle, который предоставляет более сложные варианты написания веб-приложения.

Взаимосвязь между компонентами, пакетами и приложением Symfony указана на следующей диаграмме.

Symfony — обзор возможностей с примерами

Веб-фреймворк

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

  • FrameworkBundle
  • FrameworkExtraBundle
  • DoctrineBundle

Веб-фреймворк Symfony основан на архитектуре Model-View-Controller (MVC). Модель представляет структуру наших хозяйствующих субъектов. Просмотр показывает модели для пользователя в лучшем виде в зависимости от ситуации. Контроллер обрабатывает все запросы от пользователя, выполняет фактическую работу, взаимодействуя с моделью, и, наконец, предоставляет представлению необходимые данные для его отображения пользователю.

Веб-инфраструктура Symfony предоставляет все высокоуровневые функции, необходимые для приложения уровня предприятия. Ниже приведен простой рабочий процесс веб-приложения Symfony.

Symfony — обзор возможностей с примерами

Рабочий процесс состоит из следующих шагов.

Шаг 1. Пользователь отправляет запрос в приложение через браузер, например, http://www.symfonyexample.com/index.

Шаг 2 — Браузер отправит запрос на веб-сервер, скажем, веб-сервер Apache.

Шаг 3 — Веб-сервер направит запрос в базовый PHP, который, в свою очередь, отправит его веб-платформе Symfony.

Шаг 4 — HttpKernel является основным компонентом веб-фреймворка Symfony. HttpKernel разрешает контроллер данного запроса с использованием компонента маршрутизации и передает запрос целевому контроллеру.

Шаг 5 — Вся бизнес-логика происходит в целевом контроллере.

Шаг 6 — Контроллер будет взаимодействовать с моделью, которая, в свою очередь, взаимодействует с источником данных через Doctrine ORM.

Шаг 7 — Как только контроллер завершает процесс, он генерирует ответ сам или через View Engine и отправляет его обратно на веб-сервер.

Шаг 8. Наконец, ответ будет отправлен веб-сервером в запрошенный браузер.

Symfony — Компоненты

Как обсуждалось ранее, компоненты Symfony представляют собой автономную библиотеку PHP, предоставляющую особую функцию, которая может использоваться в любом приложении PHP. Полезные новые компоненты вводятся в каждом выпуске Symfony. В настоящее время в платформе Symfony более 30 компонентов высокого качества. Давайте узнаем об использовании компонентов Symfony в этой главе.

Установка компонента Symfony

Компоненты Symfony можно легко установить с помощью команды composer. Следующая общая команда может быть использована для установки любого компонента Symfony.

cd /path/to/project/dir 
composer require symfony/ 

Давайте создадим простое php-приложение и попробуем установить компонент Filesystem .

Шаг 1 — Создайте папку для приложения, пример файловой системы

cd /path/to/dev/folder 
mdkir filesystem-example 
cd filesystem-example 

Шаг 2 — Установите компонент Файловая система, используя следующую команду.

composer require symfony/filesystem  

Шаг 3 — Создайте файл main.php и введите следующий код.

mkdir('./sample-dir'); 
      $fs->touch('./sample-dir/text.txt'); 
   } catch (IOExceptionInterface $e) { 
      echo $e; 
   } 
?>  

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

Шаг 4 — Запустите приложение с помощью следующей команды, и оно создаст новую папку sample-dir и файл test.txt под ним.

php main.php

Детали компонентов Symfony

Symfony предоставляет компоненты, начиная от простых функций, например, файловой системы, и заканчивая расширенными функциями, например, событиями, контейнерными технологиями и внедрением зависимостей. Сообщите нам обо всех компонентах один за другим в следующих разделах.

Файловая система

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

composer require symfony/filesystem

искатель

Компонент Finder предоставляет свободные классы для поиска файлов и каталогов по указанному пути. Он обеспечивает простой способ перебора файлов в пути. Компонент Finder можно установить с помощью следующей команды.

composer require symfony/finder

Приставка

Компонент консоли предоставляет различные варианты для простого создания команд, которые могут быть выполнены в терминале. Symfony широко использует компонент Command для предоставления различных функций, таких как создание нового приложения, создание пакета и т. Д. Даже сборка PHP на веб-сервере может быть вызвана с помощью команды Symfony, сервер php bin / console: запустите, как показано в разделе установки , Компонент Console можно установить с помощью следующей команды.

composer require symfony/console

Давайте создадим простое приложение и создадим команду HelloCommand с использованием компонента Console и вызовем его.

Шаг 1 — Создайте проект с помощью следующей команды.

cd /path/to/project 
composer require symfony/console 

Шаг 2 — Создайте файл main.php и включите следующий код.

run(); 
?> 

Класс приложения устанавливает необходимые функциональные возможности простого консольного приложения.

Шаг 3 — Запустите приложение php main.php , которое даст следующий результат.

Console Tool  
Usage: 
   command [options] [arguments]  
Options: 
   -h, --help            Display this help message 
   -q, --quiet           Do not output any message 
   -V, --version         Display this application version 
         --ansi            Force ANSI output 
         --no-ansi         Disable ANSI output 
   -n, --no-interaction  Do not ask any interactive question 
   -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 
      2 for more verbose output and 3 for debug  
Available commands: 
   help  Displays help for a command 
   list  Lists commands

Шаг 4 — Создайте класс с именем HelloCommand, расширяющий класс Command, в самом main.php .

use Symfony\Component\Console\Command\Command; 
use Symfony\Component\Console\Input\InputInterface; 
use Symfony\Component\Console\Output\OutputInterface; 
use Symfony\Component\Console\Input\InputArgument;

class HelloCommand extends Command { 
}

Приложение использует следующие четыре класса, доступные в компоненте Command .

  • Команда — используется для создания новой команды

  • InputInterface — используется для установки пользовательских входов

  • InputArgument — используется для получения пользовательских данных

  • OutputInterface — используется для вывода вывода на консоль

Команда — используется для создания новой команды

InputInterface — используется для установки пользовательских входов

InputArgument — используется для получения пользовательских данных

OutputInterface — используется для вывода вывода на консоль

Шаг 5 — Создайте функцию configure () и задайте имя, описание и текст справки.

protected function configure() { 
   $this 
      ->setName('app:hello') 
      ->setDescription('Sample command, hello') 
      ->setHelp('This command is a sample command') 
} 

Шаг 6 — Создайте входной аргумент user для команды и установите его как обязательный.

protected function configure() { 
   $this 
      ->setName('app:hello') 
      ->setDescription('Sample command, hello') 
      ->setHelp('This command is a sample command') 
      ->addArgument('name', InputArgument::REQUIRED, 'name of the user'); 
}

Шаг 7 — Создайте функцию execute () с двумя аргументами InputArgument и OutputArgument .

protected function execute(InputInterface $input, OutputInterface $output) { 
}

Шаг 8 — Используйте InputArgument, чтобы получить информацию о пользователе, введенную пользователем, и распечатать ее на консоли, используя OutputArgument .

protected function execute(InputInterface $input, OutputInterface $output) { 
   $name = $input->getArgument('name'); 
   $output->writeln('Hello, ' . $name); 
}

Шаг 9 — Зарегистрируйте HelloCommand в приложении, используя метод add класса Application .

$app->add(new HelloCommand()); 

Полная заявка заключается в следующем.

setName('app:hello') 
            ->setDescription('Sample command, hello') 
            ->setHelp('This command is a sample command') 
            ->addArgument('name', InputArgument::REQUIRED, 'name of the user'); 
      }  
      protected function execute(InputInterface $input, OutputInterface $output) { 
         $name = $input->getArgument('name'); 
         $output->writeln('Hello, ' . $name);
      }  
      $app = new Application(); 
      $app->add(new HelloCommand()); 
      $app->run(); 
   }         
?>      

Шаг 10 — Теперь запустите приложение, используя следующую команду, и результатом будет Hello, Jon, как и ожидалось.

php main.php app:hello Jon

Symfony поставляется с предварительно созданным двоичным файлом, называемым console, в каталоге bin любого веб-приложения Symfony, который можно использовать для вызова команд в приложении.

Процесс

Компонент процесса предоставляет опции для запуска любой системной команды в подпроцессе безопасным и эффективным способом. Компонент процесса может быть установлен с помощью следующей команды.

composer require symfony/process

ClassLoader

Компонент ClassLoader обеспечивает реализацию для стандартного загрузчика классов PSR-0 и PSR-4 . Может использоваться для автоматической загрузки классов. Это будет амортизироваться в ближайшее время. Загрузчик классов на основе Composer предпочтительнее этого компонента. Компонент ClassLoader можно установить с помощью следующей команды.

composer require symfony/class-loader

PropertyAccess

Компонент PropertyAccess предоставляет различные параметры для чтения и записи данных объекта и массива с использованием строковой нотации. Например, массив Product с ключевой ценой может быть доступен динамически с помощью строки [price] .

$product = array( 
   'name' => 'Cake' 
   'price' => 10 
);  
var priceObj = $propertyAccesserObj->getValue($product, '[price]');

Компонент PropertyAccess можно установить с помощью следующей команды.

composer require symfony/property-access 

PropertyInfo

Компонент PropertyInfo похож на компонент PropertyAccess, однако он работает только с объектами PHP и предоставляет гораздо больше функциональных возможностей.

class Product { 
   private $name = 'Cake'; 
   private $price = 10;  
   
   public function getName() { 
      return $this->name; 
   }  
   public function getPrice() { 
      return $this->price; 
   } 
}  
$class = Product::class; 
$properties = $propertyInfoObj->getProperties($class);  
/* 
   Example Result 
   -------------- 
   array(2) { 
        => string(4) "name" 
        => string(5) "price" 
   } 
*/

Компонент PropertyInfo можно установить с помощью следующей команды.

composer require symfony/property-info

EventDispatcher

Компонент EventDispatcher обеспечивает программирование на основе событий в PHP. Это позволяет объектам общаться друг с другом, отправляя события и слушая их. Мы научимся создавать события и слушать их в главе «События и слушатели событий».

Компонент EventDispatcher можно установить с помощью следующей команды.

composer require symfony/event-dispatcher

Внедрение зависимости

Компонент DependencyInjection предоставляет простой и эффективный механизм для создания объекта с его зависимостью. Когда проект расширяется, он имеет много классов с глубокой зависимостью, которые должны быть обработаны правильно. В противном случае проект провалится. DependencyInjection предоставляет простой и надежный контейнер для обработки зависимости. Мы узнаем о контейнерах и концепции внедрения зависимостей в главе Service Container.

Компонент DependencyInjection можно установить с помощью следующей команды.

composer require symfony/dependency-injection

Serializer

Компонент Serializer предоставляет возможность конвертировать объект PHP в определенный формат, такой как XML, JSON, Binary и т. Д., А затем позволяет преобразовывать его обратно в исходный объект без потери данных.

Компонент Serializer можно установить с помощью следующей команды.

composer require symfony/serializer

конфиг

Компонент Config предоставляет опции для загрузки, анализа, чтения и проверки конфигураций типа XML, YAML, PHP и ini. Он также предоставляет различные опции для загрузки деталей конфигурации из базы данных. Это один из важных компонентов, полезных для настройки веб-приложения в четкой и лаконичной форме. Компонент Config может быть установлен с помощью следующей команды.

composer require symfony/config

ExpressionLanguage

Компонент ExpessionLanguage предоставляет полноценный механизм выражений. Выражения являются однострочными и предназначены для возврата значения. Механизм выражений позволяет легко компилировать, анализировать и получать значения из выражения. Он позволяет одному или нескольким выражениям использоваться в среде конфигурации (файле) программистом, не являющимся PHP, как говорит системный администратор. Компонент ExpressionLanguage можно установить с помощью следующей команды.

composer require symfony/expression-language

OptionsResolver

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

$options = array( 
   'host'     => '', 
   'username' => '', 
   'password' => '', 
);  
$resolver = new OptionsResolver(); 
$resolver->setDefaults(array( 
   'host'     => '', 
   'username' => '', 
   'password' => '', 
)); 
$resolved_options = $resolver->resolve($options);

Компонент OptionsResolver можно установить с помощью следующей команды.

composer require symfony/options-resolver 

Dotenv

Компонент Dotenv предоставляет различные опции для анализа файлов .env и определенной в них переменной, чтобы они были доступны через getenv (), $ _ENV или $ _SERVER . Компонент Dotenv можно установить с помощью следующей команды.

composer require symfony/dotenv

кэш

Компонент Cache обеспечивает расширенную реализацию PSR-6 . Его можно использовать для добавления кеша в наше веб-приложение. Поскольку он следует PSR-6 , его легко начать, и его можно легко использовать вместо другого компонента кэша на основе PSR-6. Компонент кэша может быть установлен с помощью следующей команды.

composer require symfony/cache 

международный

Компонент Intl является заменой библиотеки для расширения C Intl. Компонент Intl можно установить с помощью следующей команды.

composer require symfony/intl

Перевод

Компонент перевода предоставляет различные варианты интернационализации нашего приложения. Обычно сведения о переводе с разных языков хранятся в файле, по одному файлу на каждый язык, и загружаются динамически во время выполнения приложения. Существуют разные форматы для написания файла перевода. Компонент перевода предоставляет различные варианты загрузки любого типа формата, такого как обычный файл PHP, CSV, INI, JSON, Yaml, файл ресурсов ICU и т. Д. Компонент перевода можно установить с помощью следующей команды.

composer require symfony/translation

Workflow

Компонент Workflow предоставляет расширенные инструменты для обработки конечного автомата. Предоставляя эту функциональность простым и объектно-ориентированным способом, компонент Workflow позволяет относительно легко программировать на PHP. Мы узнаем об этом подробно в главе Advanced Concept.

Компонент рабочего процесса можно установить с помощью следующей команды.

composer require symfony/workflow 

YAML

Компонент Yaml предоставляет параметр, который анализирует формат файла YAML и преобразует его в PHP-массивы. Он также может записывать YAML-файл из простого массива php. Компонент Yaml можно установить с помощью следующей команды.

composer require symfony/yaml

Ldap

Компонент Ldap предоставляет PHP-классы для подключения к серверу LDAP или Active Directory и аутентификации пользователя на его основе. Предоставляет возможность подключения к контроллеру домена Windows. Компонент Ldap можно установить с помощью следующей команды.

composer require symfony/ldap

отлаживать

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

composer require symfony/debug

Секундомер

Компонент Секундомер предоставляет класс Секундомер для профилирования нашего кода PHP. Простое использование заключается в следующем.

use Symfony\Component\Stopwatch\Stopwatch; 
$stopwatch = new Stopwatch(); 
$stopwatch->start('somename');  

// our code to profile 
$profiled_data = $stopwatch->stop('somename');  
echo $profiled_data->getPeriods()

Компонент секундомера можно установить с помощью следующей команды.

composer require symfony/stopwatch

VarDumper

Компонент VarDumper обеспечивает лучшую функцию dump () . Просто включите компонент VarDumper и используйте функцию dump, чтобы получить улучшенную функциональность. Компонент VarDumper можно установить с помощью следующей команды.

composer require symfony/var-dumper

BrowserKit

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

composer require symfony/browser-kit

PHPUnit Bridge

Компонент PHPUnit Bridge предоставляет множество возможностей для улучшения среды тестирования PHPUnit. Компонент PHPUnit Bridge можно установить с помощью следующей команды.

composer require symfony/phpunit-bridge

Актив

Компонент актива обеспечивает общую обработку активов в веб-приложении. Он генерирует URL для таких ресурсов, как CSS, HTML, JavaScript, а также выполняет поддержку версий. Мы подробно рассмотрим компонент актива в главе View Engine. Компонент актива можно установить с помощью следующей команды.

composer require symfony/asset

CSSSelector

Компонент CssSelector предоставляет возможность конвертировать селекторы на основе CSS в выражение XPath. Веб-разработчик знает выражение Selectors на основе CSS больше, чем выражение XPath, но наиболее эффективным выражением для поиска элемента в документах HTML и XML является выражение XPath .

CssSelector позволяет разработчику записывать выражение в селекторах CSS , однако компонент преобразует его в выражение XPath перед его выполнением. Таким образом, разработчик имеет преимущество в простоте CSS-селекторов и эффективности выражения XPath.

Компонент CssSelector можно установить с помощью следующей команды.

composer require symfony/css-selector

DomCrawler

Компонент DomCrawler предоставляет различные варианты поиска элемента в документе HTML и XML с использованием концепции DOM. Он также предоставляет возможность использовать выражение XPath для поиска элемента. Компонент DomCrawler можно использовать вместе с компонентом CssSelector для использования селекторов CSS вместо выражения XPath. Компонент DomCrawler можно установить с помощью следующей команды.

composer require symfony/dom-crawler

форма

Компонент формы позволяет легко создавать формы в веб-приложении. Мы подробно изучим программирование форм в главе Форма. Компонент формы можно установить с помощью следующей команды.

composer require symfony/form

HttpFoundation

Компонент HttpFoundation предоставляет объектно-ориентированный уровень для спецификации HTTP. По умолчанию PHP предоставляет подробные HTTP-запросы и ответы в виде объектов на основе массива, таких как $ _GET, $ _POST, $ _FILES, $ _SESSION и т. Д. Функцию, основанную на HTTP, такую ​​как установка файла cookie, можно выполнить с помощью простой простой функции setCookie ( ) HttpFoundation предоставляет все функции, связанные с HTTP, в небольшом наборе классов, таких как Request, Response, RedirectResponse и т. Д. Об этих классах мы узнаем в следующих главах.

Компонент HttpFoundation можно установить с помощью следующей команды.

composer require symfony/http-foundation

HttpKernel

Компонент HttpKernel является основным компонентом веб-установки Symfony. Он предоставляет все функции, необходимые для веб-приложения — от получения объекта Request до отправки объекта Response . Полная архитектура веб-приложения Symfony предоставляется HttpKernel, как описано в архитектуре веб-инфраструктуры Symfony.

Компонент HttpKernel можно установить с помощью следующей команды.

composer require symfony/http-kernel

маршрутизация

Компонент маршрутизации отображает HTTP-запрос на заранее определенный набор переменных конфигурации. Маршрутизация решает, какая часть нашего приложения должна обрабатывать запрос. Мы узнаем больше о маршрутизации в главе «Маршрутизация».

Компонент маршрутизации может быть установлен с помощью следующей команды.

composer require symfony/filesystem

шаблонирование

Компонент шаблонов обеспечивает необходимую инфраструктуру для построения эффективной системы шаблонов. Symfony использует компонент Templating для реализации своего движка View. Мы узнаем больше о компоненте Templating в главе движка View.

Шаблонный компонент может быть установлен с помощью следующей команды.

composer require symfony/templating

Validator

Компонент Validator обеспечивает реализацию спецификации проверки bean-компонента JSR-303 . Его можно использовать для проверки формы в веб-среде. Мы узнаем больше о Validator в главе Validation.

Компонент валидатора можно установить с помощью следующей команды.

composer require symfony/validator

Безопасность

Компонент безопасности обеспечивает полную систему безопасности для нашего веб-приложения, будь то базовая аутентификация HTTP, дайджест-аутентификация HTTP, интерактивная аутентификация на основе форм, вход в систему сертификации X.509 и т. Д. Он также обеспечивает механизм авторизации на основе роли пользователя через встроенную систему ACL. , Мы узнаем более подробно в главе «Расширенная концепция».

Компонент безопасности может быть установлен с помощью следующей

продолжение следует...

Продолжение:


Часть 1 Symfony — обзор возможностей с примерами
Часть 2 Структура расслоения - Symfony — обзор возможностей с примерами
Часть 3 Макеты - Symfony — обзор возможностей с примерами
Часть 4 AJAX — рабочий пример - Symfony — обзор возможностей с
Часть 5 Workflow - Symfony — обзор возможностей с примерами

создано: 2020-10-11
обновлено: 2024-11-14
32



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Фреймворки. Famworks ( программная платформа)

Термины: Фреймворки. Famworks ( программная платформа)