一尘不染

Yii2 + AngularJS在单个应用程序中-怎么样?

angularjs

我对Yii
2和AngularJS都有经验,但分别是。我有两个问题:

在Yii 2的视图中 可以使用 AngularJS 吗?我问 可能 的替代 是可行的 ,因为我觉得这个问题可以在路由到了。

另外,将Yii 2和AngularJS一起使用是否对性能来说足够公平?(两者都是MVC,因此都是模块化,可管理的代码。)

我搜索了很长时间,但是找不到任何合适的资源。有什么解释!


阅读 228

收藏
2020-07-04

共1个答案

一尘不染

是的* ,您可以在实施其他生根方法后在 Yii 2 视图中使用 AngularJS
。这是从开始的教程
*

但是 ,我不建议您这样做(尽管 Yii 2AngularJS
都是具有REST原生支持的出色框架)。因此,正确的方法是使用
AngularJS 构建 前端 并使用 Yii 2
来提供服务器API。这是一个很好的结构:

   project/
     backend/        // Yii 2 application
       web/          // Public visible backend folder
         index.php   // Entry point
       config/
       controllers/
       models/
       ...
     frontend/
       app/          // Your AngularJS application here
         css/        // Styles (.less or .css)
         img/        // Images
         lib/        // Third-party libraries such as jQuery or AngularJS
         js/         // .js files (controllers, services, etc.)
         partials/   // Templates (.html)
         index.html
       tests/        // AngularJS tests
       node_modules/
       ...

Yii的REST的API框架将提供一个干净的API可以与您的沟通内置的
AngularJS 应用程序或者一个未来的移动应用程序,甚至提供 资源和/或服务的
其他网站或软件。如果您关心性能,请同时使用两者并使用REST。结构良好的RESTful应用程序非常适合轻松构建具有良好灵活策略的良好 缓存
系统。您甚至可以将后端和数据库托管在服务器(如Amazon
EC2
)上,仅提供
JSON(和/或XML)
数据,以最小化带宽使用,并将前端存储在优化的CDN上
(例如Amazon S3或其他CDN提供商)具有更低的成本和更快的答案。

这是在REST中实现AngularJS和Yii 2的两个示例:thisthis

2020-07-04