将Smarty PhP应用程序转换为AngularJS
我有一个使用Smarty的PHP应用程序。它不使用任何标准MVC框架,但实现了以下相同目标:将Smarty PhP应用程序转换为AngularJS,php,angularjs,.htaccess,model-view-controller,Php,Angularjs,.htaccess,Model View Controller,我有一个使用Smarty的PHP应用程序。它不使用任何标准MVC框架,但实现了以下相同目标: 每次导致页面转换的单击都是通过调用结构化URL(类似于REST调用)来实现的,该URL由Apache重写规则(in.htaccess)解释为附加到index.php文件的特定查询参数 php然后确定要加载的页面或子页面,执行任何控制器逻辑,然后组装显示信息,加载smarty变量,然后显示 我在某个地方读到,混合使用前端和后端MVC框架是不可取的。然而,我需要在尽可能短的时间内转换应用程序 典型的组合
- 每次导致页面转换的单击都是通过调用结构化URL(类似于REST调用)来实现的,该URL由Apache重写规则(in.htaccess)解释为附加到index.php文件的特定查询参数
- php然后确定要加载的页面或子页面,执行任何控制器逻辑,然后组装显示信息,加载smarty变量,然后显示
php然后确定要加载的页面或子页面,执行任何控制器逻辑,然后组装显示信息,加载smarty变量,然后显示 这里的问题是“控制器逻辑”。据我所知,您正在尝试用客户端模板引擎替换服务器端模板引擎。那很好。但是AngularJS不是一个模板引擎,在您的情况下,有一些关键点可能会使它成为一个错误的选择:
我对Angular很陌生:有没有什么东西使得这在技术上不可能或次优 简言之。。。不可能,不可能。也许是次优
典型的组合是让angular调用PHP REST后端 是的,很典型。但并非绝对必要。您的Web服务可以按照您想要的方式进行结构化 然而,我宁愿将所有深层业务逻辑保留在后端(不仅仅是CRUD操作),而是让PHP将要显示的数据发送回我的数据库 我可能误解了你,但是,将你的业务逻辑保留在后端是应该的
php然后确定要加载的页面或子页面,执行任何控制器逻辑,然后组装显示信息,加载smarty变量,然后显示 这里的问题是“控制器逻辑”。据我所知,您正在尝试用客户端模板引擎替换服务器端模板引擎。那很好。但是AngularJS不是一个模板引擎,在您的情况下,有一些关键点可能会使它成为一个错误的选择:
我对Angular很陌生:有没有什么东西使得这在技术上不可能或次优 简言之。。。不可能,不可能。也许是次优
你的观点#2是支点。我看的是每一个最终调用Smarty的PHP,将所有要显示的组装数据发送到AngularJS,以便通过作用域访问(即,已经执行了业务逻辑)。因此,从您的解释来看,这是完全正确的。Thx,只是想在做出努力之前确认一下。@user1729972没问题。=)话虽如此,我可能会有一些纯AngularJS页面(应用程序的一部分),在纯PHP/Smarty和Angular(与同一后端对话)之间来回切换。旁白检查后面是否存在有效的PHP会话-