Intereting Posts
Ошибка phpunit require_once () Каков наилучший метод для дезинфекции пользовательского ввода с помощью PHP? javascript-объект для php с использованием jquery ajax json кажется включенным, но не может запускать json_encode Как обновить APC на сервере сообщества Zend (необходимо для Symfony2)? Как правильно использовать print_r или var_dump? Как я могу получить имя автоматического увеличения поля или имя поля первичного ключа из таблицы mysql? Неразмерное переменное MySQL mysqli Получите фактическое сообщение электронной почты, которое только что написал человек, за исключением любого цитируемого текста Ошибка Doctrine: не найден класс Doctrine \ ORM \ EntityRepository Проверка ввода пользователя? Диспетчер Cron CakePHP 2.0 Лучший способ генерации уникальных имен файлов при загрузке файлов PHP PHP Неустранимая ошибка: вызов функции-члена execute () на не-объекте Проверка пустого результата (php, pdo, mysql)

Должен ли я смешивать AngularJS с фреймворком PHP?

AngularJS очень эффективен, когда дело доходит до интерактивного HTML5 и привязки к модели. С другой стороны, фреймворки PHP, такие как Yii, обеспечивают быструю, хорошо структурированную, безопасную и мощную разработку веб-приложений. Обе технологии предоставляют сложные средства для доступа к данным, итерации и макетирования страниц.

Хорошая или плохая практика заключается в смешивании этих двух подходов (настройка страницы на стороне клиента и на стороне сервера) или это скорее противоречит смыслу интерактивных, бесшовных веб-приложений HTML5 AJAX?

Я не говорю о создании JS с использованием PHP ( см. Этот вопрос ). Я говорю о создании представления, которое будет использовать AngularJS.

Я также знаю, что страница AngularJS должна (или может) связываться с сервером через службы REST для получения данных ( см. Этот вопрос ) вместо того, чтобы напрямую извлекать их из, например, переменных PHP. Но для меня кажется более удобным создать «фрейм» для всего веб-приложения отдельно в PHP (например, создать главное меню или обработать авторизацию / сеансы и т. Д.),

Solutions Collecting From Web of "Должен ли я смешивать AngularJS с фреймворком PHP?"

Кажется, вам может быть удобнее разрабатывать в PHP, что вы позволите этому удержать вас от использования полного потенциала с помощью веб-приложений.

Вполне возможно, что PHP-рендеринг частичные и целые представления, но я бы не рекомендовал его.

Чтобы полностью использовать возможности HTML и javascript для создания веб-приложения, то есть веб-страницы, которая больше похожа на приложение и в значительной степени зависит от рендеринга на стороне клиента, вы должны подумать о том, чтобы позволить клиенту поддерживать всю ответственность за управление состоянием и презентацией. Это будет проще в обслуживании и будет более удобным для пользователя.

Я бы порекомендовал вам более удобное мышление в более ориентированном на API подход. Вместо того, чтобы PHP выводить предварительное визуализированное представление и использовать угловые для простой манипуляции с DOM, вы должны подумать о том, чтобы на PHP-сервере выводились данные, которые должны быть задействованы RESTFully, и иметь Angular.

Использование PHP для визуализации представления:

/user/account

 if($loggedIn) { echo "<p>Logged in as ".$user."</p>"; } else { echo "Please log in."; } 

Как эта же проблема может быть решена с помощью подхода, ориентированного на API, путем вывода JSON следующим образом:

api/auth/

 { authorized:true, user: { username: 'Joe', securityToken: 'secret' } } 

и в Angular вы можете сделать get и обработать клиентскую часть ответа.

 $http.post("http://example.com/api/auth", {}) .success(function(data) { $scope.isLoggedIn = data.authorized; }); 

Чтобы сочетать как клиентскую, так и серверную сторону, предложенный вами способ может быть подходящим для небольших проектов, где обслуживание не имеет значения, и вы являетесь единственным автором, но я больше склоняюсь к ориентированному на API способу, поскольку это будет более правильное разделение интересов и будет быть проще в обслуживании.