Подтвердить что ты не робот

Yii2 + AngularJS в одном приложении - как?

У меня есть опыт работы с Yii 2 и AngularJS, но отдельно. У меня есть два вопроса:

Можно ли использовать AngularJS в Yii 2 view? Я спрашиваю, возможно, вместо того, чтобы это возможно, потому что я думаю, что проблема, возможно, возникла при маршрутизации.

Кроме того, достаточно ли (для производительности) использовать Yii 2 и AngularJS вместе? (Оба являются MVC, поэтому для модульного, управляемого кода.)

Я искал долгое время, но я не смог найти подходящий ресурс. Каково объяснение!

4b9b3361

Ответ 1

ДА, вы можете использовать AngularJS в представлениях Yii 2 после реализации другого подхода к укоренению. Вот учебник для начала.

Но НЕТ, я не рекомендую это делать (хотя оба Yii 2 и AngularJS - отличные рамки с встроенной поддержкой REST). Таким образом, правильный способ - использовать AngularJS для создания вашего интерфейса и использовать Yii 2, чтобы обеспечить API сервера. Вот хорошая структура для этого:

Структура @AlekseiAkireikin из этого Stack пост переполнения

   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/
       ...

Структура API Yii RESTful предоставит чистый API, который может взаимодействовать с вашим встроенным приложением AngularJS или, возможно, будущим мобильным приложением или даже предоставлять ресурсы и/или услуги другим веб-сайтам или программному обеспечению. Если вы заботитесь о производительности, перейдите к обоим и используйте REST. Хорошо структурированное приложение RESTful отлично подходит для создания хорошей системы кэширования с гибкой стратегией. Вы даже можете разместить свой сервер и базу данных на сервере (например, Amazon EC2), предоставляя только данные JSON (и/или XML) для использования минимальной пропускной способности, а внешний интерфейс хранится на оптимизированном CDN (например, Amazon S3 или другом поставщике CDN) с более дешевыми и быстрыми ответами.

Вот два примера, реализующих AngularJS и Yii 2 в REST: this и this.