Здравствуйте, уважаемые форумчане. Вопрос в следующем: имею базовые знания в php, mysql, jquery.js. Хочу попробовать написать полноценное веб-приложение с функционалом интернет-магазина для закрепления и усиления навыков. Посоветуйте инструменты разработки.
В первую очередь, хотелось бы свести к минимуму возможные дублирования кода, отдельных функций, сниппетов и пр.
Во-вторых, хоть проект и учебный, хотелось бы обеспечить безопасность данных. Например, обеспечить доступ в админку по случайно сгенерированному временному ключу, отсылаемому на почту, или сделать какую-нибудь похожую штуку.
В-третьих, - придать среде какую-никакую автономность: чтобы при изменениях в составе данных система сама подстраивала логику работу под новые условия, и мне бы не приходилось руками переписывать скрипты. Например, если изменилось количество записей, изменился фильтр сортировки данных и т.д., система сама разрулила вопросы с выводом этих данных на индексных страницах (динамическая смена полей в форме и др.).
В-четвертых, - оптимизировать используемые при подгрузке страниц ресурсы: изменять размер и пропорции изображений в соответствие с разрешением экрана клиента, динамически собирать оптимизированные css и js-ресурсы на основании данных об использованных в верстке индексной страницы классах, id элементов и правилах.
В связи с этим вопрос необходимости использования фреймворка становится сам по себе.
Читал о react, angular и ember.js, говорят, что angular будет ближе тем, кто работал с jquery.
Также интересует инструмент автоматизации серверной части - также фреймворк, скорее всего, будет нужен, пробовал yii-2, понравился его встроенный сервис по генерации видов, моделей и контроллеров, однако у меня с ним дальше учебных задач по изучению работы не пошло. Сложным он мне тогда казался. Есть ли что-нибудь проще?
По ресурсам - учебные проекты делаю на веб-сервере под OpenServer, в качестве СУБД - mysql 5.5, серверный клиент - Apache 2.4, php 5.5, специализированных сред разработки не использую (пока), ваяю все в sublime text;
Прошлые учебные проекты:
- четырехстраничный сайт со статичными страницами, целиком прогружаемыми из БД, единая точка входа и маршрутизация средствами сервера через разбивку урла по слэшу;
- проект блога с такой же маршрутизацией и точкой входа, обработка страниц шаблонизирована (html исходники выделены в отдельную папку, места вывода данных обозначены <?php echo $raw['трали-вали'];?>), где трали-вали - элемент массива, формируемого по запросу в контроллере, реализована динамическая подгрузка данных из json на ajax средствами jquery, успешно протестированы библиотеки phpmailer и php excel для отправки письма на почту с SMTP авторизацией и формированием excel'вского документа на основании данных из таблицы;
- небольшой "велосипед" по шаблонизации html-писем для рассылки через сервис Unisender: единая точка входа, маршрутизация, подстановка данных в html-шаблоны, отгрузка содержимого в Unisender по api средствами curl, отображение контента на страницах по событию средствами того же ajax jquery и json из php; писал для себя, ибо достало собирать под каждое письмо свой исходный код;
Судя по всему, Apache придется менять на Nginx, ибо читал, что для серьезных приложений и сервисов Apache не гож.
Отсюда вопрос, как разруливать точку входа, назначать урл страниц ошибок, закрывать доступ к папкам и устанавливать прочие правила для nginx, ведь apache'вский .htaccess работать не будет.
P.S.: Заранее спасибо за ответы.
(Отредактировано автором: 23 Ноября, 2017 - 09:54:13)