| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| php [2025/12/28 22:52] – phong2018 | php [2026/02/23 00:01] (current) – removed phong2018 |
|---|
| ==== 1) Setup & Tooling ==== | |
| |
| * [[php:setup:install|Install & Runtime]] | |
| * [[php:setup:versions|PHP Versions]] | |
| * [[php:setup:cli|PHP CLI]] | |
| * [[php:setup:ini|php.ini basics]] | |
| * [[php:setup:error_reporting|error_reporting & display_errors]] | |
| * [[php:setup:php_fpm|PHP-FPM]] | |
| * [[php:setup:composer|Composer]] | |
| * [[php:setup:composer_init|composer init]] | |
| * [[php:setup:composer_require|composer require]] | |
| * [[php:setup:composer_update|composer update]] | |
| * [[php:setup:composer_scripts|Composer scripts]] | |
| * [[php:setup:autoloading|Autoloading]] | |
| * [[php:setup:psr4|PSR-4]] | |
| * [[php:setup:namespaces|Namespaces]] | |
| * [[php:setup:quality_tools|Quality Tools]] | |
| * [[php:setup:phpcsfixer|PHP-CS-Fixer]] | |
| * [[php:setup:phpcs|PHP_CodeSniffer]] | |
| * [[php:setup:phpstan|PHPStan]] | |
| * [[php:setup:psalm|Psalm]] | |
| * [[php:setup:debugging|Debugging]] | |
| * [[php:setup:xdebug|Xdebug]] | |
| * [[php:setup:var_dump|var_dump / dd]] | |
| |
| ---- | |
| |
| |
| ==== 2) Language Basics ==== | |
| |
| * [[php:basics:syntax|Syntax]] | |
| * [[php:basics:tags|PHP tags (<?php ... ?>)]] | |
| * [[php:basics:echo_print|echo vs print]] | |
| * [[php:basics:comments|Comments]] | |
| * [[php:basics:variables|Variables & Constants]] | |
| * [[php:basics:variables_intro|Variables ($x)]] | |
| * [[php:basics:constants|Constants (const, define)]] | |
| * [[php:basics:scope|Scope (global/local/static)]] | |
| * [[php:basics:superglobals|Superglobals ($_GET, $_POST, $_SERVER...)]] | |
| * [[php:basics:references|References (&)]] | |
| * [[php:basics:types|Types]] | |
| * [[php:basics:scalar_types|Scalar types]] | |
| * [[php:basics:array_type|Array type]] | |
| * [[php:basics:object_type|Object type]] | |
| * [[php:basics:strict_types|declare(strict_types=1)]] | |
| * [[php:basics:type_juggling|Type juggling]] | |
| * [[php:basics:operators|Operators]] | |
| * [[php:basics:comparison|== vs ===]] | |
| * [[php:basics:ternary|Ternary (?:)]] | |
| * [[php:basics:null_coalescing|Null coalescing (??)]] | |
| * [[php:basics:spaceship|Spaceship (<=>)]] | |
| * [[php:basics:control_flow|Control Flow]] | |
| * [[php:basics:if_else|if/else]] | |
| * [[php:basics:switch|switch]] | |
| * [[php:basics:match|match]] | |
| * [[php:basics:loops|for/foreach/while/do-while]] | |
| * [[php:basics:break_continue|break/continue]] | |
| * [[php:basics:functions|Functions]] | |
| * [[php:basics:params|Parameters & return types]] | |
| * [[php:basics:variadic|Variadic (...$args)]] | |
| * [[php:basics:named_args|Named arguments]] | |
| * [[php:basics:closures|Closures]] | |
| * [[php:basics:use_keyword|use keyword (capture)]] | |
| * [[php:basics:arrow_functions|Arrow functions (fn)]] | |
| * [[php:basics:generators|Generators (yield)]] | |
| |
| ---- | |
| |
| |
| ==== 3) Data Structures & Data Handling ==== | |
| |
| * [[php:data:strings|Strings]] | |
| * [[php:data:interpolation|Interpolation]] | |
| * [[php:data:formatting|Formatting (sprintf)]] | |
| * [[php:data:mbstring|Multibyte strings (mbstring)]] | |
| * [[php:data:regex|Regex (PCRE)]] | |
| * [[php:data:arrays|Arrays]] | |
| * [[php:data:indexed_vs_assoc|Indexed vs Associative]] | |
| * [[php:data:array_funcs|array_map/filter/reduce]] | |
| * [[php:data:sorting|Sorting]] | |
| * [[php:data:destructuring|Destructuring]] | |
| * [[php:data:spread|Spread operator (...)]] | |
| * [[php:data:json|JSON]] | |
| * [[php:data:json_encode|json_encode]] | |
| * [[php:data:json_decode|json_decode]] | |
| * [[php:data:json_errors|JSON errors]] | |
| * [[php:data:datetime|Date & Time]] | |
| * [[php:data:datetime_immutable|DateTimeImmutable]] | |
| * [[php:data:timezone|Timezone]] | |
| * [[php:data:dateinterval|DateInterval]] | |
| * [[php:data:files|Files]] | |
| * [[php:data:file_read_write|Read/Write files]] | |
| * [[php:data:uploads|Uploads basics]] | |
| * [[php:data:serialization|Serialization]] | |
| * [[php:data:serialize_unserialize|serialize/unserialize]] | |
| * [[php:data:security_serialization|Serialization security]] | |
| |
| ---- | |
| |
| |
| ==== 4) OOP & Design ==== | |
| |
| * [[php:oop:class_object|Class & Object]] | |
| * [[php:oop:properties_methods|Properties & Methods]] | |
| * [[php:oop:visibility|Visibility]] | |
| * [[php:oop:constructor|Constructor]] | |
| * [[php:oop:inheritance|Inheritance]] | |
| * [[php:oop:override|Override]] | |
| * [[php:oop:final|final]] | |
| * [[php:oop:interfaces|Interfaces]] | |
| * [[php:oop:abstract|Abstract classes]] | |
| * [[php:oop:traits|Traits]] | |
| * [[php:oop:exceptions|Exceptions]] | |
| * [[php:oop:try_catch|try/catch/finally]] | |
| * [[php:oop:custom_exceptions|Custom exceptions]] | |
| * [[php:oop:magic_methods|Magic methods]] | |
| * [[php:oop:modern_oop|Modern OOP features]] | |
| * [[php:oop:attributes|Attributes]] | |
| * [[php:oop:enums|Enums]] | |
| * [[php:oop:readonly|Readonly]] | |
| * [[php:oop:principles|Principles & Patterns]] | |
| * [[php:oop:solid|SOLID]] | |
| * [[php:oop:di|Dependency Injection (DI)]] | |
| * [[php:oop:patterns|Design Patterns]] | |
| * [[php:oop:ddd|DDD basics]] | |
| |
| ---- | |
| |
| |
| ==== 5) Web & HTTP (Apps / APIs) ==== | |
| |
| * [[php:web:http_basics|HTTP Basics]] | |
| * [[php:web:methods|Methods]] | |
| * [[php:web:status_codes|Status codes]] | |
| * [[php:web:headers|Headers]] | |
| * [[php:web:request_response|Request/Response in PHP]] | |
| * [[php:web:get_post|$_GET / $_POST]] | |
| * [[php:web:server_vars|$_SERVER]] | |
| * [[php:web:content_type|Content-Type]] | |
| * [[php:web:routing|Routing (concept)]] | |
| * [[php:web:views|Views & Templating]] | |
| * [[php:web:php_templates|PHP templates]] | |
| * [[php:web:twig|Twig (Symfony)]] | |
| * [[php:web:blade|Blade (Laravel)]] | |
| * [[php:web:sessions_cookies|Sessions & Cookies]] | |
| * [[php:web:session_start|session_start]] | |
| * [[php:web:cookie_flags|Cookie flags]] | |
| * [[php:web:uploads|File Uploads]] | |
| * [[php:web:$_files|$_FILES]] | |
| * [[php:web:upload_security|Upload security]] | |
| * [[php:web:api|API Design]] | |
| * [[php:web:rest|REST]] | |
| * [[php:web:pagination|Pagination]] | |
| * [[php:web:versioning|Versioning]] | |
| * [[php:web:validation|Validation]] | |
| * [[php:web:errors|Error responses]] | |
| |
| ---- | |
| |
| |
| ==== 6) Database & Persistence ==== | |
| |
| * [[php:db:pdo|PDO]] | |
| * [[php:db:prepared_statements|Prepared statements]] | |
| * [[php:db:transactions|Transactions]] | |
| * [[php:db:mysql|MySQL]] | |
| * [[php:db:indexes|Indexes]] | |
| * [[php:db:joins|Joins]] | |
| * [[php:db:migrations|Migrations]] | |
| * [[php:db:orm|ORM]] | |
| * [[php:db:eloquent|Eloquent]] | |
| * [[php:db:doctrine|Doctrine]] | |
| * [[php:db:repository|Repository pattern]] | |
| * [[php:db:cache_layer|Cache layer (Redis)]] | |
| |
| ---- | |
| |
| |
| ==== 7) Security ==== | |
| |
| * [[php:security:input_validation|Input validation]] | |
| * [[php:security:sql_injection|SQL Injection]] | |
| * [[php:security:xss|XSS]] | |
| * [[php:security:csrf|CSRF]] | |
| * [[php:security:auth|Authentication]] | |
| * [[php:security:passwords|Passwords]] | |
| * [[php:security:jwt|JWT]] | |
| * [[php:security:sessions_auth|Session auth]] | |
| * [[php:security:authorization|Authorization]] | |
| * [[php:security:rbac|RBAC]] | |
| * [[php:security:policies|Policies]] | |
| * [[php:security:cors|CORS]] | |
| * [[php:security:https|HTTPS]] | |
| * [[php:security:secrets|Secrets management]] | |
| |
| ---- | |
| |
| |
| ==== 8) Testing & Quality ==== | |
| |
| * [[php:testing:phpunit|PHPUnit]] | |
| * [[php:testing:unit|Unit tests]] | |
| * [[php:testing:integration|Integration tests]] | |
| * [[php:testing:mocking|Mocking]] | |
| * [[php:testing:pest|Pest]] | |
| * [[php:testing:static_analysis|Static analysis]] | |
| * [[php:testing:phpstan|PHPStan]] | |
| * [[php:testing:psalm|Psalm]] | |
| * [[php:testing:coverage|Code coverage]] | |
| * [[php:testing:ci|CI testing pipeline]] | |
| |
| ---- | |
| |
| |
| ==== 9) Performance & Scaling ==== | |
| |
| * [[php:performance:opcache|OPcache]] | |
| * [[php:performance:profiling|Profiling]] | |
| * [[php:performance:caching|Caching]] | |
| * [[php:performance:redis|Redis]] | |
| * [[php:performance:cache_strategies|Cache strategies]] | |
| * [[php:performance:queues|Queues]] | |
| * [[php:performance:async|Async/Concurrency]] | |
| * [[php:performance:swoole|Swoole]] | |
| * [[php:performance:reactphp|ReactPHP]] | |
| |
| ---- | |
| |
| |
| ==== 10) Frameworks ==== | |
| |
| * [[php:frameworks:laravel|Laravel]] | |
| * [[php:frameworks:laravel_routing|Routing]] | |
| * [[php:frameworks:laravel_controllers|Controllers]] | |
| * [[php:frameworks:laravel_middleware|Middleware]] | |
| * [[php:frameworks:laravel_validation|Validation]] | |
| * [[php:frameworks:laravel_eloquent|Eloquent]] | |
| * [[php:frameworks:laravel_queue|Queues]] | |
| * [[php:frameworks:symfony|Symfony]] | |
| * [[php:frameworks:symfony_di|DI Container]] | |
| * [[php:frameworks:symfony_routing|Routing]] | |
| * [[php:frameworks:symfony_httpfoundation|HttpFoundation]] | |
| * [[php:frameworks:slim|Slim]] | |
| * [[php:frameworks:psr|PSR Standards]] | |
| * [[php:frameworks:psr7|PSR-7 HTTP Messages]] | |
| * [[php:frameworks:psr15|PSR-15 Middleware]] | |
| * [[php:frameworks:psr3|PSR-3 Logger]] | |
| |
| ---- | |
| |
| |
| ==== 11) Deployment & Operations ==== | |
| |
| * [[php:deploy:nginx_phpfpm|Nginx + PHP-FPM]] | |
| * [[php:deploy:virtual_host|Virtual host]] | |
| * [[php:deploy:permissions|Permissions]] | |
| * [[php:deploy:docker|Docker]] | |
| * [[php:deploy:dockerfile|Dockerfile]] | |
| * [[php:deploy:compose|docker-compose]] | |
| * [[php:deploy:ci_cd|CI/CD]] | |
| * [[php:deploy:github_actions|GitHub Actions]] | |
| * [[php:deploy:monitoring|Monitoring]] | |
| * [[php:deploy:logs|Logs]] | |
| * [[php:deploy:metrics|Metrics]] | |
| * [[php:deploy:alerting|Alerting]] | |
| |