看起来你可能更喜欢用 PHP 进行开发,但你让这阻碍了你充分利用 Web 应用程序的潜力。
确实有可能让 PHP 呈现部分视图和整个视图,但我不推荐它。
为了充分利用 HTML 和 javascript 的可能性来制作一个 Web 应用程序,即一个更像应用程序并严重依赖客户端渲染的网页,您应该考虑让客户端承担管理状态和呈现的所有责任。这将更容易维护,并且对用户更友好。
我建议您以更加以 API 为中心的方法来更自在地思考。与其让 PHP 输出一个预渲染的视图,并使用 angular 来进行 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 中,您可以进行获取并处理响应客户端。
$http.post("http://example.com/api/auth", {})
.success(function(data) {
$scope.isLoggedIn = data.authorized;
});
以您提议的方式混合客户端和服务器端可能适合维护不重要且您是单一作者的小型项目,但我更倾向于以 API 为中心的方式,因为这将更正确地分离 conserns 并且将更容易维护。