Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AngularJS and PHP backend

Tags:

Maybe it's not a real question, rather is's a discussion. I decided to learn angular, using a simple task, build a blog system. And i have a few questions. Lest imagine that the php app will have the MVC structure, so i have some questions:

  • Should i build my back-end only as RESTFUL app, and use json response\request upon the angular and php?
  • What about the view in php app, i should use them with ng-init?
  • Routing, server side or client side?
  • What about caching?
  • And the last, but not the least, where i should put the logic about data that user will input?

Can someone give me the instructions or directions, about this things, and maybe useful link's to read the articles, to combine the php and angular, or maybe i'm doing it in the wrong way?

like image 959
Cawa Avatar asked Jul 29 '13 10:07

Cawa


People also ask

Does AngularJS work with PHP?

You will get introduced to AngularJS, the JavaScript framework created by Google, covering all the basics. You will learn how to build a simple website with PHP 7, MySQL and AngularJS 1.6+ from scratch, next you'll learn how to build a CRUD web application with PHP 7 API on the back-end and AngularJS on the front-end.

Can AngularJS be used for backend?

Sorry you can't use Angular2+ or Angular JS for the backend as a framework !

What is better AngularJS or PHP?

PHP is largely based on back end coding which depends on heavy server-side scripting. Data management like inserting, updating and deleting the data is easier with PHP. PHP is still common among the developers but when it comes to presenting the product, AngularJS is more preferred.

Is PHP used in backend?

PHP is a back end development language only. PHP belongs to the LAMP stack, which stands for Linux, Apache, MySQL, and PHP/Perl/Python. To develop a web app with this technology stack, a software engineer needs to know four different syntax systems, as well as HTML and CSS.


2 Answers

You might want to consider this type of application as actually TWO applications.

The first is the backend, the API. You can use your PHP framework to build an API that will allow you to have data persistency, validation (business logic), etc... and forget about the front end for now, you are only building an API for the backend data.

The second part of the app is the AngularJS frontend. This includes all of the views and everything that the client sees. None of that is coming from the backend.

This allows you to use the backend API (the PHP bit) to act as the data store, with it's own validation for safety, while having the seamless user experience and basic client side validation from AngularJS.

Routing is AngularJS, as that is the actual frontend that the client is using.

Caching can be done (if needed) in the backend, your API.

Validation will happen in both the frontend and the backend, although they can be slightly different if need be.

Remember, you build the backend strictly as an API, without consideration for the frontend (as if there will be more than one app using it), so it will have it's own validation rules and logic.

Hope that helps.

like image 60
Petar Zivkovic Avatar answered Sep 28 '22 05:09

Petar Zivkovic


I have found a very simple structure that allows me to utilize Angular with PHP and restful api's. I use Angularjs for all views. I use a restful PHP API framework called slim to facilitate the communications between Angular and the PHP models which I use Doctorine2 for.

85% of my coding is done with Angular(Views). 5% done with the API(controller) and the remaining 10% configuring business logic in the Models. Great separation of concerns and not much overhead. Simple and concise.

like image 24
Motoman Avatar answered Sep 28 '22 05:09

Motoman