首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该将AngularJS与PHP框架混合使用吗?

我应该将AngularJS与PHP框架混合使用吗?
EN

Stack Overflow用户
提问于 2013-03-26 04:18:42
回答 1查看 104.9K关注 0票数 162

当涉及到交互式HTML5和模型绑定时,AngularJS非常强大。另一方面,像Yii这样的PHP框架可以实现快速、结构良好、安全和强大的web应用程序开发。这两种技术都为数据访问、迭代和页面布局提供了复杂的方法。

将这两种方法(客户端和服务器端的“页面设置”)混合在一起是一种好的做法还是坏的做法,还是与交互式的、无缝的HTML5 AJAX web应用程序的意义背道而驰?

我不是在谈论如何使用PHP (See this question)生成JS --我是在谈论如何生成一个使用AngularJS的视图。

我还知道,AngularJS页面应该(或者可以)通过REST服务与服务器通信以获取数据(See this question),而不是直接从变量中检索数据。但对我来说,用PHP为整个web应用程序单独设计“框架”似乎更方便(例如,构建主菜单或处理授权/会话等)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-26 06:06:45

看起来你可能更喜欢用PHP进行开发,这让你无法充分发挥web应用程序的潜力。

PHP确实可以呈现局部视图和整体视图,但我不推荐这样做。

要充分利用HTML和javascript的可能性来制作web应用程序,即行为更像应用程序并严重依赖客户端呈现的web页面,您应该考虑让客户端维护管理状态和表示的所有责任。这将更容易维护,并将更加用户友好。

我建议您以更多以API为中心的方法进行更舒适的思考。与其让PHP输出一个预先渲染的视图,并使用angular进行纯粹的DOM操作,您应该考虑让PHP后端输出应该作用于RESTFully的数据,并让Angular呈现它。

使用PHP呈现视图:

/user/account

代码语言:javascript
复制
if($loggedIn)
{
    echo "<p>Logged in as ".$user."</p>";
}
else
{
    echo "Please log in.";
}

如何通过以API为中心的方法输出JSON来解决同样的问题:

api/auth/

代码语言:javascript
复制
{
  authorized:true,
  user: {
      username: 'Joe', 
      securityToken: 'secret'
  }
}

在Angular中,您可以执行get,并处理客户端的响应。

代码语言:javascript
复制
$http.post("http://example.com/api/auth", {})
.success(function(data) {
    $scope.isLoggedIn = data.authorized;
});

以您提出的方式混合客户端和服务器端可能适用于维护不重要且您是单一作者的较小项目,但我更倾向于以API为中心的方式,因为这将是更正确的一致性分离,并且更容易维护。

票数 180
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15623967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档