Стоит ли и зачем использовать PHP на фронте, где есть Angular?

Предыстория:
Я фронтенщик и зачастую работал с NodeJS на бекенде, так сложилось, что сейчас работаю над проектом где на беке PHP ну и команда собственно PHP - разработчики :)
Иногда случаются конфузы, которые я не очень понимаю, так как не силён в бекенде, да и учу NodeJS, a не PHP

Суть:
Бекендщики часто пихают пхп код на фронт (фреймворк yii), например для проверки доступа, если доступа у персонажа нет, то мы прячем участок HTML посредством PHP.
Сейчас переписываем проект и я не хочу, чтоб на "моём" :) фронте был php :)
Но последней каплей была форма логина, которую мне предлагают сделать статичной на пхп и говорят зачем там аякс.
Я после этих моментов сижу и думаю, а зачем тут ангулар вообще?

Дайте, пожалуйста, дельные советы, либо что почитать мне, как быть?
Хелп :)
  • Вопрос задан
  • 4475 просмотров
Пригласить эксперта
Ответы на вопрос 10
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
Все верно.
На фронте не должно быть PHP вообще.

К примеру сейчас работаю над крупным проектом, где нонстоп идут финансовые проводки и заказы.
Бекенд, это api ресурс (rest.site.tdl) реализованый на SF3+DB(любая)+DDD/CQRS/Bus+JTW.
Он может принимать и отдавать данные в формате json.

Фронтент - это совершенно др. проект (site.tdl), который физически находится совершенно в другом месте. Реализован на Angular2 type script.

Т.е. это совершенно 2 разных проекта которые общаются по api.

Если делать по принципу - все в кучу (и так сойдет), то вполне может настать момент, когда потребуется всех уволить, нанять нормальную команду и реализовать новый проект.
Ответ написан
@Qvarck
Подозреваю, ангуляр на этом проекте не нужен. От Вас, как от фронта, нужна вёрстка и, например, jQuery для прочих нужд. Того, кто решил использовать тут ангуляр окропите святой водой дабы из него бесы вышли)
Либо, если так нужен ангуляр, пусть PHP-разрабы делают бекенд, который просто общается с вашим фронтом по АПИ. Но, кажется мне, это не самое подходящее решение.
Сейчас фронтом работаю, имею опыт бекенда пару лет. Участвовал в подобных проектах с обоих сторон. Мне описанный Вами подход кажется несколько странным.
П.С. Не верно говорить про "PHP на фронте". PHP во вьюшках формирует страницы на серве и отдаёт их в уже нужном виде. Это обычной подход при использовании Yii.
Ответ написан
azrail_dev
@azrail_dev
А ты уверен, что тебе стоит работать над этим проектом? Если у вас нормальный rest api и при этом ведутся странные попытки "прячем участок HTML посредством PHP", вполне реально, что ты не сможешь реализовать то, что даёт тебе ангуляр и себя, как программиста этого проекта.
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Стоит ли и зачем использовать Angular на фронте, где есть PHP?

Но последней каплей была форма логина, которую мне предлагают сделать статичной на пхп и говорят зачем там аякс.

Если уже работает и уже готово - зачем там ангуляр?

на "моём" :) фронте был php :)

великий язык фронтенда прям php.

Если у вас SPA то все должно быть на ангуляре более менее, это логично.
А если ваш ангуляр работает через одну страницу, зачем наворачивать лишнее?
Ответ написан
@lem_prod
Хочу еще раз сделать акцент на том, что сказал Qvarck, PHP не на фронте, он используется как шаблонизатор на бэке.
И если взять тот пример, с блоком который недоступен для определенных пользователей, в случае скрытия его на стороне фронта, продвинутый пользователь через консоль сможет получить к нему доступ, при желании... а в случае с PHP, со стороны фронта это невозможно.
и зная функционал yii там довольно легко туже ajax-валидацию осуществить без front-end программиста.
Так что действительно, вы этой команде больше как верстальщик нужны.
Ответ написан
max_bozhenov
@max_bozhenov
Top-notch frontend developer & ui designer
Я сам по себе Full-stack разработчик, но больше Frontend'ом люблю заниматься... Начинал работать с AngularJS (набрался опыта с 1-й версией и после релиза второй версии - забил на AngularJS), сделал пару SPA проектов на AngularJS и скажу следующее, AngularJS - только для SPA приложений, а PHP только в качестве RESTful API сервиса (в мое случае, я использую Laravel/Lumen и считаю это идеальное решение!)

Если же хотите и дальше на этом проекте работать, возьмитесь за VueJS2 (лично мое имхо, он куда более приятнее чем AngularJS2, а у первой версии нет будущего и нет смысла новые проекты начинать делать на нем...). И он хорошо подходит для SSR приложений, т.е. не обязательно делать SPA. Я как раз сейчас и разрабатываю бизнес приложение на этом стэке (VueJS2 + Laravel).

Хотя... если я правильно понял и вы делаете игру в команде, то для игры в наше время SPA самый лучший выбор. Так что предложите в команде перейти на RESTful API сервис в качестве бэкэгда...
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Начнем с далека: PHP - PHP Hypertexp Processor.
То что вы называете "на фронте" называется рендеринг. Это можно сказать классическое использование пыхи. Фреймворки часто содержат функциональеость, которая не совсем ложится в парадигму SPA, как в вашем примере с формами.
Подобные нестыковки решаются исключительно за счет соглашений в конкретном проекте.
Ответ написан
Комментировать
dmnBrest
@dmnBrest
Salesforce for money. Python, Go, Ruby for soul.
По рукам этим PHP-никам. Они просто одеяло на себя тянут. Если в проекте решили использовать Ангуляр, то это уже совсем другая архитектура и бэкендщикам надо перестраиваться - они уже должны писать чистые rest services и забыть про view, templates и прочую фигню которая превращается в html! ВООБЩЕ ПРО HTML пусть забудут. Если все же поступают задачи рендерить что-то на сервере - тогда нафиг не нужен ангуляр.
Ответ написан
Комментировать
Нет, потом каша будем, если проект большой
Ответ написан
Комментировать
@McBernar
PHP легко заменяется на тот же TWIG. Но суть от этого не поменяется — это просто разметка логики.
Вы либо весь фронт переводите на JS и общаетесь по API, либо не парьтесь, потому что для бизнеса иногда нужно просто, чтобы работало, и чем быстрее/проще — тем лучше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы