Skip to content

jimmybytes/php-learning-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Learning Resources

Valuable communities, blogs, websites, articles, books, videos, and other resources related to PHP


Dependency Management

Packages and frameworks for dependency management

Frameworks

Web development frameworks

Components

Configuration

Libraries and extensions for loading configuration files

  • Yaconf - High-performance configuration management extension
  • config - Lightweight configuration loader supporting PHP, INI, XML, JSON, YAML files
  • Zend-config
  • phpdotenv - Load global highest-priority variables from .env
  • symfony/yaml - Load and dump YAML configuration files

Micro Frameworks

Micro frameworks and routers

Routers

  • Fast Route - Efficient routing library
  • Route - Routing library based on Fast Route
  • Pux - Another efficient routing library
  • Klein - Flexible routing library
  • Macaw - Simple, fast, and sexy PHP router

Templating

Libraries and tools for templating and lexing

  • Twig - Comprehensive templating language
  • asm89/twig-cache-extension - Template fragment caching library for Twig
  • rcrowe/TwigBridge - Twig template engine support
  • Mustache - Mustache template language implemented in PHP
  • Phly Mustache - Another Mustache implementation in PHP
  • MtHaml - HAML template language implemented in PHP
  • PHPTAL - TAL template language implemented in PHP
  • Plates - Native PHP template library
  • Lex - Lightweight template parser
  • Aura.View - Provides TemplateView and TwoStepView

Static Site Generators

Pre-processing tools for generating web page content

  • Sculpin - Tool to convert Markdown and Twig to static HTML
  • Phrozn - Tool to convert Textile, Markdown, and Twig to HTML
  • Spress
  • Couscous - Tool to convert Markdown documentation to HTML for publishing on GitHub Pages

HTTP

Libraries for HTTP and web scraping

SOAP

Middlewares

Middleware libraries for building applications

URL

Libraries for parsing URLs

  • Purl - URL manipulation library
  • PHP Domain Parser - Public suffix list-based domain parser
  • Uri - Simple URL manipulation library

Email

Libraries for sending and parsing emails

Files

File handling and MIME type detection

Streams

Libraries for handling streams

  • Streamer - Simple object-oriented stream wrapper library

Dependency Injection

Libraries implementing dependency injection pattern

Imagery

Libraries for image processing

Testing

Libraries for testing code and generating test data

  • PHPUnit - Unit testing framework
  • DBUnit - Code testing library for PHPUnit
  • ParaTest - Parallel testing library for PHPUnit
  • PHPSpec - Specification-based unit testing library
  • Codeception - Full-stack testing framework
  • AspectMock - Mocking framework for PHPUnit/Codeception
  • Atoum - Simple testing library
  • Mockery - Mock object library for testing
  • Phake - Another mock object library for testing
  • Prophecy - Powerful mocking framework
  • Faker - Fake data generation library
  • Samsui - Another fake data generation library
  • Alice - Library for generating complex data
  • Behat - Behavior-driven development (BDD) testing framework
  • Pho - Another BDD testing framework
  • Mink - Web acceptance testing
  • HTTP Mock - Library for mocking HTTP requests in unit tests
  • VFS Stream - Virtual filesystem stream wrapper for testing
  • VFS - Another virtual filesystem for testing
  • Locust - Modern load testing library developed in Python
  • Peridot - Event-driven testing framework
  • SimpleTest - Unit Testing for PHP
  • testbench - Unit testing tool for Laravel packages
  • laracasts/TestDummy - Fake data creation tool by Laracasts

Continuous Integration

Libraries and applications for continuous integration

  • Travis CI - Continuous integration platform
  • SemaphoreCI - Continuous integration platform for open-source and private projects
  • PHPCI - Open-source continuous integration platform for PHP
  • Sismo - Continuous testing server library
  • Jenkins - Continuous integration platform with PHP support
  • JoliCi - Docker-supported continuous integration client developed in PHP

Documentation

Libraries for generating project documentation

  • Sami - API documentation generator
  • APIGen - Another API documentation generator
  • PHP Documentor 2 - Documentation generator
  • phpDox - Documentation generator for PHP projects (not just API)
  • swagger-php - PHP Swagger annotation and parsing library

Security

Libraries for generating secure random numbers, encrypting data, scanning vulnerabilities, tokens

Passwords

Libraries and tools for handling and storing passwords, various encodings

Code Analysis

Tools for analyzing, parsing, and manipulating code

  • PHP Parser - PHP parser written in PHP
  • PHPPHP - PHP virtual machine implemented in PHP
  • PHPSandbox - PHP sandbox environment
  • Dissect - Set of lexical and syntactic analysis tools
  • PHP Mess Detector - Library for scanning code bugs, suboptimal code, and unused parameters
  • PHP_CodeSniffer - PHP/CSS/JS code standards and quality checker
  • PHP CS Fixer - PHP code standards and quality fixer
  • phpmd - PHP code standards and quality checker
  • PHPCPD - Library for detecting copy-paste code
  • PHP Analyser - Library for analyzing errors in PHP code
  • PHP Manipulator - Library for analyzing and modifying PHP source code
  • PHP Metrics - Static metrics library
  • PHP Refactoring Browser - Command-line tool for refactoring PHP code
  • php-semver-checker - Semantic version comparison command-line tool
  • UBench - Simple micro-benchmark library
  • Athletic - Annotation-based benchmark library
  • Mondrian - Code analysis tool using graph theory
  • Scrutinizer - Web tool for checking PHP code
  • PHPLOC - Quick tool for evaluating PHP project size
  • PHPCheckstyle - Tool for adhering to specific code rules
  • PhpDependencyAnalysis - Tool for creating customizable dependency graphs
  • Code Climate - Automated code review
  • PHP Error - Better PHP error reporting for development debugging
  • psalm - Static analysis tool to identify potential bugs
  • phan - Static code analysis tool
  • phpstan - Static code analysis tool
  • PHPLint - PHP file syntax checker (multi-process, based on php -l)

