Skip to main content
Glama
User.php3.83 kB
<?php /** * User Management System * * This file contains classes for managing users in the application. * * @package UserManagement * @author Documentation MCP * @version 1.0.0 */ namespace App\Models; /** * Represents a user in the system * * This class encapsulates all user-related data and provides * methods for user operations. */ class User { /** * The user's unique identifier * @var int */ private int $id; /** * The user's email address * @var string */ private string $email; /** * The user's full name * @var string */ private string $name; /** * Whether the user account is active * @var bool */ private bool $isActive; /** * Constructor for User * * @param int $id User ID * @param string $email User email * @param string $name User name * @param bool $isActive Active status */ public function __construct(int $id, string $email, string $name, bool $isActive = true) { $this->id = $id; $this->email = $email; $this->name = $name; $this->isActive = $isActive; } /** * Get the user's ID * * @return int The user ID */ public function getId(): int { return $this->id; } /** * Get the user's email address * * @return string The email address */ public function getEmail(): string { return $this->email; } /** * Get the user's full name * * @return string The full name */ public function getName(): string { return $this->name; } /** * Check if user is active * * @return bool True if active, false otherwise */ public function isActive(): bool { return $this->isActive; } /** * Activate the user account * * @return void */ public function activate(): void { $this->isActive = true; } /** * Deactivate the user account * * @return void */ public function deactivate(): void { $this->isActive = false; } } /** * User Repository for database operations * * Handles all database interactions for User entities. */ class UserRepository { /** * Database connection * @var \PDO */ private \PDO $db; /** * Constructor * * @param \PDO $db Database connection */ public function __construct(\PDO $db) { $this->db = $db; } /** * Find a user by ID * * @param int $id User ID * @return User|null User object or null if not found */ public function findById(int $id): ?User { // Implementation would go here return null; } /** * Find a user by email * * @param string $email Email address * @return User|null User object or null if not found */ public function findByEmail(string $email): ?User { // Implementation would go here return null; } /** * Save a user to the database * * @param User $user User object to save * @return bool True on success, false on failure */ public function save(User $user): bool { // Implementation would go here return true; } } /** * Validate user email addresses * * @param string $email Email to validate * @return bool True if valid, false otherwise */ function validateEmail(string $email): bool { return filter_var($email, FILTER_VALIDATE_EMAIL) !== false; } /** * Hash a password securely * * @param string $password Plain text password * @return string Hashed password */ function hashPassword(string $password): string { return password_hash($password, PASSWORD_BCRYPT); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThaLoc0one/documentation-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server