Resources
This is a collection of useful resources that taught me somethign or that I find very useful and good.
Libraries
The Criteria for selecting a Library
- Generic criteria:
- SHOULD NOT have additional dependencies, the fewer the better.
- MUST do just one thing and do it right instead of many (SRP).
- MUST have tests.
- PHP specific Criteria:
- SHOULD follow PSR2 and PSR12.
- SHOULD follow PSR in general.
- SHOULD support the most recent PHP version.
PHP Libraries
- Prooph Event Store - Prooph Event Story Library
- Nyholm PSR7 Server - PSR7 Server Library
- Ramsey UUID - UUID Library
- Beberlei Assert - Assertion Library
- Webmozar Assert - Assertion Library
- JSON API
- Automapper - PHP version of the c# Automapper library, an object mapper.
- AutoShell - A shell without further dependencies. I/O not included (use something like CLImate).
Dev Tools
- phpunit - Unit testing
- phpcs / phpcbf - Code Sniffer and Auto-Fixer
- grumphp - Pre-Commit Checks using different tools
- phpstan - Static Analyzer
- phive - The Phar Installation and Verification Environment (PHIVE)
- gh-ci - Github for the CLI
- kint - Debuggin Utility with zero dependenices
Youtube
Conference Talks
People
- Code Opinion - Software Architecture Architecture and c#, by Derek Comartin
- Continious Delivery CI/CD focused, by Dave Farley
- MilanJovanovicTech Architecture basics & c#, by Milan Jovanovic.
Other
Books
Architecture
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans.
- Implementing Domain-Driven Design by Vernon Vaughn.
- Patterns of Enterprise Application Architecture by Martin Fowler.
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin
- Mastering Non-Functional Requirements: Templates and tactics for analysis, architecture and assessment by Sameer Paradkar.
- Design Patterns. Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides.
- Team Topologies by Matthew Skelton & Manuel Pais.
UX
- Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems by Steve Krug.
- Humane Interface, The: New Directions for Designing Interactive Systems by Jef Raskin.
Leadership
- The Five Dysfunctions of a Team by Patrick Lencioni is a book about team building and team work.
- How to Lead Smart People: Leadership for Professionals
Websites
- The clean code blog by Robert C. Martin
- Refactoring Guru - A nice list of patterns and refactoring techniques.
- Microservice Architecture - by Chris Richardson - Everything about Microservices & Distributed Systems
- Eventmodeling.org - Event Modeling is a method of describing systems using an example of how information has changed within them over time.
- Connascence.io - Connascence is a software quality metric & a taxonomy for different types of coupling.
- Impactmapping.org - Impact maps show assumptions and a connection between business goals, impacts on users and stakeholders, and team deliverables.
- Wardley Mapping
News
- Reddits PHP Section - Reddits PHP section.
- InfoQ
- Dzone
Uncommon PHP Frameworks
The framework listed here are explicitly not the well known big ones.
- Spiral - Elegant high-performance framework + Roadrunner
- Hyperf - Co-routine based framwork (requires Swoole) that also features AOP (optionally)
Alternative PHP Servers
- FrankenPHP - A PHP server written in GO.
- Roadrunner - A PHP Server written in Go.
Companies practicing and promoting DDD & good software architecture
Misc
- Lindy Effect - The Lindy effect (also known as Lindy’s Law[1]) is a theorized phenomenon by which the future life expectancy of some non-perishable things, like a technology or an idea, is proportional to their current age.
- Conways’s Law - Conway’s law is an adage linking the communication structure of organizations to the systems they design.
- Pareto Principle - The Pareto principle (also known as the 80/20 rule, the law of the vital few and the principle of factor sparsity states that for many outcomes, roughly 80% of consequences come from 20% of causes (the “vital few”).
People to follow on Twitter / X
- Alberto Brandolini @ziobrando
- Amichai Mantinband @amantinband
- Daniel Bryant @danielbryantuk
- Dan Patrascu @danpdc
- Derek Comartin @codeopinion
- Explore DDD Conference. @exploreddd
- Eduardo da Silva @emgsilva
- Eric Evans @ericevans0
- EventModeling @EventModeling
- Frank de Jonge @frankdejonge
- Greg Young @gregyoung
- KanDDDinsky Conference @KanDDDinsky
- Kevlin Henney @KevlinHenney
- Manuel Pais @manupaisable
- Martin Fowler @martinfowler
- Matthias Noback @matthiasnoback
- Michael Plöd @bitboss
- Ross Tuck @rosstuck
- Uncle Bob Martin @unclebobmartin
- Vaughn Vernon @VaughnVernon