承接 liamrabe/basic-router 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

liamrabe/basic-router

最新稳定版本:v2.1.2

Composer 安装命令:

composer require liamrabe/basic-router

包简介

A basic router

README 文档

README

A basic router

Basic Install

composer require liamrabe/basic-router

Basic usage

use LiamRabe\BasicRouter\Middleware\AbstractMiddleware;
use LiamRabe\BasicRouter\Controller\AbstractErrorController;
use LiamRabe\BasicRouter\DataCollection\Response;
use LiamRabe\BasicRouter\DataCollection\Request;
use LiamRabe\BasicRouter as Router;

class APIMiddleware {
	
	public static function handle() {
		return true;
	}

}

class AppMiddleware {

	public static function handle() {
		return true;
	}

}

function handleRoute(Request $request, Response $response): Response {
	$response->setHeader('Content-Type', 'text/html');
	$response->setBody('Hello, world!');
	$response->setStatus(200);
	
	return $response;
}

try {

	/** setErrorController & setMiddleware are required before adding routes */
	Router::setErrorController(ErrorController::class, 'handleError');
	Router::setMiddleware(AppMiddleware::class, 'handleRequest');

	Router::redirect('/', '/home');

	Router::get('/home', 'handleRoute');

	Router::put('/home', 'handleRoute');

	Router::post('/home', 'handleRoute');

	Router::delete('/home', 'handleRoute');

	Router::all('/home', 'handleRoute');

	Route::group('/api', static function() {
		/** Added route will have URI '/api/v1/customer' */
		Route::get('/v1/customers', 'handleRoute');
	}, [APIMiddleware::class, 'handleRequest']);

	Router::run();

} catch (Exception $ex) {
	echo $ex->getMessage();
}

Basic Documentation

BasicRouter supports GET, PUT, POST and DELETE

Basic HTTP Methods

All

/** Use this if you want to register a route on all HTTP methods */
Router::all('/', [AbstractController::class, 'handleRoute']);

GET

Router::get('/', [AbstractController::class, 'handleRoute']);

PUT

Router::put('/', [AbstractController::class, 'handleRoute']);

POST

Router::post('/', [AbstractController::class, 'handleRoute']);

DELETE

Router::delete('/', [AbstractController::class, 'handleRoute']);

Basic General methods

Redirect

/** Redirect route '/' to '/home' with response code 301 */
Router::redirect('/', '/home', 301);

Regex URI

You can define regex directly on the URI

Format: {[PARAMETER_NAME]:[REGEX_PATTERN]}

Example:

/** Regex on route doesn't need parenthesis will be applied at runtime */
Router::get('/api/customers/{customer_id:[a-zA-Z0-9]+}', 'handleRoute');
Function Returns
Router::getMethod() string - $_SERVER['REQUEST_METHOD']
Router::getUri() string - $_SERVER['REQUEST_URI']
Router::getSemVer() string - 1.0.0
Router::getMajor() int - 1
Router::getMinor() int - 0
Router::getPatch() int - 0

统计信息

  • 总下载量: 37
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-14