Выбор микрофреймворка

Создание защищенных от вторжения прикладных программ

Джеймс С. Фостер, Майк Прайс — «Создание защищенных от вторжения прикладных программ»

Потребовалось сделать RESTful приложение. Для чего? Для заполнения базы по событиям на некоем сайте. Например, по заполнении посетителем формы, чтобы обрабатывать в приложении на стороне.

Приложение разворачиваю на шаред-хостинге. Почему? Причин не одна, но в данном (и некоторых других) случае — это лучший способ отделить разработку от администрирования. Когда все в одном месте, нередко сам же смешаешь, потом распутывай.

Итак, если бы не шаред, я бы не задумываясь взял Phalcon, но по нынешним временам на любую просьбу касательно расширений поддержка справедливо отвечает — берите VDS. Резонно.

Вторым кандидатом был бы мой давний знакомый Fat-Free Framework (при условии, что не требуется взаимодействие между моделями), но тут выяснилось второе препятствие — при большом выборе версий PHP у хостинг-провайдера, мне нужен был PHP 5.3 (конкретно сейчас 5.3.29), а Fat-Free хоть и утверждает PHP 5.3+ Support, но сразу вылетает с сообщением о неподдерживаемых функциях (на 5.4+ все нормально, но мне в данном случае надо именно 5.3).

В третью очередь я бы взялся попробовать Yet Another Framework, чисто из-за бренда, но и он оказался у хостинга не подключенным. На мой осторожный вопрос поддержке касательно pecl мне уверенно напомнили о VDS. Справедливо.

Что ж, пришлось расширять кругозор. Требования простые — легкий, ничего лишнего (мне нужен REST API, а не CMS), чтобы работал с PHP 5.3, короткая (с учетом знания уже нескольких микрофреймворков, желательно почти нулевая), по выражению Голубицкого, учебная курва.

В итоге выбрал Slim Framework. Почему? В сущности, просто так. Большинство остальных не хуже. Часть я и не попробовал. Начал смотреть в случайном порядке, Slim подошел по всем параметрам. На сем и остановился, от добра добра не ищут.

Обновлено: 14.08.2016 — 18:00

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *