I’m an old (83) noob to web development. I’m getting more confident in my HTML and CSS skills and working on javascript (along with the tools: VS Code, Dev_Tools, git, github, and a lot of web searching). I’ve got 60% of my front end coding done for a project and realize that I must now consider what backend processes will be needed. That raises questions, the first of which is what language to use for backend processes. I’m totally ignorant on this subject. I think both javascript and PHP will work for backend processes. How do I choose between them? I need guidance, please.
My understanding is that PHP is a backend-only language and runs on a server. I think my web host supports PHP but I’ll need more information from them to learn how to implement it there if I choose PHP. If I choose to use PHP, how will I test code on my local machine? Do I have to install a server (XAMPP or other)? If so, what should I use?
At this point I realize that I need a better understanding of the overall process. To that end I created a conceptual model.
I would appreciate comments on my model and deficiencies in my understanding AND any references you can offer to improve my understanding.
Hi @ahraitch
Wauw! So glad to know you are still learning!
Excellent job! Might I point out some observations to your diagram?
- Some people could argue that it depends on the setting, but “Pages” is usually considered your frontend.
- Keep the user interface like a different entity. It is relevant, but frontend is rather the things that the user will see - how the user views them can be kept out of scope when describing the frontend section. If you feel like adding it, you could create another section called “user” or “client”
- You are using a cilinder to abstract the Code activity. No bad! There is no need to discuss the way those shapes should be “officially” used as long as it works for your own underdanding. I would just mention that for that description, if you want to refer which language to use for each part of the workflow, I would suggest to think a different way to depict it?
- Depending on settings, data is your database ==> SQL; PHP is the language you would use to create your pages and it is closely related to web servers - it is actually a all purpose language with special features for web development. JS is actually very much the same as PHP in that sense… and CSS and HTML are mostly web browsers.
To start understanding some design paradigms associated to the use of PHP, try to have a look at the MVC design pattern. Also, you might have to learn some basics of object oriented programming.
Apart from those observations I cannot answer any further - my knowledge of PHP is rather poor.
The freeCodeCamp curriculum is mostly focused on JavaScript and Python at the moment, but the freeCodeCamp community and the freeCodeCamp resources also deal with PHP (eg. look the freeCodeCamp youtube channel). Try to find more on those many sources? There are also plenty of resources and online courses that you could follow about PHP.
I personally think that you are after a big challenge. Not to discourage you, but be aware that you are not after a “easy peasy” task. But if it is what you dream… don’t stop! Keep going! We will try to support you as much as we can.
Good luck!
1 Like
Thank you for the critique. I see where my model needs improvement. I’ve taken a quick glimpse of the MVC model and will learn more about it.
BTW: The box model I used for the conceptual model is a throwback to my days in the '70s. The ‘cylinder’ you referred to is the old representation for disk storage. Mainframe disks were originally drums around cylinders which explains why that symbol was used in the dark ages.
I hope you will stick with me as I go down this road. Your advice and help will be invaluable.