将AngularJS与Phalcon Framework混合使用

Ign*_*ant 2 javascript php angularjs phalcon

我正在Phalcon中构建一个多模块的webapp,基本结构如下:

my-project/
??? apps
?   ??? admin
?   ?   ??? controllers
?   ?   ?   ??? IndexController.php
?   ?   ??? Module.php
?   ?   ??? views
?   ?       ??? index
?   ?           ??? index.phtml
?   ??? frontend
?       ??? controllers
?       ?   ??? IndexController.php
?       ??? Module.php
?       ??? views
?           ??? index
?               ??? index.phtml
??? common
?   ??? config
?       ??? config.ini
??? public
    ??? index.php
Run Code Online (Sandbox Code Playgroud)

您可能会注意到Admin区域有一个模块,前端有另一个模块.现在我想使用AngularJS构建Admin区域,传统的AngularJS应用程序结构由多个文件,文件夹和子文件夹组成.所以我有一个双重问题:

  1. 放置AngularJS项目文件夹的最有用和最合理的地方在哪里?
  2. 如何从IndexController.phpAdmin区域重定向到index.htmlAngularJS应用程序的实际值?

提前致谢!

Cod*_*key 6

这确实与个人意见有关,但这是我看到的方式:

  1. 你的angularjs javascript代码将需要在公共文件夹(或符号链接)中,以便它得到服务,没有办法.
  2. 要重定向,您可以$this->response->redirect("http://example.com/my/ng/app", true);在决定使用它的任何地方使用

但是我会说重定向是不必要的.为什么不将angularjs模板放在视图的index.phtml中?所有角度模板都可以只是phalcon视图.

从个人角度来说,我开始做混合管理系统部分phalcon,部分angularjs ...而且我已经在那里,那里的phalcon越来越少; angularjs只是让它看起来很不必要.现在,我的大部分页面都开始从控制器获取初始数据以保存ajax请求,甚至可以将模板全部一起提供

<script type="text/javascript">
    var myInitialData = <?=json_encode( $dataFromController )?>;
</script>

<script type="text/ng-template" id="myTemplate">
    html for template ajax uses goes here
</script>

<div ng-controller="myController">
    <!-- controller can access data with $window.myInitialData -->
    html here
</div>
Run Code Online (Sandbox Code Playgroud)

然后通过json与phalcon控制器通信