403Webshell
Server IP : 65.108.144.40  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User : dev ( 1000)
PHP Version : 8.2.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/project-slim/app/Examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/project-slim/app/Examples/MessageUsageExample.php
<?php

/**
 * Example demonstrating how to use the centralized message system
 * in your project-slim application
 */

namespace App\Examples;

use App\Messages\MessageConstants;
use App\Messages\MessageHelper;

class MessageUsageExample
{
    /**
     * Example of using predefined constants
     */
    public function useConstants()
    {
        // Using auth constants
        $loginSuccess = MessageConstants::AUTH_LOGIN_SUCCESSFUL;
        $invalidCredentials = MessageConstants::AUTH_INVALID_CREDENTIALS;
        
        // Using validation constants
        $userNotFound = MessageConstants::USER_NOT_FOUND;
        $emailExists = MessageConstants::EMAIL_ALREADY_REGISTERED;
    }

    /**
     * Example of using helper methods for dynamic messages
     */
    public function useHelpers()
    {
        // Generate required field messages
        $emailRequired = MessageHelper::required('email');
        $passwordRequired = MessageHelper::required('password');
        
        // Generate validation messages
        $invalidEmail = MessageHelper::invalid('email format');
        $userNotFound = MessageHelper::notFound('user');
        $tokenExpired = MessageHelper::expired('verification token');
        
        // Generate success messages
        $userCreated = MessageHelper::created('user');
        $profileUpdated = MessageHelper::updated('profile');
    }

    /**
     * Example of generating validation errors for a form
     */
    public function getLoginValidationErrors(array $data): array
    {
        $errors = [];
        
        if (empty($data['email'])) {
            $errors[MessageConstants::FIELD_EMAIL] = MessageHelper::required(MessageConstants::FIELD_EMAIL);
        }
        
        if (empty($data['password'])) {
            $errors[MessageConstants::FIELD_PASSWORD] = MessageHelper::required(MessageConstants::FIELD_PASSWORD);
        }
        
        return $errors;
    }

    /**
     * Example of using the helper method for multiple required fields
     */
    public function getRequiredFieldsErrors(): array
    {
        $requiredFields = [
            MessageConstants::FIELD_EMAIL,
            MessageConstants::FIELD_PASSWORD,
            'first_name',
            'last_name'
        ];
        
        return MessageHelper::getRequiredFieldErrors($requiredFields);
    }

    /**
     * Example of using auth validation errors
     */
    public function getAuthErrors(): array
    {
        $authErrors = MessageHelper::getAuthValidationErrors();
        
        // Returns:
        // [
        //     'email' => 'Email is required',
        //     'password' => 'Password is required',
        //     'current_password' => 'Current password is required',
        //     'new_password' => 'New password is required',
        //     'token' => 'Token is required',
        //     'refresh_token' => 'Refresh token is required'
        // ]
        
        return $authErrors;
    }

    /**
     * Example of using specific validation error types
     */
    public function getSpecificValidationError(): array
    {
        return [
            'required' => MessageHelper::getValidationError('email', 'required'),
            'invalid' => MessageHelper::getValidationError('email', 'invalid'),
            'already_exists' => MessageHelper::getValidationError('email', 'already_exists'),
            'not_found' => MessageHelper::getValidationError('user', 'not_found'),
            'expired' => MessageHelper::getValidationError('token', 'expired'),
        ];
    }
}

/**
 * Usage in Controllers (Before vs After)
 */

// BEFORE (with hardcoded messages):
/*
return $this->validationErrorResponse($response, [
    'email' => 'Email is required',
    'password' => 'Password is required'
]);

return $this->unauthorizedResponse($response, 'Invalid credentials');
return $this->successResponse($response, $result, 'Login successful');
*/

// AFTER (with centralized messages):
/*
return $this->validationErrorResponse($response, [
    MessageConstants::FIELD_EMAIL => MessageHelper::required(MessageConstants::FIELD_EMAIL),
    MessageConstants::FIELD_PASSWORD => MessageHelper::required(MessageConstants::FIELD_PASSWORD)
]);

return $this->unauthorizedResponse($response, MessageConstants::AUTH_INVALID_CREDENTIALS);
return $this->successResponse($response, $result, MessageConstants::AUTH_LOGIN_SUCCESSFUL);
*/

/**
 * Benefits of this approach:
 * 
 * 1. Consistency: All messages are consistent across the application
 * 2. Maintainability: Easy to update messages in one place
 * 3. Reusability: Messages can be reused across different controllers
 * 4. Internationalization ready: Easy to add multi-language support
 * 5. Type safety: Constants prevent typos
 * 6. Flexibility: Helper methods allow dynamic message generation
 */

Youez - 2016 - github.com/yon3zu
LinuXploit