PHP is a server-side scripting language designed for modern web applications.
The PHP language offers a very fast learning curve, i.e. in a very short time (on the order of weeks) you will be able to understand most of the principles of the language to the point where you will be able to create almost any simple web application using forms, user accounts, database and much more.
Another advantage of PHP is its massive spread on almost all servers (for hosting) and constant development, which makes you sure that your application/web will run everywhere.
How to get started?!?
Make sure you have the following things in place before you start:
Brain, it's a lot about thinking,
A computer (or server) where you can run your scripts,
A knowledge of mathematics or some technical field is useful,
At least a basic knowledge of English is useful (most materials are in English only, such as the official manual and web forums),
Knowledge of another programming language is an advantage (very similar to C/C++, which PHP is based on),
I strongly recommend a basic knowledge of HTML and CSS, without which understanding PHP is very difficult.
A basic software background (varies across systems and the best programs are not free).
Any modern web browser that offers debug mode. I personally use Google Chrome.
For starters, a better text editor with syntax highlighting is sufficient. The world's best is probably Sublime Text (which offers advanced work with any text in many formats, working with multiple cursors, regular expressions, and is generally a multi-purpose tool for more than just programming). In the past I used the Czech editor PSpad (which I currently see as very outdated and insufficient for modern websites), some people also use Notepad++.
If you're serious about development, I'd rather use the full development environment. At work, I use PhpStorm, which I see as the best editor for writing code that has ever been coded.
A web server that can do PHP, MySql database and allows you to configure your settings. I currently consider Xampp, which is a pre-packaged package, to be the best choice for Windows.
In Ubuntu I use Sublime Text, both are sufficient to get started.
Installing a web server is more challenging compared to Windows. In Ubuntu, for example, there is a Tasksel program for this, which is controlled by Terminal.
If you're installing a Linux server, it's also worth considering Ngnix.
The Mac is great to program on, it caters to the user.
For development on a MacBook Pro, I use PhpStorm, which I find to be the best development environment, and for editing regular text files, I use Sublime Text, which handles large files very well.
I installed the server myself via Terminal, which can be challenging for beginners, but there's a tool called Mamp that lets you click all the things with your mouse.
As of 2020, it's starting to become apparent that all the problems with running PHP and entire applications can be easily solved through Docker containers. Learning how to work with Docker will save hundreds of hours in the future and easily integrate newcomers into an existing project.
Parts of the series
For a complete primer with PHP, I've written several articles to overcome the beginner barrier and slip into the basics of PHP:
Later on, however, web development is already quite complicated and one really needs a lot of knowledge (or at least to suspect that such a thing exists). Since the concept of the whole language and web development is quite complex, I have prepared at least a basic knowledge overview, which I am gradually adding to and writing articles about.
I provide these materials for free through the php.baraja.cz website, so they may not be used in any other paid course. The texts may contain errors and inaccuracies. This is not an official translation of the manual.
I reserve all rights to the texts (really) and therefore copying is forbidden. You may use the URL of this site (linked here) and the sample source code without further restriction.
I'm happy to chat with you about web development, I'm happy to give you general advice, but more complex work is viewed as a paid job.
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.