Иначе разрабов замордуют. :) Будут дёргать когда им вздумается по любому поводу и без, а это нужно категорически мпресекать. Вообще нельзя трогать разрабов БЕЗ ОЧЕНЬ СЕРЬЕЗНОЙ необходимости, т.к. переключание внимания порой НУ ОЧЕНЬ ДОРОГО обходится...
Мне кажется про "заработать" пока рассуждать рановато... Альтернативой нативной разработке под Андроид в скором времени может стать разработка с помощью React.Native
Дмитрий Энтелис: До фреймворков надо дорасти, для этого некоторое время писать код на голом пхп и страдать :) А так согласен, книжку сжечь, ибо ужас-ужас.
Александр: Тогда надо проверять неравенство выдачи strpos и FALSE, т.к. подстрока может встретиться на 0-й позиции, и, хотя, это валидный результат, он будет расценен как FALSE. Другими словами тогда уж надо делать так {if strpos($smarty.server.REQUEST_URI, "текст_который_должен_быть_в_урл")!==FALSE}
Открываешь налоговый кодекс, смотришь срок давности по налоговым преступлениям. Смотришь суммы по крупным и особо крупным размерам по уклонению. Смотришь административные, уголовные меры и штрафы, которые за это полагаются. Осознаешь, что в век облаков абсолютно все транзакции по абсолютно всем счетам абсолютно всех физиков и юриков уже лет пять как хранятся и будут храниться вечно. Осознаешь что технологии бигдата развиваются семимильными шагами, и уже достаточно скоро налоговые органы смогут в этом море транзакций в реальном времени отслеживать все что угодно. Осознаешь, что 6% налог, плюс соцплатежи, которые, причем, этими 6% налогами покрываются, если оборот позволяет, это совсем не дорого за то, чтобы спать спокойно. Осознаешь что всякие пайонеры и прочие мутные схемы будут стоить никак не меньше тех же 6%...
И, я думаю, выводы уже делаешь в годном направлении.
У меня хром жрет гораздо больше, правда я постоянно держу открытыми десятки вкладок. Когда моих 12 гб оперативки перестает хватать, я просто перезапускаю хром.
Ясен прекрасен, что не всякий сайт нужно делать в виде SPA, однако нечто динамичное однозначно нужно.
Сухроб Хусамов: Мне кажется меню строить следует средствами фронтенда. Для меня бэкенд давно стал не более чем прокси между фронтендом и базой данных, ну и еще несколько функций, но не более того. Да, конечно, предварительный рендеринг необходим, но, опять же, это делается средствами фронтенда, просто код исполняется на бэкенде.
Вообще я считаю в корне неверным тянуть привычки 5-7-летней давности в современный веб-дев - он другой и требует других подходов.
Алексей Чалый: Ну раз так, я бы рекомендовал для начала для самого себя внести ясность в терминологии. Разобраться, что такое аутентификация, авторизация, роли. Копать можно начинать в сторону RBAC.
Я долго писал на JS/jQuery, и когда дело дошло до более-менее сложных SPA, выяснилась неприятная вещь - сопровождать, и, упаси Бог, дораабатывать то, что было написано несколько месяцев назад НУ ОЧЕНЬ НЕПРОСТО. Хаотичные связи, полная анархия по части модификации DOM кем угодно, где угодно, когда угодно... В общем ад и хаос в одном флаконе.
Я, как человек ленивый, предпочитаю жесткий контроль происходящего, другими словами, порядок.
Так вот, ангуляр мало чем отличается от jQuery в это плане - такой же ад и хаос.
В конечном счете я выбрал для себя React.JS+Redux+Router+...
Логика тут простая - меняем стейт приложения в одном единственном месте централизованно, а все изменения оперативно отражаются в интерфейсе АВТОМАТИЧЕСКИ. Т.е. процессы идут односторонне, прозрачно, понятно и управлять всем этим ПРОСТО.
Прежде чем вникать в паттерны, я считаю, необходимо накопить некоторый боевой опыт, чтобы в этих паттернах возникла реальная необходимость. Паттерны хороши, когда уже понимаешь для чего они нужны не в теории, а на практике, иначе это просто засорение головы...
Принцип необходимости и достаточности никто не отменял.
Мир WEB стремительно меняется, все больше "магии" уходит с серверов и облаков на клиента, если нет особого бэкграунда, я бы некомендовал сместить акценты с PHP на JavaScript...