Over the years in the PHP community we have noticed that many users encounter similar issues and questions about PHP and web development throughout their PHP journey. This is a living repository that includes a collection of articles, best practices and frequently asked questions about PHP. This repository is also rendered on GitHub page.
Learning is an important part of every developer to stay current. Each person has different preferences and approaches for learning. What is important that you keep learning through your entire career. Few suggestions you can implement in your learning habits: make dedicated time for learning, take small steps, study each topic in details. Even if it may seem that you will not need particular topic now, it might be useful later on in some project of yours. Learning has an advantage where you will be able to recall where to look further again in the future when you will need to solve particular development problem. Many developers also write blog posts or articles as they learn something new for multiple reasons: to share the knowledge with others and to strengthen their knowledge on particular topic as well (like taking notes when studying for exam).
The following pages will point out topics required for every PHP developer in
particular on different skill levels. Most chapters also include further 3rd
party links at the bottom in the See Also
sections, to study particular topic
in more details.
-
Introduction chapter with basics to get up and running with PHP.
-
Object oriented programming with PHP, design patterns and anti patterns.
-
Access to databases with PHP.
-
Security 🔒
Web application and PHP security chapter.
-
Using a framework can help speeding up and improving the application. Which framework to learn and how to create your custom framework.
-
How to testing and write quality PHP code.
-
Packages, Libraries and Managing Dependencies 📦
PHP ecosystem of open source code from various resources.
-
API ☁️
Application Programming Interface.
-
To successfully work with PHP, there are many libraries and tools available. This chapter explains some of the recommended interoperability things required for building web applications with PHP.
-
Awesome PHP community and PHP user groups.
-
General ❔
All other PHP questions and tricks.
-
A list of PHP best practices.
This is a repository in progress and is regularly updated. The following chapters and topics are also planned in the near future:
- Object oriented programming improvements
- Various more thorough security chapters
- Performance of PHP applications
- Docker for PHP developers
- Redis
- Testing improvements
- Asynchronous programming in PHP
- HTTP basics
We are always looking forward to see your contribution to these knowledge resources as well.
If you feel that there is something missing and should be pointed out, or you've just found a typo, don't hesitate to open an issue or send a pull request. The CONTRIBUTING.md file contains more information about contributing.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. Code snippets in examples are published under the CC0 1.0 Universal (CC0 1.0).
Big thanks to all the authors and contributors.