承接 gteixeira/router 相关项目开发

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

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

gteixeira/router

Composer 安装命令:

composer require gteixeira/router

包简介

A fork of a classic CoffeeCode Router

README 文档

README

Source Code PHP from Packagist

Disponível via Composer:

composer require gteixeira/router

Observações

Foi adicionado o suporte ao PHP-DI, não havendo mudanças na forma como o Router funciona (todas as configurações e formas de se usar continuam de acordo com a documentação, sendo necessária a mudança apenas nos arquivo de Rotas e nos Controllers caso queira utilizar o PHP-DI para resolver as dependências dos construtores).

Vislumbre de melhoria: Abstrair a lógica de implementação da feat para uma interface, de forma a esperar um método (ex: get($id) cujo $id representa o nome da classe com seu namespace ex: CoffeeCode\Router\Router) que retorne a instância do objeto $id (assim como o PHP-DI funciona), permitindo ao usuário escolher alguma outra implementação de container de injeção de dependências (desde que siga o contrato estabelecido pela interface).

Para mais detalhes, checar a documentação original!!

Documentação

Antes:

Routes

<?php

use CoffeeCode\Router\Router;

$router = new Router("https://www.youdomain.com");

/**
 * routes
 * The controller must be in the namespace Test\Controller
 */
$router->namespace("Test")->group("name");

$router->get("/", "Name:home", "name.home");
$router->get("/hello", "Name:hello", "name.hello");
$router->get("/redirect", "Name:redirect", "name.redirect");

/**
 * This method executes the routes
 */
$router->dispatch();

/*
 * Redirect all errors
 */
if ($router->error()) {
    $router->redirect("name.hello");
}

Named Controller

<?php

class Name
{
    public function __construct($router)
    {
        $this->router = $router;
    }

    public function home(): void
    {
        echo "<h1>Home</h1>";
        echo "<p>", $this->router->route("name.home"), "</p>";
        echo "<p>", $this->router->route("name.hello"), "</p>";
        echo "<p>", $this->router->route("name.redirect"), "</p>";
    }

    public function redirect(): void
    {
        $this->router->redirect("name.hello");
    }
}

Depois:

Routes

<?php

use DI\ContainerBuilder;
use DI\Container;
use CoffeeCode\Router\Router;

$builder = new ContainerBuilder();
$builder->addDefinitions([
  Router::class => function (Container $container) {
          return new Router(projectUrl: "https://www.youdomain.com", container: $container);
      }
]);

$container = $builder->build();

$router = $container->get(Router::class);

/**
 * routes
 * The controller must be in the namespace Test\Controller
 */
$router->namespace("Test")->group("name");

$router->get("/", "Name:home", "name.home");
$router->get("/hello", "Name:hello", "name.hello");
$router->get("/redirect", "Name:redirect", "name.redirect");

/**
 * This method executes the routes
 */
$router->dispatch();

/*
 * Redirect all errors
 */
if ($router->error()) {
    $router->redirect("name.hello");
}

Named Controller

<?php

use CoffeeCode\Router\Router;

class Name
{
    public function __construct(
        protected Router $router
    ) { }

    public function home(): void
    {
        echo "<h1>Home</h1>";
        echo "<p>", $this->router->route("name.home"), "</p>";
        echo "<p>", $this->router->route("name.hello"), "</p>";
        echo "<p>", $this->router->route("name.redirect"), "</p>";
    }

    public function redirect(): void
    {
        $this->router->redirect("name.hello");
    }
}

Creditos

Licença

The MIT License (MIT). Please see License File for more information.

gteixeira/router 适用场景与选型建议

gteixeira/router 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 06 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「route」 「router」 「routes」 「upinside」 「Coffeecode」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 gteixeira/router 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 gteixeira/router 我们能提供哪些服务?
定制开发 / 二次开发

基于 gteixeira/router 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-18