<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Использование Slim PHP Framework

Использование Slim PHP Framework

В этой статье мы обсудим, что такое микрофреймворк Slim Framework и где он может быть полезен.

Slim - это PHP микрофреймворк, предназначенный для быстрого написания простых, но в тоже время мощных web приложений и API. В своей основе фреймворк Slim - это диспетчер, который получает HTTP запрос, вызывает назначенную данному запросу callback-функцию и возвращает HTTP ответ. Вот и все.

Для чего он нужен?

Slim Framework - это идеальный инструмент для создания API, которые используют, переиспользуют какие-либо данные или же предоставляют к ним доступ. Также это прекрасный инструмент для быстрого прототипирования, когда задумка требует скорейшей реализации. Кроме того, с помощью микрофреймворка Slim можно создавать полнофункциональные web-приложения с пользовательским интерфейсом. Он очень быстрый, имеет небольшую кодовую базу - только то, что нужно и больше ничего.

Как запустить?

Для начала необходимо иметь установленный web-сервер. Web-сервер необходимо настроить так, чтобы все запросы он посылал к фронт-контроллеру, т.е. к index.php. В фронт-контроллере создается, настраивается и запускается приложение. Приложение содержит маршруты (URL-адреса) , которые соответствуют конкретным HTTP запросам. Затем каждый маршрут запускает соответствующий обработчик, представляющий функцию обратного вызова, и возвращает HTTP ответ.

Запрос и ответ

При создании PHP Slim приложения, почти всегда приходиться взаимодействовать с объектами Request и Response. Эти объекты инкапсулируют HTTP запросы получаемые сервером и ответы возвращаемые им в сущности, с которыми удобно работать посредством объектно-ориентированного стиля. У каждого маршрута есть собственная callback-функция которая выполняется, если запрошенный адрес соответствует маршруту. В каждую callback-функцию предаются объекты Response и Request. Они реализуют популярный стандарт PSR 7. После получение запроса функция ДОЛЖНА вернуть объект Response, соответствующий этому стандарту.

Работа с внешними компонентами

PHP микрофреймворк Slim специально спроектирован таким образом, чтобы максимально упростить взаимодействие со сторонними компонентами. С помощью компонентов сторонних разработчиков можно расширить функционал приложения. Эти компоненты могут быть найдены, в частности, в широко известном репозитории PHP пакетов - Packagist.

Установка

Для работы с Slim Framework необходимо иметь PHP 5.5 и новее, а также нужно иметь настроенные правила конфигурации сервера, для перенаправления всех запросов на index.php. Установку будем выполнять с помощью пакетного менеджера Composer. Если вы не знаете, что такое пакетный менеджер Composer, то на сайте есть статья о нем. Далее необходимо создать папку, например, MyProject.

Открываем консоль команд и вводим следующее:

 $ cd путь-к-папке/MyProject
  $ composer require slim/slim "^3.0"

Последняя команда установит сам фреймворк и все его зависимости. После этого в папке MyProject необходимо создать папку public, которая будет являться корневой директорией нашего сайта доступной извне, там же надо создать два файла: index.php и .htaccess, последний файл конфигурации Apache нужен для перенаправления всех запросов к index.php.

Содержимое файла .htaccess:

 RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule ^ index.php [QSA,L]

А вот непосредственно код нашего приложения:

<?php

  use \Psr\Http\Message\ServerRequestInterface as Request;
  use \Psr\Http\Message\ResponseInterface as Response;

  require __DIR__ . '/../vendor/autload.php';

  // создаем и настраиваем приложение
  $config = ['settings' => [
    'addContentLengthHeader' => false,
  ]];

  // передаем массив настроек в конструктор класса Slim\App
  $app = new \Slim\App($config);

  // определяем маршруты
  // главная страница
  $app -> get('/',function($request, $response)) {
     return $response -> write('Добро пожаловать на мою страницу');
  });

  // страница с адресом localhost:9090/hello/Alex
  $app -> get('/hello/{name}', function ($request, $response, $args) {
     return $response->write("Hello " . $args['name']);
  });

  // Запускаем приложение
  $app->run();

?>

Поясню код выше. С помощью директив use мы импортируем необходимые нам классы из стандарта PSR 7 о котором я говорил выше. Затем включаем в наш index.php файл автозагрузки классов. Такой порядок может показаться несколько необычным, однако он легален с точки зрения языка. После этого создаем массив строк представляющих собой настройки нашего web-приложения. И, наконец, добавляем маршруты с помощью метода get класса Slim\App. Запускаем встроенный в PHP web-сервер с помощью следующих команд:

  $ php -S localhost:9090 -t public public/index.php

Открываем браузер по адресу localhost:9090 и смотрим.

Таким образом сегодня мы с Вами познакомились с PHP микрофреймворком Slim Framework. Узнали в каких случаях его можно и стоит использовать. Создали тестовое приложение. Спасибо за внимание.

Кстати, пример создания сайта на основе фреймворка Yii можно посмотреть в моем курсе https://srs.myrusakov.ru/yii

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.