小编典典
似乎您可能更愿意使用PHP进行开发,但是这会让您无法利用Web应用程序的全部潜能。
确实有可能让PHP呈现部分视图和整个视图,但是我不建议这样做。
为了充分利用HTML和javascript的可能性来制作Web应用程序,即一个行为更像应用程序并且严重依赖客户端呈现的网页,您应该考虑让客户端承担管理状态和表示的全部责任。这将更易于维护,并且将更加用户友好。
我建议您以一种更加以API为中心的方法更轻松地思考。您应该考虑让PHP后端输出应该在RESTFully上执行的数据,并让Angular呈现它,而不是让PHP输出一个预渲染的视图,而不是使用angular进行纯DOM操作。
使用PHP渲染视图:
/user/account
if($loggedIn)
{
echo "
Logged in as ".$user."
";}
else
{
echo "Please log in.";
}
如何以API为中心的方法通过输出如下JSON来解决同一问题:
api/auth/
{
authorized:true,
user: {
username: 'Joe',
securityToken: 'secret'
}
}
在Angular中,您可以获取并处理响应客户端。
$http.post("http://example.com/api/auth", {})
.success(function(data) {
$scope.isLoggedIn = data.authorized;
});
以客户端和服务器端的方式混合您建议的方法可能适合于那些维护并不重要且您是单个作者的较小项目,但是我更倾向于以API为中心的方式,因为这将更加正确地分离问题,并会易于维护。
2020-07-04