定制 anis-saied/user-core-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

anis-saied/user-core-php

最新稳定版本:v1.0.0

Composer 安装命令:

composer require anis-saied/user-core-php

包简介

Core user domain logic (framework agnostic)

README 文档

README

Version License PHP

Core domain User en PHP, framework-agnostic, basé sur DDD et SOLID.

  • Core user domain logic, framework agnostic.
  • package core agnostique

Principles

  • Clean Architecture
  • DDD (light)
  • PSR standards
  • No framework dependency

📦 Installation

composer require anis-saied/user-core-php

Architecture

User Domain

  • Domain : logique métier pure
  • Application : cas d’usage
  • Infrastructure : implémentations techniques
  • tests : unitaires et intégration
  • docs : diagrammes UML (PlantUML)

User

  • le role de user dans ce package (user-core) est métier et non pas technique
  • donc il ne doit pas mentionner des détails technique comme
    • les timestamps (created_at, updated_at)
  • le domaine doit etre pure business logic, pas persistence
  • dans laravel/Symphony, on pourra ajouter timestamps coté model/ORM
    • le core doit rester agnostique

Installation

composer require anis-saied/user-core-php

Usage

use AnisSaied\UserCore\Domain\ValueObject\UserId;
use AnisSaied\UserCore\Domain\ValueObject\Email;
use AnisSaied\UserCore\Domain\User;
use AnisSaied\UserCore\Application\Service\UserService;
use AnisSaied\UserCore\Infrastructure\Persistence\InMemoryUserRepository;

/**
 * Repository
 */
$repository = new InMemoryUserRepository();

/**
 * Service
 * En test → InMemoryUserRepository
 * En Laravel → EloquentUserRepository
 * En Symfony → DoctrineUserRepository
 * Sans changer une seule ligne dans UserService.
 */
$service = new UserService($repository);

// Create a user
$user = new User(new UserId('1'), 'Anis', new Email('anis@example.com'));
$service->create($user);

Tests

  • Tes tests sont déjà présents pour Unit et Integration
  • Vérifie que :
    • Chaque méthode publique est couverte
    • Les criteria, listByCriteria et matching sont testés
    • Les tests peuvent tourner sur CI/CD (GitHub Actions par ex.)
  • apply the tests by
vendor/bin/phpunit

Analyse statique

PHPStan sert à détecter les erreurs dans ton code PHP sans l’exécuter. C’est ce qu’on appelle de l’analyse statique.

vendor/bin/phpstan analyse

Documentation / PHPDoc / UML

  • Les diagrammes PlantUML sont là (user-domain.puml + .png)
  • Assure-toi que toutes les classes et méthodes ont un docblock PHPDoc
  • Tu peux générer la doc HTML avec phpDocumentor ou Sami pour fournir un site de documentation complet

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固