将AngularJS与Phalcon框架混合使用

Mixing AngularJS with Phalcon Framework

本文关键字:混合 框架 Phalcon AngularJS      更新时间:2023-09-26

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

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

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

    哪里是最有用和明智的地方把AngularJS项目文件夹?
  1. 我如何从管理区域的IndexController.php重定向到AngularJS应用程序的实际index.html ?

提前感谢!

这是我个人的看法,但我是这样看的:

  1. 你的angularjs javascript代码需要在公共文件夹(或符号链接)中,这样它才能被服务,没有办法。
  2. 重定向,你可以使用$this->response->redirect("http://example.com/my/ng/app", true);,无论你决定把它

然而,我想说的是,重定向是不必要的。为什么不把你的angularjs模板放到索引里呢?视图的php ?你所有的angular模板都可以只是phalcon视图。

就个人而言,我开始做一个混合管理系统,部分是phalcon,部分是angularjs…随着我的继续,那里的猎鹰越来越少;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>

然后通过json

与phalcon控制器通信

phalcon.angular。bootstrap——Angular、Phalcon和bootstrap的非单页实现的样板phalanx -一个使用Phalcon PHP框架和Angular的入门应用程序

从https://packagist.org/packages/phalcon/awesome-phalcon