- Must read
 - Tutorials
 - Videos
 - Books
 - Online schools
 - Reference
 - LAMP: Linux, Apache, MySql, PHP
 - HTML / HTML 5
 - CSS
 - JavaScript
 - Protocols
 - Tools
 - IDEs
 - Graphic tools
 - Frontend
 - Webdesign
 - Frameworks
 - Micro Frameworks
 - Libraries
 - Model-View-Controller
 - Object-oriented programming
 - Design patterns
 - Best Practices
 - Templating
 - View libraries (frontend)
 - Database basics
 - Database books
 - Relational database management system (RDBMS)
 - Database normalization
 - Prepared Statements
 - NoSQL
 - Database tutorials
 - Database libraries
 - Database tools
 - Standards
 - Errors and exception handling
 - Debugging
 - Unit testing
 - Documentation
 - PHP Sessions
 - Router and Dispatcher
 - Text translations
 - Dependency injection
 - Version control
 - Security
 - Architecture
 - Domain Driven Design (DDD)
 - Continuous integration and Continuous Delivery
 - Community and News
 
- Laravel PHP Practitioner (Free)
 - PHP Pandas
 - Hacking with PHP
 - PHP Essentials
 - PHP 101: PHP For the Absolute Beginner
 - Make your own blog beginners tutorial
 - Codecademy PHP
 - W3Schools PHP
 - Tutorialspoint PHP
 - Devzone PHP
 - Learn X in Y minutes
 
- Modern PHP: New Features and Good Practices
 - Learning PHP 7
 - Phparchitect's Zend PHP 5 Certification Study Guide
 - Free Programming Books
 
- CodeAcademy - Web Development
 - KnpUniversity - Learn PHP
 - KnpUniversity - Learn Symfony 4
 - Treehouse - Learn PHP
 
The LAMP stack:
- JavaScript (aka ECMAScript)
 - Basic JavaScript
 - JSON
 - JSON Reference
 - JavaScript Tutorial
 - Eloquent JavaScript
 - You Don't Know JS (book series)
 - Awesome JavaScript Learning
 
- XAMPP (Apache, MariaDB, PHP)
 - Composer (dependency management)
 - WinSCP (Free SFTP, SCP and FTP client)
 - Putty (A free SSH and telnet client)
 - PoEdit (gettext translations editor)
 - Smartgit (GUI client for Git)
 - Notepad++ (Text editor)
 - 7-ZIP (File archiver)
 
- Netbeans
 - PHPStorm ($)
 - Zend Studio ($)
 
- Adobe Photoshop ($)
 - Adobe Fireworks ($)
 - Gimp
 - IrfanView
 
- jQuery (The most widely deployed JavaScript library, DOM manipulation, Ajax)
 - HTML5
 - CSS
 - Bootstrap (The most popular HTML, CSS, and JS framework in the world)
 - Font Awesome (The web’s most popular icon set)
 
- CakePHP (A MVC, CRUD, Scaffolding framework, inpired by Ruby on Rails)
 - Laravel (A very popular framework)
 - Symfony (A modular enterprise framework)
 - Zend (A modular enterprise fraemwork)
 
Most frameworks in PHP follow some sort of MVC structure. The theory is simple:
The user interfaces with the view, which passes information to a controller. The controller then passes that information to a model (layer), and the model passes information back to the controller. The controller effectively stands between the view and the model. (Brandon James Savage)
- MVC
 - MVC overview
 - MVC for Noobs
 - A Better Understanding Of MVC
 - Thin controllers, fat models
 - Best Practices Controllers
 - MVC for advanced PHP developers
 
"Write shy code -
modules that don't reveal anything unnecessary to other
modules and that don't rely on other modules' implementations."
- Classes and Objects
 - Mastering Object Oriented PHP (ebook)
 - Objektorientierte Programmierung (german)
 - OOP mit PHP5 (german)
 - Object-Oriented Bootcamp
 - SOLID Principles in PHP
 
Simplicity is prerequisite for reliability.
— Edsger W. Dijkstra
"DRY ‐ Don't Repeat Yourself
Every piece of knowledge must have a single,
unambiguous, athoritative representation within a system."
- Return early, return often
 - Global Variables Are Bad
 - Thin controllers and fat models
 - PHP Dos and Don’ts aka Programmers I Don’t Like
 - Composition over inheritance
 - Clean Code PHP
 - Object Calisthenics
 
- Database
 - Database model
 - The only proper PDO tutorial
 - SQL Tutorial
 - Datenbank Grundlagen (german)
 - ERM
 - Datenbank-Grundlagen Tutorial (german)
 - Datenbank-Grundlagen Tutorial: Primärschlüssel (german)
 
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
- Database normalization
 - Der Königsweg: Normalisierung (german)
 - Normalisierung (german)
 - MySQL - Normalisierung (german)
 
- NoSQL
 - Redis (In-memory data structure store, used as a database, cache and message broker)
 - MongoDB (Document-oriented database)
 
Follow common PHP conventions for object-oriented code, and established industry best practices: PSR-1, PSR-2, PSR-4.
- PHP Framework Interop Group
 - PSR-1 Basic Coding Standard
 - PSR-2 Coding Style Guide
 - PSR-3 Logger Interface
 - PSR-4 Autoloader
 - PSR-5 PHPDoc
 - Standard PHP package skeleton
 - A skeleton repository for League Packages
 - Semantic Versioning 2.0.0
 
- Errors and Exceptions
 - Error Handling PHP Best Practices
 - Exceptions
 - Predefined Exceptions
 - SPL Exceptions
 - Errors and error handling
 
- Xdebug (Debugger)
 - Installing Xdebug for XAMPP
 
“Software testers do not make software; they only make them better.” – Anonymous
- PHPUnit - testing framework
 - PHPUnit Explained (ebook)
 - Database Testing
 - Best practices for database testing with PHPUnit
 - Database Tests With PHPUnit
 - Database Fixture Setup in PHPUnit
 - Unit test, Integration Test, Smoke test, Regression Test
 - Unit Testing, Integration Testing and Functional Testing
 - The correct way to use integration tests
 - The Test Pyramid
 - The Way of Testivus (pdf)
 - 100% Code Coverage via automated tests in Symfony applications
 
Code never lies, comments sometimes do.
- Introduction to PhpDoc
 - The PHPDoc standard (PSR-5) for comments
 - PHPDoc wiki
 - PHPDoc basic syntax
 - Anatomy of a DocBlock
 - Your First Set of Documentation
 
- Internationalization and localization (i18n)
 - Symfony: The Translation Component
 - PoEdit Gettext Translations Editor
 
- What is Dependency Injection?
 - The Clean Code Talks - Don't Look For Things! (Video)
 - Dependency Injection and Dependency Inversion (Video)
 - PSR-11: Container interface
 
- todo
 
- todo
 
- todo
 
- What is version control
 - Github
 - Got 15 minutes and want to learn Git?
 - gittutorial - A tutorial introduction to Git
 - git - the simple guide
 - How to contribute to an open source project on GitHub
 
A good programmer looks both ways before crossing a one-way street.
- Web security essentials
 - PHP Security Cheat Sheet
 - PHP The Right Way - Security
 - XSS
 - HTML encoding
 - What ENT_* should I use for htmlspecialchars?
 - The latest information about secure PHP software
 
- Domain-Driven Design: Tackling Complexity in the Heart of Software
 - Implementing Domain-Driven Design
 
