As PHP developer, you need to know some common concepts and techniques that help you to write better code and provide solid solutions. It is also important to implement the right tools for the job. Tooling, development practices and development process methodology. If you’re not already familiar with the below content, then perhaps is a good idea to broaden your knowledge. Let me know what other stuff would you add to the list below.

Know PHP data types (8)

1) Integer, 2) Floating point number or Float, 3) String, 4) Booleans, 5) Array, 6) Object, 7) resource 8) NULL. See examples.

How to write Object Oriented Programming in PHP (OOP)

Be familiar with PHP Evolutions over years

Read more on PHP new releases in RFC docs.
PHP releases on php.net/releases

Know common development principles

DRY – Don’t repeat yourself.

KISS – KEEP IT SIMPLE STUPID

SOLID:

  • Single Responsibility Principle
  • Open-Close Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle (*Dependency Injection)

YAGNI – YOU AIN’T GONA NEED IT
TDA – TELL DON’T ASK

TDD – We write test before code the implementation
BDD – We describe functionality before code the implementation

Software development methodology

AGILE (Scrum) – often used with Jira & Asana (or with both)

Fallow good codding practice

PHP the right way
PSR – PHP Standards Recommendations
Write a clean code [blog]

Use design patterns

Design patterns PHP

Knowing data structures

Data structures:

  1. struct (can be implemented with array)
  2. array (Just a classic array we know from C or Java. PHP array is not an actually array structure… it is a implementation of map data structure).
  3. linked list
  4. doubly linked list
  5. stack (LIFO – what’s come last comes out first)
  6. queue (FIFO whats come last comes out last)
  7. priority queue (uses heap)
  8. set
    map (PHP array is a map implementation)
  9. tree
  10. graph
  11. heap

Understanding Algorithms and Big-O notation

See the PDF presentation on Big-O. Explained by examples, with quiz & answers here.

from CMSC 132
from CMSC 132

PHP Development Tools

Testing Tools

phpspec
phpUnit

Documenting Tools

phpdoc.org
swagger

PHP Framework of a choice:

Symfony
Laravel

Best Tutorial Platforms

Symfony PHP (and others) – https://symfonycasts.com/
Laravel PHP (and others) – https://laracasts.com/

Get to know PHP librarys

PHP Libraries are collections of pre-written code that users can use to optimize tasks. The Standard PHP Library (SPL) is a collection of interfaces and classes that are meant to solve common problems.

Standard PHP Library (SPL) YT
PHP Extension and Application Repository (PEAR)

Other stuff you should to learn

PHP Composer
MySQL / MariaDB / Postgres / SQL / query optimization / database normalisation
MongoDB
Elastic Search + Kibana or Open Search (Elastic open src fork)
Queueing the job with RabbitMQ
Know how to run PHP with docker Docker
Use Kubernetes with your docker images (keep services as standalone containers for better scaling)
Apache / NginX
Linux (Ubuntu, Debian, Fedora)

References

https://www.youtube.com/watch?v=prb_s7HAnP4
https://www.youtube.com/watch?v=txkeLks8IwI&t=732s

Behavior-Driven Development
Test-Driven Development
Refaktoryzacja kodu php z rector

0
Would love your thoughts, please comment.x
()
x