PHP code example of erykai / routes

1. Go to this page and download the library: Download erykai/routes 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/ */

    

erykai / routes example snippets


use Erykai\Routes\Route;

oute->namespace('Erykai\Routes');

$route->get('/', 'Controller@home');
$route->get('/post', 'Controller@post');
$route->get('/post/{id}', 'Controller@post');
$route->get('/post/{id}/{slug}', 'Controller@post');
$route->post('/login', 'Controller@login');
$route->post('/create/post', 'Controller@post');
$route->put('/edit/post', 'Controller@postPut');
$route->delete('/delete/post', 'Controller@postDelete');
//create all get, post, put and delete
$route->default('/user', 'Controller');
$route->exec();

var_dump($route->response());

use Erykai\Routes\Route;

0jjkhgO

use Erykai\Routes\Route;

0jjkhgO

namespace Erykai\Routes;

use stdClass;

/**
 * Example object define routes
 */
class Controller
{
    /**
     * @return bool
     */
    public function home(?array $data, string $response): bool
    {
        echo "home";
        var_dump($response);
        return true;
    }

    /**
     * @return bool
     */
    public function login(?array $data, string $response): bool
    {
        $json = file_get_contents('php://input');
        $login = json_decode($json);
        if (empty($login->email) || empty($login->password)) {
            echo 203 . " Email ou senha invalido";
            return false;
        }

        if(!filter_var($login->email, FILTER_VALIDATE_EMAIL)){
            echo 203 . " Email invalido";
            return false;
        }

        $user = new stdClass();
        $user->email = "[email protected]";
        $user->password = "10203040";

        if($user->email !== $login->email){
            echo 203 . " Email ou senha invalido";
            return false;
        }

        if($user->password !== $login->password){
            echo 203 . " Email ou senha invalido";
            return false;
        }
        $middleware = new Middleware();
        echo $middleware->create($user->email);
        return true;
    }

    /**
     * @param array|null $data
     * @return bool
     */
    public function post(?array $data, string $response): bool
    {
        var_dump($data, $_POST, file_get_contents('php://input'));
        return true;
    }

    /**
     * @param array $data
     * @return bool
     */
    public function postPut(?array $data, string $response): bool
    {
        var_dump($data, file_get_contents('php://input'));
        return true;

    }

    /**
     * @param array $data
     * @return bool
     */
    public function postDelete(?array $data, string $response): bool
    {
        var_dump($data, file_get_contents('php://input'));
        return true;

    }
}
apacheconf
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1
apacheconf
location / {
  if ($script_filename !~ "-f"){
    rewrite ^(.*)$ /index.php?route=$1 break;
  }
}


Router and Middleware key JWT and type Response index.php

˜˜˜IHJN';

$route = new Route();
$route->namespace('Erykai\Routes');

$route->get('/', 'Controller@home', type: "json");
$route->get('/post', 'Controller@post');
$route->get('/post/{id}', 'Controller@post', true, "object");
$route->get('/post/{id}/{slug}', 'Controller@post', true, "array");
$route->post('/login', 'Controller@login', type: "json");
$route->post('/create/post', 'Controller@post', true, "json");
$route->put('/edit/post', 'Controller@postPut', true, "json");
$route->delete('/delete/post', 'Controller@postDelete', true, "json");
//create all get, post, put and delete
$route->default('/user', 'Controller', [true,false,false,false], "json");
$route->exec();

var_dump($route->response());