devcoder-xyz / php-framework-training

PHP MVC Training Framework: Dive into the fundamentals of modern PHP frameworks like Laravel or Symfony with this streamlined educational project.

Home Page:https://www.devcoder.xyz/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP MVC Training Framework

PHP MVC Training Framework: Dive into the fundamentals of modern PHP frameworks like Laravel or Symfony with this streamlined educational project.

đź“– Documentation

English

Welcome to the PHP MVC Training Framework! This project is designed to bridge the gaps for beginners, providing an opportunity to grasp the workings of modern PHP frameworks like Laravel or Symfony through simplified code. It serves as an essential educational resource, ideal for those seeking to explore the fundamental components found in major PHP frameworks.

Project Objectives

  1. Understanding Fundamental Object-Oriented Concepts in PHP : Abstractions, encapsulation, inheritance, polymorphism, interfaces, traits, etc.

  2. Mastering Development Techniques with PHP : Variables, constants, arrays, functions, classes, methods, namespaces, autoloading, etc.

  3. Usage of Popular Tools and Frameworks in PHP : Composer, PHPUnit, etc.

  4. Study of Components in a PHP Framework : PSR standards, router, controller, model, view, services, middlewares, etc.

  5. Design and Development of a PHP Framework : Follow industry best practices and conventions to create your own PHP framework.

Available Study Components

  1. Session Storage ( $_SESSION PHP ) : Explore the manipulation of sessions as objects for a better understanding of the underlying mechanisms.

  2. Flash : Utilize the Flash class for managing flash messages, based on sessions, to comprehend how these messages are stored and retrieved.

  3. DotEnv : The DotEnv class loads all environment variables from a .env file, providing a practical experience for project configuration.

  4. Router and Route : Study the definition and management of routes via the router based on incoming requests.

  5. Controller : Understand the role of PHP controllers in managing the application logic of routes.

  6. Renderer : Explore the rendering engine for PHP templates to understand how views and templates are handled.

  7. Dependency Injection Container : Study the use of a dependency injection container to understand how to organize code in a modular manner.

  8. Log : Acquaint yourself with log management with different levels such as "alert," "error," and "info," stored in the file system.

  9. Http - Response : Explore the use of objects to represent responses, with specific classes for JSON and standard responses.

  10. HTTP - Request : Understand the representation of user requests as objects for easier manipulation.

  11. Middleware : Study the integration of middlewares to intercept and process HTTP requests before reaching the controller.

  12. Db : Explore the use of a Query Builder for SQL operations like SELECT, INSERT, DELETE, and UPDATE. A Manager using PDO simplifies interactions with the database.

  13. Data Validation : Study the use of a Validator and Asserts as objects to validate data and ensure compliance.

  14. Kernel : Explore the Kernel class, which initializes the application and manages the lifecycle, to understand key startup steps.

These components are specifically designed for the study and in-depth understanding of the fundamental concepts present in modern PHP frameworks.

The source code of the framework is available in the src/FrameworkPasAPas directory.

Contributions

Contributions are welcome! If you would like to enhance this training framework or report bugs, feel free to open a new pull request or submit an issue.

License

This project is licensed under the AGPL-3.0 license - refer to the LICENSE.md file for more details.

Français

Bienvenue dans le Framework PHP MVC d'entraînement! Ce projet a été spécialement conçu pour combler les lacunes des débutants, offrant une opportunité de comprendre le fonctionnement des frameworks PHP modernes tels que Laravel ou Symfony à travers un code simplifié. Il sert de ressource pédagogique essentielle, idéale pour ceux qui cherchent à explorer les composants fondamentaux présents dans les grands frameworks PHP.

Objectifs du Projet

  1. Compréhension des Concepts Fondamentaux de la POO en PHP : Abstractions, encapsulation, héritage, polymorphisme, interfaces, traits, etc.

  2. Maîtrise des Techniques de Développement avec PHP : Variables, constantes, tableaux, fonctions, classes, méthodes, namespaces, autoloading, etc.

  3. Utilisation des Outils et Frameworks Populaires en PHP : Composer, PHPUnit, etc.

  4. Étude des Composants d'un Framework PHP : Les normes PSR, le routeur, le contrôleur, le modèle, la vue, les services, les middlewares, etc.

  5. Conception et Développement d'un Framework PHP : Suivez les bonnes pratiques et les conventions de l'industrie pour créer votre propre framework PHP.

Composants d'Étude Disponibles

  1. Session Storage ( $_SESSION PHP ) : Explorez la manipulation des sessions sous forme d'objet pour une meilleure compréhension des mécanismes sous-jacents.

  2. Flash : Utilisez la classe Flash pour la gestion des messages flash, basée sur les sessions, afin de comprendre comment ces messages sont stockés et récupérés.

  3. DotEnv : La classe DotEnv charge toutes les variables d'environnement à partir d'un fichier .env, offrant une expérience pratique pour la configuration du projet.

  4. Router et Route : Étudiez la définition des routes et la gestion de celles-ci via le routeur en fonction des requêtes entrantes.

  5. Controller : Comprenez le rĂ´le des contrĂ´leurs PHP dans la gestion de la logique applicative des routes.

  6. Renderer : Explorez le moteur de rendu pour les templates en PHP pour comprendre comment les vues et les templates sont gérés.

  7. Container d'Injection de Dépendance : Étudiez l'utilisation d'un conteneur d'injection de dépendances pour comprendre comment organiser le code de manière modulaire.

  8. Log : Familiarisez-vous avec la gestion des logs avec différents niveaux tels que "alert", "error" et "info", stockés dans le système de fichiers.

  9. Http - Response : Explorez l'utilisation d'objets pour représenter les réponses, avec des classes spécifiques pour les réponses JSON et les réponses classiques.

  10. HTTP - Request : Comprenez la représentation des requêtes utilisateur sous forme d'objet pour une manipulation plus aisée.

  11. Middleware : Étudiez l'intégration des middlewares pour intercepter et traiter les requêtes HTTP avant qu'elles n'atteignent le contrôleur.

  12. Db : Explorez l'utilisation d'un Query Builder pour effectuer des opérations SQL telles que SELECT, INSERT, DELETE et UPDATE. Un Manager utilisant PDO simplifie les interactions avec la base de données.

  13. Validation de Données : Étudiez l'utilisation d'un Validator et des Asserts sous forme d'objets pour valider les données et garantir leur conformité.

  14. Kernel : Explorez la classe Kernel, qui amorce l'application et gère le cycle de vie, pour comprendre les étapes clés du démarrage.

Ces composants sont spécialement conçus pour l'étude et la compréhension approfondie des concepts fondamentaux présents dans les frameworks PHP modernes.

Le code source du framework est disponible dans le dossier src/FrameworkPasAPas.

Contributions

Les contributions sont les bienvenues ! Si vous souhaitez améliorer ce framework d'entraînement ou signaler des bogues, n'hésitez pas à ouvrir une nouvelle demande de tirage (pull request) ou à soumettre un problème.

Licence

Ce projet est sous licence AGPL-3.0 - consultez le fichier LICENSE.md pour plus de détails.

About

PHP MVC Training Framework: Dive into the fundamentals of modern PHP frameworks like Laravel or Symfony with this streamlined educational project.

https://www.devcoder.xyz/

License:GNU Affero General Public License v3.0


Languages

Language:PHP 99.6%Language:Hack 0.4%