PHPackages                             dev-no-kage/project-initializer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. dev-no-kage/project-initializer

ActiveProject[Framework](/categories/framework)

dev-no-kage/project-initializer
===============================

Projet PHP structuré avec une architecture MVC minimaliste et gestion de dépendances via YAML.

v1.0.3(9mo ago)120MITPHPPHP &gt;=8.0

Since Jul 25Pushed 9mo agoCompare

[ Source](https://github.com/gorguimarena/project-initializer)[ Packagist](https://packagist.org/packages/dev-no-kage/project-initializer)[ RSS](/packages/dev-no-kage-project-initializer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

Dev No Kage - Project Initializer
=================================

[](#dev-no-kage---project-initializer)

✨ Un Starter Kit PHP Moderne
----------------------------

[](#-un-starter-kit-php-moderne)

Un boilerplate élégant et flexible, conçu pour démarrer rapidement vos projets PHP. Il allie une architecture modulaire inspirée du DDD à une structure MVC minimaliste, avec une injection de dépendances simple via YAML et tous les composants essentiels pour construire une application propre et maintenable.

🚀 Fonctionnalités clés 🔧 Architecture hybride : Utilisez soit une structure MVC classique dans app/, soit une architecture modulaire évolutive dans src/ avec Controller, Service, Repository, etc.

🧠 Parfait pour évoluer d’un petit projet vers une application robuste.

⚙️ Injection de dépendances déclarative :
-----------------------------------------

[](#️-injection-de-dépendances-déclarative-)

Définissez vos services dans un simple fichier YAML : app/config/services.yaml.

🔐 Chargement de configuration via DotEnv :
------------------------------------------

[](#-chargement-de-configuration-via-dotenv-)

Centralisez vos variables sensibles dans .env, avec gestion automatique via vlucas/phpdotenv.

🧩 Autoloading PSR-4 :
---------------------

[](#-autoloading-psr-4-)

Conforme à la norme PSR-4 grâce à Composer pour une organisation claire du code.

🗂️ Structure propre et flexible :
---------------------------------

[](#️-structure-propre-et-flexible-)

app/ : pour un démarrage rapide en MVC minimaliste

src/ : pour un découpage DDD ou hexagonal orienté métiers

core/ : noyau du système (injection, routing, configuration)

📁 Structure du projet
---------------------

[](#-structure-du-projet)

project-root/

├── app/

│ ├── config/ # fichiers YAML, .env, helpers

│ └── core/ # cœur du framework

│ ├── abstract/ # Les classes abstract reutilisable

│ ├── enums/ # Les enumerations pour les clé du routeur et classes du fichier services.yml

│ └── interface/ # les interface pour les contracts de methodes

├── public/ # point d'entrée (index.php)

├── src/ # la ou sera vos entity, controller, repository

├── composer.json

└── README.md

---

⚙️ Installation

1. Cloner le dépôt (optionnel si vous utilisez create-project)

git clone cd project-initializer

2. Créer un nouveau projet depuis le package Packagist

composer create-project dev-no-kage/project-initializer nom-du-projet cd nom-du-projet

3. Installer les dépendances

composer install

4. Configurer les variables d'environnement

cp app/config/.env.example .env 🛠️ Modifiez le fichier .env selon votre configuration locale (base de données, port, etc.).

5. Démarrer un serveur local php -S localhost:8000 -t public

🧠 Comment ça marche ? 🔁 Injection de dépendances Le projet repose sur un conteneur de services défini dans app/config/services.yaml, où chaque classe peut déclarer ses dépendances à injecter automatiquement.

Exemple de définition :

MaClasse: class: App\\Service\\MaClasse argument: - App\\Repository\\AutreClasse

⚙️ Moteur d’injection interne Le système d’injection de dépendances est basé sur deux éléments principaux :

1. services.yaml Le fichier central de déclaration des services :

Chaque entrée correspond à un service unique

Les dépendances sont injectées automatiquement par le moteur

✅ Ce système permet de découpler le code métier de la logique de création des objets, favorisant la maintenabilité et les tests.

🧱 Structure d’un service

CLE\_UNIQUE: class: Namespace\\De\\La\\Classe argument: \[Liste, Des, Dépendances\]

CLE\_UNIQUE : identifiant du service (doit exister dans l’énum ClassName de app/core) class : nom complet de la classe avec son namespace argument : liste des arguments nécessaires au constructeur

2. Syntaxe des arguments dans argument Les arguments peuvent être de différents types :

TypeSyntaxe YAMLInterprétationService (classe)`- "@NOM_DU_SERVICE"`Injection d’une autre classe déclaréeVariable d’environnement`- "%NOM_DE_LA_VAR%"`declaré comme constance dans env.phpValeur simple (texte/num)`- "valeur"`Transmise telle quelle🔁 Exemples pratiques ✅ Injection sans dépendance

DATABASE:

class: DevNoKage\\Core\\Database

argument: \[\]

✅ Injection d’un service

AUTH:

class: DevNoKage\\Core\\ClassAuth

argument:

```
- "@DATABASE"

```

✅ Injection de valeurs littérales

DATABASE:

class: DevNoKage\\Core\\Database

argument:

```
- "driver"

- "localhost"

- "5432"

- "dbname"

```

✅ Injection de variables d’environnement

DATABASE:

class: DevNoKage\\Core\\Database

argument:

```
- "%DB_DRIVER%"

- "%DB_HOST%"

- "%DB_PORT%"

- "%DB_NAME%"

```

📂 Fichier concerné : services.yml Déclare toutes tes classes et dépendances dans app/config/services.yml.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance55

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

297d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a5b92746475b69e3c712d7c624045dadf6510fe4702005a45cfe3307abba9fa?d=identicon)[dev-no-kage](/maintainers/dev-no-kage)

---

Top Contributors

[![gorguimarena](https://avatars.githubusercontent.com/u/151845484?v=4)](https://github.com/gorguimarena "gorguimarena (15 commits)")

---

Tags

phpframeworkdependency-injectionyamlmvcbootstraplightweightstarter

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dev-no-kage-project-initializer/health.svg)

```
[![Health](https://phpackages.com/badges/dev-no-kage-project-initializer/health.svg)](https://phpackages.com/packages/dev-no-kage-project-initializer)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
