承接 nils-framework/nils-core 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nils-framework/nils-core

Composer 安装命令:

composer require nils-framework/nils-core

包简介

Le cœur applicatif complet du framework NILS (Routage, Configuration, Gestionnaire d'erreurs)

README 文档

README

Markdown

NILS Framework Core (nils-core)

Latest Stable Version License PHP Version

Le composant nils-core est le moteur central, découplé et ultra-performant du framework PHP NILS. Il prend en charge l'intégralité du cycle de vie de la requête HTTP (Request-Response Lifecycle), de l'aiguillage automatique par réflexion à l'injection magique d'arguments.

Ce composant est conçu de manière 100 % agnostique : il n'embarque aucune logique métier ni dépendance forte envers les modules optionnels d'authentification ou de base de données.

🚀 Fonctionnalités Clés

  • Routage par Attributs PHP 8 : Déclaration native des routes directement au-dessus des méthodes des contrôleurs (#[Get], #[Post]...).
  • Auto-discovery (Découverte Automatique) : Scan intelligent de la cartographie PSR-4 de Composer pour charger vos contrôleurs sans configuration manuelle.
  • Compilation d’Arbre (Trie Tree) : Résolution algorithmique des routes en temps constant $O(N)$ (indépendant du nombre total de routes).
  • Mise en Cache Atomique : Sérialisation de l'arbre compilé en fichier PHP natif pour annuler le coût de la réflexion en production.
  • Pipeline Intergiciel (IoC Middlewares) : Système d'Inversion de Contrôle permettant à des packages externes (nils-auth, nils-roles) de greffer leur sécurité sur des attributs spécifiques.
  • Argument Resolver System : Injection automatique et typée des composants requis par vos méthodes (Request, Body, Query, Params), inspiré du standard industriel Symfony.

📦 Installation

Installez le cœur du framework dans votre application via Composer :

composer require nils-framework/nils-core
Note : Ce package requiert l'existence préalable du package de contrats de votre organisation nils-framework/nils-contracts.

🛠️ Utilisation de Base
1. Déclarer un Contrôleur
Pour être détecté automatiquement par le moteur de routage, votre contrôleur doit simplement implémenter l'interface de marquage ControllerInterface :

PHP
<?php
namespace App\Controllers;

use Nils\Contracts\ControllerInterface;
use core\ValueObjects\Query;
use core\Response;
use core\Attributes\Get;

class PlanningController implements ControllerInterface
{
    #[Get('/api/v1/shifts')]
    public function listerShifts(Query $query): void
    {
        $search = $query->get('search', 'default');
        
        Response::json([
            'success' => true,
            'data' => [['id' => 1, 'statut' => 'assigne']]
        ]);
    }
}
2. Point d'Entrée Global (index.php)
PHP
<?php
require_once __DIR__ . '/vendor/autoload.php';

// 1. Définir la racine de l'application (requis pour le cache et l'autoloader)
define('APP_ROOT', __DIR__);

use core\Request;
use core\Routeur;

$requete = new Request();
$routeur = new Routeur();

// 2. Initialiser et compiler les routes (Lit le cache en production)
$routeur->enregistrerDepuisAnnotations();

// 3. Dispatcher la requête vers le contrôleur correspondant
try {
    $routeur->diriger($requete);
} catch (\core\Exceptions\HttpException $e) {
    \core\Response::json(['error' => $e->getMessage()], $e->getCode());
}
🏗️ Architecture du Code (src/)
Plaintext
src/
├── Attributes/     # Attributs natifs de verbes HTTP (Get, Post, Put...)
├── Commandes/      # Commandes systèmes CLI du framework
├── Exceptions/     # Gestionnaire d'exceptions HTTP structurées (404, 400...)
├── Intergiciel/    # Middlewares globaux du système (CORS, Handler d'erreurs)
├── params/         # Système scellé de casting de paramètres d'URL ({id:int})
├── Resolvers/      # Ouvriers d'injection de dépendances (Argument Resolvers)
├── ValueObjects/   # Conteneurs de données nettoyées (Body, Query, Headers)
├── Request.php     # Représentation orientée objet de la requête HTTP
├── Response.php    # Gestionnaire de sorties de flux et de codes HTTP
├── RouteMethode.php# Entité de modélisation d'une route en mémoire
└── Routeur.php     # Compilateur et aiguilleur central de l'écosystème
⚙️ Mode Production vs Développement
Le framework adapte son comportement à la constante de débogage de votre application :

Mode Développement (Debug::DEBUG = true) : Le routeur re-parcourt et re-compile les fichiers à chaque requête. Vos modifications de routes sont instantanées.

Mode Production (Debug::DEBUG = false) : Le routeur charge un fichier PHP sérialisé dans /cache/routes.php. Les performances de routage sont maximales.

Pour vider manuellement le cache lors de vos scripts de déploiement (CI/CD) :

PHP
$routeur->viderCache();
📄 Licence
Ce projet est distribué sous licence MIT. Développé avec passion par Traore.

nils-framework/nils-core 适用场景与选型建议

nils-framework/nils-core 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 06 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 nils-framework/nils-core 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 nils-framework/nils-core 我们能提供哪些服务?
定制开发 / 二次开发

基于 nils-framework/nils-core 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-10