jtl/shop5-router-lib
Composer 安装命令:
composer require jtl/shop5-router-lib
包简介
JTL-Shop5 Router library
README 文档
README
Simple Router Lib, based on JTL-Shop5
Installation
Using composer:
$ composer require jtl/shop5-router-lib
Usage
api.php
use JTL\Plugin\Helper as PluginHelper; use Symfony\Component\HttpFoundation\Request; $plugin = null; $pluginId = PluginHelper::getIDByPluginID('your_plugin'); if ($pluginId !== null) { $loader = pluginHelper::getLoaderByPluginID($pluginId); if ($loader !== null) { $plugin = $loader->init($pluginId); } } $router = new Router('Plugin\your_plugin\Controller', Shop()::getInstance(), $plugin); // After events (before works also) $router->after(static function (Request $request, array $arguments, $result) { // Nasty after logic }); try { echo $router->send(); } catch (Exception $e) { header('Internal Server Error', true, 500); echo $e->getMessage(); }
FooController.php
<?php declare(strict_types=1); namespace Plugin\your_plugin\Controller; use Plugin\your_plugin\Models\Foobar; use Plugin\your_plugin\Services\FooService; use Jtl\Shop5Router\Http\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; class FooController extends AbstractController { /** * Can be accessed via Http GET api.php?action=foo.bar&id=3 * Other Http Methods are also available * * @param Request $request * @param string $id * @return Foobar|null */ public function bar(Request $request, string $id): ?Foobar { $service = new FooService(); return $service->find($id); } }
License
Copyright (c) 2020-present JTL-Software
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-23