Once upon a time, I put together a working environment with PHP, xDebug, Docker and PhpStorm. Since then, I have been dragging it from project to project and felt happy. For those who find it difficult to set up a local environment with Docker and xDebug, I am posting this config with explanations. Here below we will create a Docker image with xDebug installed, configure PhpStorm and explain a working configuration for Docker Compose.
The answer is definitely simple: use Docker 😃 Benefits I get from using PHP like this:
- No need to bother with setting up a local environment, switching PHP versions, installing additional libraries and resolving conflicts
- One text file with command line aliases is enough for any version of PHP to work on any computer. And from here
- Ease of transferring data between machines
- You can safely demolish the system on your main computer, restoring work with PHP will be as simple as
This article is about parsing the use of docker in one specific scenario, so if you are already familiar with this technology, you can safely skip it. The rest of you are welcome to the further reading.
The question of the area of responsibility of a particular class in a program architecture is no less important than architecture strategic planning. Today I will tell you how to make this job easier for yourself. We will solve a fairly large number of issues, leaving only two types of classes out of an infinite variety: DTO and Service. These types cover 90-99% of everything needed in any project. So, let's look at what they are, and why it's so good to leave only them.