PHP code example of devvime / modularis

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

    

devvime / modularis example snippets




use Modularis\Router;

$router = new Router();

// Define your routes here

$router->dispatch();

$router->get('/', function ($request, $response) {
    $response->render('Hello World!');
});

use Modularis\Controller\UserController;

$router->get('/', UserController::class .  '@show');

$router->get('/', function ($request, $response) {
    $response->render('Hello World!');
}, function ($request, $response) {
    // Middleware logic
});

$router->get('/', function ($request, $response) {
    $response->render('Hello World!');
}, [
    function ($request, $response) {
        // First middleware logic
    },
    function ($request, $response) {
        // Second middleware logic
    }
]);

use Modularis\Middleware\AuthMiddleware;
use Modularis\Controller\AuthController;

$router->get('/', function ($request, $response) {
    $response->render('Hello World!');
}, AuthMiddleware::class . '@verify');

$router->get('/', function ($request, $response) {
    $response->render('Hello World!');
}, [
    AuthMiddleware::class . '@verify',
    AuthMiddleware::class . '@permissions'
]);

$router->get('/', AuthController::class . '@index', [
    AuthMiddleware::class . '@verify',
    AuthMiddleware::class . '@permissions'
]);

$router->group('/user')->init()
    ->get('/', function ($request, $response) {
        // GET logic
    })
    ->post('/', function ($request, $response) {
        // POST logic
    })
    ->put('/', function ($request, $response) {
        // PUT logic
    })
    ->delete('/', function ($request, $response) {
        // DELETE logic
    })
    ->endGroup();

use Modularis\Controller\UserController;

$router->group('/user')->init()
    ->get('/', UserController::class . '@index')
    ->post('/', UserController::class . '@store')
    ->put('/', UserController::class . '@update')
    ->delete('/', UserController::class . '@destroy')
    ->endGroup();

use Modularis\Controller\UserController;

$router->group('/user', function ($request, $response) {
    // Group-level middleware logic
})->init()
    ->get('/', UserController::class . '@index', function ($request, $response) {
        // Route-level middleware logic
    })
    ->post('/', UserController::class . '@store')
    ->put('/', UserController::class . '@update', [
        function ($request, $response) {
            // First middleware logic
        },
        function ($request, $response) {
            // Second middleware logic
        }
    ])
    ->delete('/', UserController::class . '@destroy')
    ->endGroup();

use Modularis\Controller\UserController;
use Modularis\Middleware\AuthMiddleware;

$router->group('/user', AuthMiddleware::class . '@verify')->init()
    ->get('/', UserController::class . '@index', AuthMiddleware::class . '@permissions')
    ->post('/', UserController::class . '@store')
    ->put('/', UserController::class . '@update', [
        AuthMiddleware::class . '@verify',
        AuthMiddleware::class . '@permissions'
    ])
    ->delete('/', UserController::class . '@destroy')
    ->endGroup();

$router->get('/user/{id:int}', function ($request, $response) {
    $userId = $request->params['id'];

    print_r($request->params);  // URL parameters
    print_r($request->body);    // POST data
    print_r($request->query);   // GET query parameters
    print_r($request->headers); // HTTP headers

    $response->render('Hello World!');

    $response->json([
        'status' => 200,
        'message' => 'Success'
    ]);
});

namespace Modularis\Controller;

class UserController
{
    public function show($request, $response)
    {
        $userId = $request->params['id'];

        print_r($request->params);
        print_r($request->body);
        print_r($request->query);
        print_r($request->headers);

        $response->render('Hello World!');

        $response->json([
            'status' => 200,
            'message' => 'Success'
        ]);
    }
}
//=========================================

use Modularis\Controller\UserController;

$router->get('/user/{id:int}', UserController::class . '@show');



use Modularis\Router;
use Modularis\Controller\UserController;

$router = new Router();

$router->group('/user')->init()
    ->get('/', UserController::class . '@index')
    ->post('/', UserController::class . '@store')
    ->put('/', UserController::class . '@update')
    ->delete('/', UserController::class . '@destroy')
    ->endGroup();

$router->dispatch();