tourze/user-service-contracts

为 Symfony 应用程序提供用户服务契约和接口的 PHP 包

Installs: 1 387

Dependents: 9

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/tourze/user-service-contracts

1.0.0 2025-10-31 06:20 UTC

This package is auto-updated.

Last update: 2025-10-31 07:53:21 UTC


README

English | 中文

Latest Version PHP Version Require License Build Status Coverage Status

A comprehensive PHP package providing user service contracts and interfaces for Symfony applications.

Installation

You can install this package via Composer:

composer require tourze/user-service-contracts

Quick Start

This package provides essential contracts for user management services in Symfony applications.

User Counter Interface

<?php

use Tourze\UserServiceContracts\UserCounterInterface;

class UserCounter implements UserCounterInterface
{
    public function countAll(): int
    {
        // Implementation for counting all valid users
        return 1000;
    }
}

User Manager Interface

<?php

use Tourze\UserServiceContracts\UserManagerInterface;
use Symfony\Component\Security\Core\User\UserInterface;

class UserManager implements UserManagerInterface
{
    public function createUser(string $userIdentifier, ?string $nickName = null, ?string $avatarUrl = null): UserInterface
    {
        // Implementation for creating a new user
        return new User($userIdentifier, $nickName, $avatarUrl);
    }
    
    public function loadUserByIdentifier(string $identifier): UserInterface
    {
        // Implementation for loading user by identifier
        return $this->findUserByIdentifier($identifier);
    }
}

Constants

<?php

use Tourze\UserServiceContracts\UserServiceConstants;

// Access predefined constants
$fixturesName = UserServiceConstants::USER_FIXTURES_NAME; // 'users'
$userPrefix = UserServiceConstants::NORMAL_USER_REFERENCE_PREFIX; // 'normal-user-'

Features

  • UserCounterInterface: Provides methods for counting users
  • UserManagerInterface: Extends Symfony's UserLoaderInterface for user management
  • UserServiceConstants: Defines commonly used constants for user services
  • Full Symfony Integration: Seamlessly integrates with Symfony Security component

Requirements

  • PHP 8.1 or higher
  • Symfony 7.3 or higher

License

This package is open-source software licensed under the MIT license.