Architectural

Libraries related to design patterns, programming paradigms, and code organization

Debugging and Profiling

Libraries and tools for debugging code

Build Tools

Project build and automation tools

  • Go - Simple PHP build tool
  • Bob - Simple project automation tool
  • Phake - PHP clone library
  • Box - Tool for building PHAR files
  • Phing - PHP project build system based on Apache Ant

Task Runners

Libraries for automating task execution

  • Task - Pure PHP task runner based on Grunt and Gulp
  • Robo - Object-oriented PHP task runner
  • Bldr - PHP task runner built on Symfony components

Navigation

Tools for building navigation structures

Asset Management

Tools for managing, compressing, and minifying website assets

Geolocation

Libraries for geocoding addresses with latitude and longitude

Date and Time

Libraries for handling dates and times

Event

Libraries for event-driven or non-blocking event loops

Logging

Libraries for generating and handling log files

E-commerce

Libraries and applications for payments and building online e-commerce stores

PDF

Libraries and software for handling PDF files

Office

Libraries for handling various Office suite documents

Database

Database interaction libraries using ORM or data mapper techniques

Migrations

Libraries for managing database schemas, migrations, backups

NoSQL

Libraries for handling NoSQL backends

Queue

Libraries for handling event and task queues

Search

Libraries and software for indexing and querying data

Command Line

Libraries for building command-line tools

Crontab

Crontab management and PHP encapsulations for scheduled tasks

Authentication and Authorization

Libraries implementing authentication patterns

Permission

Role and permission control components

Markup

Libraries for handling markup

Strings

Libraries for parsing and manipulating strings

Numbers

Libraries for handling numbers

Filtering and Validation

Libraries for filtering and validating data

REST and API

Libraries and web frameworks for developing RESTful APIs

  • dingo/api - Complete solution for building API servers
  • Apigility - API builder using Zend Framework
  • Hateoas - HATEOAS REST web service library
  • HAL - Hypertext Application Language (HAL) builder library
  • Negotiation - Content negotiation library
  • Drest - Library for exposing Doctrine entities as REST resources
  • Restler - Lightweight framework for exposing PHP methods as RESTful web APIs
  • thephpleague/fractal - [Best Practice] Unified data response handling
  • api-problem - Simple implementation of api-problem specification
  • graphql-php - Application-layer query language library
  • GraphQL - Another application-layer query language library
  • GrahamCampbell/Laravel-Throttle - Rate limiting tool

Caching

Libraries for caching data

Data Structure and Storage

Libraries implementing data structures and storage techniques

Notifications

Libraries for notifications

Deployment

Libraries for project deployment

Internationalisation and Localisation

Libraries for internationalization (I18n) and localization (L10n)

Third Party APIs

Libraries/SDKs for accessing third-party APIs

Extensions

Libraries for building PHP extensions

  • Zephir - Compiled language between PHP and C++ for developing PHP extensions
  • PHP CPP - C++ library for developing PHP extensions
  • PHP-X - C++ wrapper for Zend API

PHP Installation

Tools for installing and managing PHP

Development Environment

Software and tools for creating sandbox development environments

  • Docker - Open-source application container engine
  • Vagrant - Lightweight tool for creating development environments
  • Ansible - Simple orchestration framework
  • Puppet - Server automation framework and application
  • PuPHPet - Tool for building PHP development VMs
  • Protobox - Another tool for building PHP development VMs
  • Phansible - Another tool for building PHP development VMs
  • centstead - Laravel local development environment based on Vagrant and Homestead
  • Devilbox - Modern Dockerized LAMP/MEAN stack alternative to XAMPP
  • Homestead - Vagrant-based PHP development environment
  • Laradock - Docker-based PHP development environment

Virtual Machines

Alternative PHP virtual machines

  • HHVM - Facebook open-source PHP virtual machine
  • HippyVM - Another PHP virtual machine

Integrated Development Environment

IDEs supporting PHP

Web Applications

Web-based applications and tools

Infrastructure

Infrastructure for PHP applications and services

  • appserver.io - Multi-threaded PHP application server
  • php-pm - Process manager, booster, and load balancer for PHP applications

DB Proxy

For read-write separation, sharding, etc.

  • kingshard - Kingsoft open-source database proxy
  • heisenberg - Baidu open-source database proxy
  • Oceanus - 58.com open-source database proxy
  • Atlas - 360 open-source database proxy
  • DBProxy - Meituan based on Atlas database proxy
  • Mycat
  • TiDB - Distributed database

RPC Frameworks

Remote procedure call frameworks

Asynchronous Event Driven Framework

Rules Engine

  • Hoa\Ruler - Hoa project rules engine
  • Ruler - Simple stateless rule engine
  • Rules - Simple PHP rules engine

Miscellaneous

Useful libraries and tools not fitting above categories

About

phper common resources and lib

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages