(If there are no experience with some specific tool, you are welcomed to name some alternatives)
Linting with php build-in linter
Code style checks with PHPCS (*)
Dependency management with Composer (*)
- Ways to autoload dependencies in Composer;
- composer.json vs composer.lock
Live templates in IDE
Error handling with Whoops
Carbon: a simple PHP API extension for DateTime
Debugging app with Kint
Editorconfig as a way to share common settings between different IDEs and editors (*)
Generation of universally unique identifiers with uuid library
Experience with one of the following template engines: Twig, Plates, Aura View etc
Code complexity check with PHPMD
Code debug with xDebug. (*)
- Possibilities
- Simple and conditional breakpoints.
Code profiling with xDebug
Code profiling with XHProf
Fake data generation with Faker
PSR-7 HTTP message interfaces: Laminas Diactoros (*)
PSR-15: HTTP Server Request Handlers PSR-15 middlewares
Experience with one of the following DB migration tools: Phinx, Doctrine Migrations etc (*)
Active Record ORM: Eloquent or similar (*)
Data Mapper ORM: Doctrine or similar (*)
Logging with Monolog (*)
Loading environment variables from .env file with PHP dotenv (*)
Experience in setting up a web-server: Apache or Nginx
- Apache + mod_php vs Nginx + php-fpm
Running scripts with cron (*)
Developing composer libraries as a way to reuse code.
Setting up VCS-hooks to run some tools (like pre-push hook for PHPUnit and PHPCS)
Composer scripts, events, hooks
Makefile as a way to share reusable scripts
Working with queues using RabbitMQ, Kafka, Gearman, etc
Experience with one of the following routers: Aura Router, Route (php league) etc
Setting up a consistent development environment using virtualization (*)
- Vagrant
- Docker:
- Dockerfiles, pure and based on existing images
- docker-compose to join separate images into encapsulated network
Experience with one of the following CI servers: Jenkins/Hudson/Bamboo/TeamCity etc
Deployment with Deployer or similar
Experience with one of the hosted CI servers: TravisCI, ScrutinizerCI etc
Experience with one of the following DI Containers: Laravel service container, Symfony service container, Pimple, Container, PHP-DI etc
Memcache (*)
Filesystem abstraction with a Flysystem (The PHP League)
Working with API: Swagger, ApiDoc, SAMI etc
Event-driven programming with ReactPHP
Using Supervisord for php scripts
Aggregation profiling using Live Profiler(lifeprof), New Relic, Pinba 2
Stats aggregation using StatsD, Graphite, Datadog, Grafana, etc
Monolog aggregation services. Logstash, Rapid7, etc