fratily/path-parser 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

fratily/path-parser

Composer 安装命令:

composer require fratily/path-parser

包简介

README 文档

README

fratily/path-parser is parser of url pathname.

Install

$ composer require fratily/path-parser

Usage

$segments = \Fratily\PathParser\PathParser::parse('/foo/:id/bar/', [
    \Fratily\PathParser\Segments\SlashSegment::class,
    CustomSegment::class,
    \Fratily\PathParser\Segments\PlainSegment::class,
]);

var_dump(
    // /foo
    get_class($segments[0]), // "Fratily\PathParser\Segments\PlainSegment"
    $segments[0]->getSegment(), // "/foo"
    // /:id
    get_class($segments[1]), // "CustomSegment"
    $segments[0]->getName(), // "/id"
    // /bar
    get_class($segments[2]), // "Fratily\PathParser\Segments\PlainSegment"
    $segments[0]->getSegment(), // "/bar"
    // /
    get_class($segments[3]), // "Fratily\PathParser\Segments\SlashSegment"
);


class CustomSegment implements \Fratily\PathParser\Segments\SegmentInterface
{
    private string $name;

    public static function new(string $plainSegment): CustomSegment|null
    {
        if (1 !== preg_match('/\A:([a-z]+)\z/i', $plainSegment, $m)) {
            return null;
        }

        $obj = new CustomSegment();
        $obj->name = $m[1];
        return $obj;
    }

    public static function getName(): string
    {
        return $this->name;
    }
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-11-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固