Ответ 1
Я подозреваю, что этот вопрос может противоречить рекомендациям по обеспечению качества stackoverflow, и вы можете чуть ли не задать два отдельных вопроса. то есть.
- Когда/зачем учиться/использовать angular в проекте wep
- как настроить структуру папок
Для настройки структуры папок проверьте эти ресурсы
http://scotch.io/tutorials/php/create-a-laravel-and-angular-single-page-comment-application https://www.youtube.com/watch?v=hqAyiqUs93c
Я могу только сказать, почему я использую laravel с angularjs, и вы правы, что можете использовать laravel без angular, но причина, по которой я использую angular, а также laravel - это потому, что есть некоторые вещи, которые javascript просто лучше, чем серверные приложения, например
- Использование ajax и отсутствие необходимости перезагружать страницу всякий раз, когда вы хотите проверить/обработать какую-то небольшую вещь, например, действительно ли адрес электронной почты, который пользователь вводит в форму, действителен или нет.
- быстрее, потому что, когда вы вернетесь на сервер, вам не нужно загружать всю страницу, просто необходимые части.
- Вы можете дать немедленную обратную связь пользователю - например, когда они заполняют форму - вы можете проверить, что их вход проверяет и немедленно дает им обратную связь. С лававелем вы должны выполнить обратную поездку обратно на сервер и, возможно, вернуть коллекцию сообщений об ошибках.
Итак, если вы хотите, чтобы ваш веб-сайт/webapp имел эти преимущества, вам нужно написать функциональность в javascript. Я не могу сказать, что я использовал все фреймворки, чтобы потом сказать, что angular является лучшим, но для меня angular предоставляет набор интегрированных решений и широкий спектр проблем, на вершине архитектуры, которая, кажется, работает хорошо.
Я думаю, что отчасти это объясняется тем, что есть немало новых понятий для изучения, и необходимость в этих компонентах не сразу очевидна. Это может быть связано с тем, что компонент, который вы используете для выполнения какой-либо функции, например, использование объекта $scope для ретрансляции данных между контроллером и представлением также выполняет функцию в увеличенном изображении, например. поддерживая разделение между представлением и контроллером, что помогает с организацией кода, тестируемостью, а также другими факторами.
Если вы используете angular, а также Laravel (в отличие от самого Laravel), у вас будет возможность предоставить вашим пользователям эти преимущества, потому что у вас есть больше доступных опций, например. используйте laravel, где он лучше всего соответствует требованиям вашего приложения и пользователей, или используйте angular, где он дает лучший результат, - и в конце вы получите лучшее веб-приложение.