Переработка старого самописного сайта на Laravel 7
Сайт: [url=https://spendy.co/]https://spendy.co/[/url]
Проект: [url=https://www.weblancer.net/projects/veb-programmirovanie-31/razobratysya-v-chuzhom-kode-vnesti-pravki-v-php-kod-pochinit-sajt-1043936/]https://www.weblancer.net/projects/veb-programmirovanie-31/razobratysya-v-chuzhom-kode-vnesti-pravki-v-php-kod-pochinit-sajt-1043936/[/url]
Суть задачи: разобраться в функционале старого самописного сайта, починить и кое-что доделать.
Старый сайт был написан без каких либо бек-енд фреймворков, в качестве шаблонов было использовано Smarty. Данные тянулись напрямую через запросы используя [b]mysql_*[/b] функции, без статического или синглтон обьекта базы.
Верстка [i]Datepicker[/i]-а отдалался фронту через AJAX запрос и формировался на бек-енде.
Было принято решение перейти из старого PHP [b]5.6[/b] -> [b]7.2 [/b]и использовать [b]Laravel Framework 7 [/b]для более быстрой, стабильной и безопасной разработки. Плюс к этому добавляеться возможность использовать много [b]open-source[/b] библиотек для готовых решений, чтобы не выдумивать велосипед заново.
Оригинальная верстка сохранена, весь фронт-енд упакован в несколько файлов с помощью [b]Laravel Mix. [/b]Все стили проекта компилируються в файл [b]app.css[/b], а стили библиотек в vendor.css (которые всегда актуальные, так как тянуться с [i]node_modules/[/i]). Также все оригинальные стили проекта перекомплилированые в SCSS, для удобной разработки. Скрипты JavaScript аналогично упакованы в [b]app.js[/b] и [b]vendor.js.[/b]
Добавление/редактирование обьектов, пагинация, фильтры (параметры обновляються в строке адреса) сделаны через AJAX, таблицы имеею фронт енд сортирование. Также сохраняються AJAX переходы между страницыми, с правильной навигацией назад. Реализирован [b]експорт[/b] таблицы "Reports" в [b]CSV, JSON, Excel[/b].
В общем из старого жигуля проект превратился в новый Daewoo Lanos
(Если ещё [b]Vue.js[/b] использовать для фронта, то была бы [i]Tesla Model S[/i])
AJAXJavaScriptLaravelPHPSCSSVue.js