1. Go to this page and download the library: Download gemvc/installer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gemvc / installer example snippets
use Gemvc\Core\Auth; // Authentication and authorization
use Gemvc\Core\ApiService; // Base service class
use Gemvc\Core\Controller; // Base controller class
use Gemvc\Core\CRUDTable; // Base table class for CRUD operations
use Gemvc\Core\Table; // Base table class
use Gemvc\Core\Bootstrap; // Framework bootstrap
// index.php
$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/app/.env');
// Auth class automatically handles invalid tokens
$auth = new Auth($this->request);
// If token is invalid, execution stops with 403 response
// If token is valid, you can safely access user data
$this->request->post['id'] = $auth->token->user_id;
// For email and basic type validation
$this->validatePosts([
'email' => 'email',
'password' => 'string'
]);
// For string lenght validation constraints
$this->validateStringPosts([
'password' => '6|15' // min length 6, max length 15
]);
public function updatePassword(): JsonResponse
{
// 1. Check authentication - automatically stops with 403 if token is invalid
$auth = new Auth($this->request);
// 2. Validate input with length constraints
$this->validateStringPosts(['password'=>'6|15']);
// 3. Set additional parameters - safe to do after Auth check
$this->request->post['id'] = $auth->token->user_id;
// 4. Process request
return (new UserController($this->request))->updatePassword();
}
/**
* Generates mock responses for API documentation
*
* @param string $method The API method name
* @return array<mixed> Example response data for the specified method
* @hidden
*/
public static function mockResponse(string $method): array
{
return match($method) {
'yourMethod' => [
'response_code' => 200,
'message' => 'OK',
'count' => 1,
'service_message' => 'Operation successful',
'data' => [
// Your example response data
]
],
default => [
'success' => false,
'message' => 'Unknown method'
]
};
}
[
'response_code' => int, // HTTP status code
'message' => string, // Status message
'count' => int, // Number of items returned
'service_message' => string, // Detailed service message
'data' => mixed // Response data
]