{"id":28412005,"url":"https://github.com/pickleboxer/php-oop-learning","last_synced_at":"2026-01-28T22:35:11.355Z","repository":{"id":286781930,"uuid":"962538728","full_name":"PickleBoxer/php-oop-learning","owner":"PickleBoxer","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-08T09:59:14.000Z","size":424,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T07:37:36.336Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PickleBoxer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-08T09:56:12.000Z","updated_at":"2025-04-17T14:56:46.000Z","dependencies_parsed_at":"2025-04-08T10:39:56.187Z","dependency_job_id":"7fb874a0-a794-4955-8fb4-b52c5def3913","html_url":"https://github.com/PickleBoxer/php-oop-learning","commit_stats":null,"previous_names":["pickleboxer/php-oop-learning"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PickleBoxer/php-oop-learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PickleBoxer%2Fphp-oop-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PickleBoxer%2Fphp-oop-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PickleBoxer%2Fphp-oop-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PickleBoxer%2Fphp-oop-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PickleBoxer","download_url":"https://codeload.github.com/PickleBoxer/php-oop-learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PickleBoxer%2Fphp-oop-learning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28853594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-02T19:19:07.223Z","updated_at":"2026-01-28T22:35:11.349Z","avatar_url":"https://github.com/PickleBoxer.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔄 PHP OOP Learning Repository\n\n[![PHP Version](https://img.shields.io/badge/PHP-7.4%2B-blue.svg)](https://www.php.net/releases/7_4_0.php)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\nWelcome to the PHP Object-Oriented Programming (OOP) Learning Repository. This comprehensive guide covers everything from basic OOP concepts to advanced enterprise patterns in PHP.\n\n---\n\n## 📋 Table of Contents\n\n- [1. Fundamentals of OOP](./01-fundamentals/README.md)\n- [2. Advanced OOP Concepts](./02-advanced-oop/README.md)\n- [3. SOLID Principles](./03-solid-principles/README.md)\n- [4. Design Patterns](./04-design-patterns/README.md)\n- [5. Enterprise Patterns](./05-enterprise-patterns/README.md)\n- [6. Code Quality and Standards](./06-code-quality/README.md)\n\n---\n\n### 1. 🔰 Fundamentals of OOP\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand Fundamentals topics\u003c/summary\u003e\n\n- [Classes and Objects](./01-fundamentals/01-classes-and-objects.md)\n- [Properties and Methods](./01-fundamentals/02-properties-and-methods.md)\n- [Encapsulation](./01-fundamentals/03-encapsulation.md)\n- [Inheritance](./01-fundamentals/04-inheritance.md)\n- [Polymorphism](./01-fundamentals/05-polymorphism.md)\n- [Abstraction](./01-fundamentals/06-abstraction.md)\n- [Interfaces](./01-fundamentals/07-interfaces.md)\n- [Namespaces](./01-fundamentals/08-namespaces.md)\n- [Practical Project](./01-fundamentals/09-practical-project.md)\n- [Best Practices](./01-fundamentals/10-oop-cheat-sheet.md)\n\n\u003c/details\u003e\n\n### 2. 🚀 Advanced OOP Concepts\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand Advanced OOP topics\u003c/summary\u003e\n\n- [Namespaces](./02-advanced-oop/01-namespaces.md)\n- [Traits](./02-advanced-oop/02-traits.md)\n- [Anonymous Classes](./02-advanced-oop/03-anonymous-classes.md)\n- [Late Static Binding](./02-advanced-oop/04-late-static-binding.md)\n- [Object Cloning \u0026 Comparison](./02-advanced-oop/05-object-cloning-comparison.md)\n- [Reflection](./02-advanced-oop/06-reflection.md)\n- [Magic Methods](./02-advanced-oop/07-magic-methods.md)\n- [Type Declarations](./02-advanced-oop/08-type-declarations.md)\n- [Iterators \u0026 Generators](./02-advanced-oop/09-iterators-generators.md)\n- [Closure \u0026 Callable](./02-advanced-oop/10-closure-callable.md)\n\n\u003c/details\u003e\n\n### 3. ⚖️ SOLID Principles\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand SOLID topics\u003c/summary\u003e\n\n- [Single Responsibility Principle](./03-solid-principles/01-single-responsibility.md)\n- [Open/Closed Principle](./03-solid-principles/02-open-closed.md)\n- [Liskov Substitution Principle](./03-solid-principles/03-liskov-substitution.md)\n- [Interface Segregation Principle](./03-solid-principles/04-interface-segregation.md)\n- [Dependency Inversion Principle](./03-solid-principles/05-dependency-inversion.md)\n\n\u003c/details\u003e\n\n### 4. 🏗️ Design Patterns\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand Design Patterns topics\u003c/summary\u003e\n\n#### Creational Patterns\n- [Factory Method](./04-design-patterns/01-creational/01-factory-method.md)\n- [Abstract Factory](./04-design-patterns/01-creational/02-abstract-factory.md)\n- [Builder](./04-design-patterns/01-creational/03-builder.md)\n- [Singleton](./04-design-patterns/01-creational/04-singleton.md)\n- [Prototype](./04-design-patterns/01-creational/05-prototype.md)\n\n#### Structural Patterns\n- [Adapter](./04-design-patterns/02-structural/01-adapter.md)\n- [Bridge](./04-design-patterns/02-structural/02-bridge.md)\n- [Composite](./04-design-patterns/02-structural/03-composite.md)\n- [Decorator](./04-design-patterns/02-structural/04-decorator.md)\n- [Facade](./04-design-patterns/02-structural/05-facade.md)\n- [Flyweight](./04-design-patterns/02-structural/06-flyweight.md)\n- [Proxy](./04-design-patterns/02-structural/07-proxy.md)\n\n#### Behavioral Patterns\n- [Chain of Responsibility](./04-design-patterns/03-behavioral/01-chain-of-responsibility.md)\n- [Command](./04-design-patterns/03-behavioral/02-command.md)\n- [Iterator](./04-design-patterns/03-behavioral/03-iterator.md)\n- [Mediator](./04-design-patterns/03-behavioral/04-mediator.md)\n- [Memento](./04-design-patterns/03-behavioral/05-memento.md)\n- [Observer](./04-design-patterns/03-behavioral/06-observer.md)\n- [State](./04-design-patterns/03-behavioral/07-state.md)\n- [Strategy](./04-design-patterns/03-behavioral/08-strategy.md)\n- [Template Method](./04-design-patterns/03-behavioral/09-template-method.md)\n- [Visitor](./04-design-patterns/03-behavioral/10-visitor.md)\n\n\u003c/details\u003e\n\n### 5. 🏢 Enterprise Patterns\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand Enterprise Patterns topics\u003c/summary\u003e\n\n- [Repository Pattern](./05-enterprise-patterns/01-repository-pattern.md)\n- [Unit of Work](./05-enterprise-patterns/02-unit-of-work.md)\n- [Service Layer](./05-enterprise-patterns/03-service-layer.md)\n- [Data Mapper](./05-enterprise-patterns/04-data-mapper.md)\n- [Active Record](./05-enterprise-patterns/05-active-record.md)\n- [Domain Model](./05-enterprise-patterns/06-domain-model.md)\n- [Event Sourcing](./05-enterprise-patterns/07-event-sourcing.md)\n- [CQRS](./05-enterprise-patterns/08-cqrs.md)\n- [Dependency Injection Container](./05-enterprise-patterns/09-dependency-injection-container.md)\n  - [Dependency Injection vs Container](./05-enterprise-patterns/09a-dependency-injection-explained.md)\n- [Specification Pattern](./05-enterprise-patterns/10-specification-pattern.md)\n- [Data Transfer Object (DTO)](./05-enterprise-patterns/11-data-transfer-object.md)\n- [Lazy Loading](./05-enterprise-patterns/12-lazy-loading.md)\n- [Circuit Breaker](./05-enterprise-patterns/13-circuit-breaker.md)\n- [Saga Pattern](./05-enterprise-patterns/14-saga.md)\n- [Front Controller](./05-enterprise-patterns/15-front-controller.md)\n- [Inversion of Control (IoC)](./05-enterprise-patterns/16-inversion-of-control.md)\n- [Mediator/Middleware](./05-enterprise-patterns/17-middleware.md)\n- [Observer](./05-enterprise-patterns/18-observer.md)\n- [Publish-Subscribe](./05-enterprise-patterns/19-pub-sub.md)\n- [Adapter/Wrapper](./05-enterprise-patterns/20-adapter.md)\n\n\u003c/details\u003e\n\n### 6. 🧪 Code Quality and Standards\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand Code Quality topics\u003c/summary\u003e\n\n#### Coding Standards\n- [Coding Standards Overview](./06-code-quality/01-coding-standards.md)\n  - [PSR Standards Overview](./06-code-quality/01a-psr-standards.md)\n  - [PSR-1: Basic Coding Standard](./06-code-quality/01b-psr-1.md)\n  - [PSR-12: Extended Coding Style](./06-code-quality/01c-psr-12.md)\n  - [PSR-4: Autoloading Standard](./06-code-quality/01d-psr-4.md)\n\n#### Code Analysis Tools\n- [Code Analysis Tools Overview](./06-code-quality/02-code-analysis-tools.md)\n  - [Static Analysis Tools](./06-code-quality/02-static-analysis.md)\n  - [Static Analysis with PHPStan](./06-code-quality/02a-phpstan.md)\n  - [PHP_CodeSniffer (PHPCS)](./06-code-quality/02b-phpcs.md)\n  - [PHP Mess Detector (PHPMD)](./06-code-quality/02c-phpmd.md)\n  - [PHP Insights](./06-code-quality/02d-php-insights.md)\n\n#### Testing Practices\n- [Testing Practices Overview](./06-code-quality/03-testing-practices.md)\n  - [Unit Testing with PHPUnit](./06-code-quality/03a-phpunit.md)\n  - [Test-Driven Development](./06-code-quality/03b-tdd.md)\n  - [Behavior-Driven Development](./06-code-quality/03c-bdd.md)\n  - [Mocking and Test Doubles](./06-code-quality/03d-mocking.md)\n\n#### Code Improvement\n- [Code Improvement Overview](./06-code-quality/04-code-improvement.md)\n  - [Refactoring Principles](./06-code-quality/04a-refactoring-principles.md)\n  - [Common Code Smells](./06-code-quality/04b-code-smells.md)\n  - [Refactoring Techniques](./06-code-quality/04c-refactoring-techniques.md)\n\n#### Debugging and Profiling\n- [Debugging and Profiling Overview](./06-code-quality/05-debugging-profiling.md)\n  - [PHP Debugging Techniques](./06-code-quality/05a-debugging-strategies.md)\n  - [Xdebug](./06-code-quality/05b-xdebug.md)\n  - [Performance Profiling](./06-code-quality/05c-profiling.md)\n\n#### Continuous Integration\n- [Continuous Integration Overview](./06-code-quality/06-continuous-integration.md)\n  - [CI Workflows for PHP](./06-code-quality/06a-ci-workflows.md)\n  - [GitHub Actions for PHP](./06-code-quality/06b-github-actions.md)\n  - [Quality Gates](./06-code-quality/06c-quality-gates.md)\n\n\u003c/details\u003e\n\n## 📖 How to Use This Repository\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to learn how to best use this resource\u003c/summary\u003e\n\n1. **Sequential Learning**: Follow the sections in order for a structured learning path\n2. **Topic-Based Reference**: Jump to specific topics that interest you or that you need to understand better\n3. **Practical Application**: Each topic includes practical code examples you can run and experiment with\n4. **Progressive Complexity**: Topics progress from basic to advanced, building on previous concepts\n\n\u003c/details\u003e\n\n## 🔧 Requirements\n\n- PHP 7.4+ recommended (some examples use PHP 8 features)\n- Basic understanding of PHP syntax\n- A development environment to run PHP code\n\n## 🤝 Contributing\n\nContributions to improve examples, fix errors, or add more detailed explanations are welcome. Please feel free to submit a pull request or open an issue.\n\n## 📄 License\n\nThis repository is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpickleboxer%2Fphp-oop-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpickleboxer%2Fphp-oop-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpickleboxer%2Fphp-oop-learning/lists"}