Здравствуйте, уважаемые форумчане. Вопрос в следующем: имею базовые знания в 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.: Заранее спасибо за ответы.
1. php-beginer - 23 Ноября, 2017 - 09:49:23 - перейти к сообщению
2. caballero - 23 Ноября, 2017 - 16:15:49 - перейти к сообщению
Цитата:
Судя по всему, Apache придется менять на Nginx, ибо читал, что для серьезных приложений и сервисов Apache не гож
вы еще ничего толкового не написали даже из несерьезных приложений а уже переживаете насчет апача. Апач - будет самой последней вашей проблемой
3. php-beginer - 23 Ноября, 2017 - 16:53:29 - перейти к сообщению
caballero пишет:
вы еще ничего толкового не написали даже из несерьезных приложений а уже переживаете насчет апача. Апач - будет самой последней вашей проблемой
Цитата:
Судя по всему, Apache придется менять на Nginx, ибо читал, что для серьезных приложений и сервисов Apache не гож
вы еще ничего толкового не написали даже из несерьезных приложений а уже переживаете насчет апача. Апач - будет самой последней вашей проблемой
Согласен, но с чего-то нужно начать. За что можно было зацепиться, чтобы увидеть проблемы, за то и зацепился. Описал, чему научился, чтобы Вы посоветовали инструменты в соответствие с уровнем. Я понимаю, что будет сложно, поэтому и открыл тему. Далее - изучение документации и тем в коммьюнити, попытка "повторить" или "написать по-своему". Время есть, желание тоже. Основной вопрос в инструментах, в точке старта.
4. Строитель - 23 Ноября, 2017 - 18:52:25 - перейти к сообщению
php-beginer, возьмите какой-то фреймворк, и на его основе постройте ваш проект - там и шаблонизацию подтянете, и с адаптивной вёрсткой по-работаете, и самое важное - получите ценные и востребованные знания, которые в будущем будут работать на вас.
5. php-beginer - 23 Ноября, 2017 - 21:40:35 - перейти к сообщению
Строитель пишет:
php-beginer, возьмите какой-то фреймворк, и на его основе постройте ваш проект - там и шаблонизацию подтянете, и с адаптивной вёрсткой по-работаете, и самое важное - получите ценные и востребованные знания, которые в будущем будут работать на вас.
Название фрейма, который подойдет начинающему вроде меня, можно? Или тут все субъективно - с чем легче, то и использовать? Просто не хотелось бы, чтобы мои желания превысили возможности фрейма, и не получилась ситуация, что "только так, а не иначе". Или это априори будет, если подвязываться к чужому инструменту?
6. Строитель - 24 Ноября, 2017 - 00:28:29 - перейти к сообщению
php-beginer пишет:
Во многих вакансиях "мелькает" Laravel. К нему и русская дока имеется.
Название фрейма, который подойдет начинающему вроде меня, можно?
7. php-beginer - 24 Ноября, 2017 - 09:06:23 - перейти к сообщению
Строитель пишет:
php-beginer пишет:
Во многих вакансиях "мелькает" Laravel. К нему и русская дока имеется.Название фрейма, который подойдет начинающему вроде меня, можно?
Это для сервера. А для js что лучше?
8. andrewkard - 24 Ноября, 2017 - 17:20:27 - перейти к сообщению
php-beginer пишет:
Это для сервера. А для js что лучше?
пишите на чистом.
9. KorbenDallas - 09 Июля, 2020 - 13:28:37 - перейти к сообщению
php-beginer пишет:
Это для сервера. А для js что лучше?
Строитель пишет:
php-beginer пишет:
Во многих вакансиях "мелькает" Laravel. К нему и русская дока имеется.Название фрейма, который подойдет начинающему вроде меня, можно?
Это для сервера. А для js что лучше?
Фреймворков много: React, Ember, Vue, Angular и т д Почитайте о каждом, +\-, сравнения, посмотрите, что лучше для вас. Вот, к примеру, хорошее сравнение React и Ember https://yojji[dot]io/ru/blog/react-vs-ember
Удачи!