Resources for learning PHP for all Levels

Tram Ho

This article shares with you the roadmap and reference when learning PHP according to the Levels. Below is a definition of each Level, with some of you may be different.

It is important to note that all materials will be in English and may cost (tuition). Depending on the qualifications and needs that you choose to suit yourself.

1. Level: Junior

This is the beginning level, you do not know what PHP is, or what PHP can do. You haven’t even coded a single line in your life. Then the documents below are for you.

  • Murach’s PHP and MySQL, 2nd Edition, this is a book to read because it is quite complete and includes MySQL and many examples for beginners. This is the book FPT Poly translated into textbooks for students of the school.

  • PHP 7 Zend Certification Study Guide, this is a book used to review Zend certificate, written in the format of the exam according to each category, not the writing form from basic to advanced. Whether you take the ZCE exam or not, it is a good reference.

  • PHP Cookbook, 3rd Edition, an instant noodle book that guides many examples when using PHP.

  • Instructions from W3School: https://www.w3schools.com/php/default.asp . This is probably the most read PHP guide, because it’s simple, the words are the most easily understood, with examples running on the Web.
  • Instructions from Tutorialpoint: https://www.tutorialspoint.com/php/ , this is a huge tutorial page of India with a lot of technology. TUT here I see Copy and summarize in many books, but if you need to read quickly to do some things with PHP, it is a good source of reference.
  • PHP course from Lynda.com for anyone who wants to watch Video and listen to English.
  • Website: https://www.php-fig.org/ , this is the page about Coding Standard in PHP. It is currently recognized by the community, and most frameworks or libraries use these standards. Perhaps when you consult all of the above, then you have an overview of PHP already. Now your level is like a Junior.

2. Level: Senior

At this level, in addition to proficient in PHP, you need to know a lot more things like Design Pattern, Software Design, Refactoring … So what to read now?

  • Object-Oriented Analysis and Design with Applications 3rd, the classic object-oriented book You can skip it but I encourage you to read it if you want to go further with Object-oriented software design.

  • Clean Code: A Handbook of Agile Software Craftsmanship, learn how to write clean code. This book can be used when you are a Junior, but if you are a Senior, you have to master this dish.

  • Agile Software Development: Principles, Patterns, and Practices: A book for developers wishing to apply Agile Mindset to software. Co-authored with Clean Code. The book also talks about many popular methods such as SOLID design, Test Driven, Refactoring, etc.

  • Modern PHP: New Features and Good Practices: A bit of an Outdate book compared to the present, but also quite helpful and gives you an overview of the development tools that come with PHP in projects.

  • PHP Objects, Patterns, and Practice 6th: You can read the Design Pattern of Gang of Four but you shouldn’t skip this one. Pretty update book according to the current development.

  • Refactoring: Improving the Design of Existing Code: Martin Fowler, this is a classic book on Refactoring, it shows why you have to refactor code, when to refactor and what Smell code is encountered and how to handle them. If you are a Senior then you will have to know this, if you are Junior you can also refer to this book and apply its examples.

  • Website: https://sourcemaking.com , neat summary and specific examples (in many languages ​​including PHP) of Design Pattern, Refactoring. If Design Pattern is hard, you can get Head First Design Pattern and refer to this website.
  • Website: https://phptherightway.com/ , this is the Web of the author of Modern PHP but is regularly updated by the community.
  • Some books related to Database: Database System Concepts – quite famous textbook. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence – Working with Refactoring, a Software Design Guru, this article provides an overview of NoSQL. High Performance MySQL, 3rd Edition – a book about performance optimization for MySQL.
  • Pluralsight MySQL course: https://www.pluralsight.com/paths/mysql , this is the basic to advanced course. Junior can consult, and Senior must be very specific about the section related to Optimize Query and Performance.
  • Redis in Action: I recommend this book because Redis is a Caching Server that is very popular with PHP. Many large systems today use Redis, according to my updates, Stackoverflow, Instagram, Zing Me …

In addition to technology, Senior will have to pay attention to many other issues such as Process, project management, communication, training … however in the scope of this article I only list aspects of Technical.

3. Level: Solution Architect

As far as I can tell, being a Senior is really difficult, but with PHP being heavily applied to large and complex systems. If you want to stick with PHP and become an Expert Engineer, then surely you will have to cross this level.

  • Infrastructure is a very important thing when making a Solution, so learn Docker through the following https://www.pluralsight.com/paths/managing-containers-with-docker , because Docker is a very powerful tool to deploy. Not just PHP systems. In addition to Docker you have to know newer things like Ansible, Teraform, Kubernetes … While doing the project, you may not have to directly do these things, or use Cloud services like AWS or Azure but you should know if you Use the Private Cloud or build the Server yourself.
  • Books about CI / CD: Continuous Delivery by Jez Humble and Continuous Integration by Steve Matyas. You will understand how to implement the system continuously. Currently there are many other implementations, but basically base on the idea of ​​CI / CD. If you are interested in this issue, you should refer to websites like https://www.infoq.com/ or https://dzone.com/

  • Patterns of Enterprise Application Architecture: classic books about System Pattern. After reading, you will understand how ORM is really, and what are the common patterns, advantages and disadvantages. You will also know how Transtraction Script and Domain Model differ, how good. The pattern is also divided into groups for your convenience.

  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, as the name implies, books on how to design and deploy systems based on Messaging and a number of other methods. This is a popular way of deploying distributed systems (Distributed System). You will understand how popular Message Brokers work like RabbitMQ, ZeroMQ or MS Enterprise Service Bus.

  • Domain-Driven Design: Tackling Complexity in the Heart of Software, this is a Buzz Word for a long time. It is almost a methodology of new software design. The book was quite hard, I had to Drop halfway to read the shortened version first. If you are interested in Domain Driven Design, you should read the book Implementing Domain-Driven Design.

  • Update new technology with Clean Architecture: A Craftsman’s Guide to Software Structure and Building Microservices: Designing Fine-Grained Systems. If you apply Microservice, Domain Drive Design is a very good law method.

  • Domain-Driven Design in PHP, a book that applies real DDD strategy to PHP. Read only if you really understand DDD, before I read through as some things do not understand because of the drop DDD book above.

The above are just documents to help you refer to when you have problems at work or want to refer to what the Pro brothers read or how to Pro. I believe that in your PHP Developer career, there will be times when these problems occur. Next time I will write about project management, because I am transitioning to project management lately. There are many interesting things that I think can be shared with you.

Share the news now

Source : Viblo