В этой статье мы обсудим, что такое микрофреймворк Slim Framework и где он может быть полезен.
Slim — это PHP микрофреймворк, предназначенный для быстрого написания простых, но в тоже время мощных web приложений и API. В своей основе фреймворк Slim — это диспетчер, который получает HTTP запрос, вызывает назначенную данному запросу callback-функцию и возвращает HTTP ответ. Вот и все.
Для чего он нужен?
Slim Framework — это идеальный инструмент для создания API, которые используют, переиспользуют какие-либо данные или же предоставляют к ним доступ. Также это прекрасный инструмент для быстрого прототипирования, когда задумка требует скорейшей реализации. Кроме того, с помощью микрофреймворка Slim можно создавать полнофункциональные web-приложения с пользовательским интерфейсом. Он очень быстрый, имеет небольшую кодовую базу — только то, что нужно и больше ничего.
З D слим обзор и отзыв .
Как запустить?
Для начала необходимо иметь установленный 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
ПРОГРАММА ПОХУДЕНИЯ 3D SLIM
$ composer require slim/slim «^3.0»
Последняя команда установит сам фреймворк и все его зависимости. После этого в папке MyProject необходимо создать папку public, которая будет являться корневой директорией нашего сайта доступной извне, там же надо создать два файла: index.php и .htaccess, последний файл конфигурации Apache нужен для перенаправления всех запросов к index.php.
Содержимое файла .htaccess:
RewriteRule ^ index.php [QSA,L]
А вот непосредственно код нашего приложения:
use PsrHttpMessageServerRequestInterface as Request;
use PsrHttpMessageResponseInterface as Response;
require __DIR__ . ‘/../vendor/autload.php’;
// создаем и настраиваем приложение
$config = [‘settings’ => [
‘addContentLengthHeader’ => false,
]];
// передаем массив настроек в конструктор класса SlimApp
$app = new SlimApp($config);
// определяем маршруты
// главная страница
$app -> get(‘/’,function($request, $response)) return $response -> write(‘Добро пожаловать на мою страницу’);
>);
// страница с адресом localhost:9090/hello/Alex
$app -> get(‘/hello/’, function ($request, $response, $args) return $response->write(«Hello » . $args[‘name’]);
>);
// Запускаем приложение
$app->run();
Поясню код выше. С помощью директив use мы импортируем необходимые нам классы из стандарта PSR 7 о котором я говорил выше. Затем включаем в наш index.php файл автозагрузки классов. Такой порядок может показаться несколько необычным, однако он легален с точки зрения языка. После этого создаем массив строк представляющих собой настройки нашего web-приложения.
И, наконец, добавляем маршруты с помощью метода get класса SlimApp. Запускаем встроенный в PHP web-сервер с помощью следующих команд:
$ php -S localhost:9090 -t public public/index.php
Открываем браузер по адресу localhost:9090 и смотрим.
Таким образом сегодня мы с Вами познакомились с PHP микрофреймворком Slim Framework. Узнали в каких случаях его можно и стоит использовать. Создали тестовое приложение. Спасибо за внимание.
Кстати, пример создания сайта на основе фреймворка Yii можно посмотреть в моем курсе https://srs.myrusakov.ru/yii
Создано 25.07.2017 10:01:04
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 1 ):
alexeymukhin 27.09.2018 02:40:50
Две ошибки в примере. Тут неправильно написано ‘autoload’ require __DIR__ . ‘/../vendor/autload.php’; Тут лишняя скобка $app -> get(‘/’,function($request, $response) ___)___
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Источник: myrusakov.ru
Slim (Simple Login Manager)
Когда ставится дистрибутив типа Ubuntu, где всё «из коробки», о программах типа Display Manager (Экранный менеджер) обычно не задумываются: они поставляются вместе с окружением рабочего стола (gdm — с Gnome, kdm — с KDE, lxdm — c LXDE) и воспринимаются как неотъемлемая часть системы. Это тот экран, который мы видим первым при загрузке системы — в нём обычно вводится логин и пароль (если не настроен автовход для одного пользователя).
Когда же дистрибутив предоставляет только самый минимум без пользовательских програм и без какого-либо графического окружения, приходится всё ставить самому, зато изначально пользователь имеет полную свободу в этом отношении. И тут с экранным менеджером получится либо так, что он установится с одной из Desktop Environment (Gnome, KDE), либо, если устанавливается не DE, а какая-то более лёгкая альтернатива — обычно один из Windows Manager (openbox, fluxbox, fvwm и так далее), то запускать графическую оболочку придётся либо из консоли (командой startx), либо поставить Desktop Manager уже отдельно.
При этом ставить gdm или kdm не очень целесообразно — они тянут за собой немало зависимостей, к тому же ощутимо тяжелее альтернатив, а ставить нечто тяжёлое в лёгкие среды как-то совсем не логично, хотя никто, конечно, не запрещает, если кто-то захочет так сделать. Но как раз такой лёгкой альтернативой является экранный менеджер slim, или, как он ещё называется, simple login manager. В соответствии с названием, такой он и есть — картинка и поле для ввода логина и пароля.
Информации о программе в интерете немного, да в общем всё необходимое есть на официальном сайте. И настроек очень мало (а много подобной программе трудно придумать). По крайней мере для Ubuntu и ArchLinux пакет slim есть в соответствующих официальных репозиториях и устанавливается он стандартными для каждой системы способами. Я ставила в ArchLinux, поэтому, примеры будут для него.
Во-первых, как добиться, чтобы после установки грузился теперь именно экранный менеджер, а не консоль. Для этого следует отредактировать с правами суперпольователя файл /etc/inittab, а именно, закомментировать строку:
id:3:initdefault:
и раскомментировать строку:
id:5:initdefault:
А также следует проследить, чтобы в конце файла была раскомментирована такая строчка (и она должна быть единственной раскомментированной из последней секции):
x:5:respawn:/usr/bin/slim >/dev/null 2>Приветствие»), отредактировав строку, которая по-умолчанию выглядит так:
welcome_msg Welcome to %host
Подобным же образом заменяются сообщения для выключения и перезагурзки (строки shutdown_msg и reboot_msg.
Чтобы имя пользователя уже было вписано в окошко ввода, должна быть раскомментирована и отредактирована следующая строка (вместо username — нужный логин):
default_user username
Имя пользователя может вообще не показываться, а будет сразу предлагаться окошко для ввода пароля, если отредактировать эту строку:
focus_password yes
А можно вообще настроить автовход пользователя в систему, без ввода логина и пароля:
auto_login yes
Включение цифровой клавиатуры:
numlock on
- reboot для перезагрузки
- halt для выключения
- console для выхода в консоль
- suspend для засыпания (по умолчанию закомментировано)
Обзор SlimDrivers. Как обновление драйверов страдает от монетизации «Одного клика»
В связи с тем, что недавно наш портал рассмотрел со всех сторон такой продукт, как DriverPack Solution 12, появилась необходимость в более подробном изучении конкурентов и одним из них я решил представить англоязычное решение под названием SlimDrivers. Разработчики из команды SlimWare Utilities уже успели облагородить компьютеры с помощью такого инструмента, как SlimCleaner, теперь пришло время за обновлениями драйверов. У сегодняшнего продукта, кстати, есть полноценный, но платный аналог от этой же компании DriverUpdate, однако, его мы обойдём стороной.
(Кликните по картинке для увеличения)
Почему не хочется рассматривать платный продукт? К чему вообще, если есть достойный русскоязычный бесплатный аналог в виде DriverPack Solution 12. Поэтому сразу скажу, что SlimDrivers бесплатен, не имеет русского интерфейса, в чём пока проигрывает, является не первой новинкой среди онлайн-средств для обновления системных драйверов. Сама программа, да и база работают с помощью интернет-базы, поэтому чисто локального способа апдейта ПК, как и у DPS 12 не получится.
(Кликните по картинке для увеличения)
Если особо не вдаваться в подробности, то можно и обойтись сканированием ПК, а далее и обновлением, хотя тут дело действительно в ступоре, поскольку не нашёл совершенно кнопок для обновления сразу всех драйверов. Получается, если нужно обновить около 23 драйверов, которые у меня устарели на одной из ОС, придётся кликать по соответствующей кнопке рядом с каждым оборудованием? Немного маразматично. А ведь такую, казалось бы, простую и необходимую вещь включили в платную версию — DriverUpdate. Хотя одновременно с этим порадовал инструмент удаления уже имеющихся в системе драйверов за их ненадобностью или проблемностью.
В целом, работа программы радует, хоть и вот с некоторыми исключениями. Поддерживается бэкап драйверов, восстановление. Показалось, конечно, что имеющаяся онлайн-база в некоторых своих отдаленных чуть старая, хотя одновременно и не нашёл пробелов, примерно такое же количество мог бы мне предложить и DPS 12, другое дело, что он бы проделал всё куда быстрее, вне зависимости от того пришлось ли бы мне качать дистрибутив в несколько гигабайт.
(Кликните по картинке для увеличения)
Устройств поддерживаемых много, база большая, только приоритеты заметно отличны от отечественного DPS 12 и, пожалуй, ни одно средство так шикарно и не впечатлило меня в SlimDrivers, чтобы преподносить его в качестве альтернативы.
Из всего изученного в SlimDrivers делаю вывод о том, что пока всё-таки рекомендую читателям для обновления драйверов использовать куда более простой, бесплатный и русскоязычный DriverPack Solution. Хотя на этом обзоры не останавливаются и возможно скоро рассмотрим новых конкурентов из этого раздела программного обеспечения.
Источник: megaobzor.com