定制 wpdiggerstudio/wpzylos-routing 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

wpdiggerstudio/wpzylos-routing

最新稳定版本:v1.0.0

Composer 安装命令:

composer require wpdiggerstudio/wpzylos-routing

包简介

FastRoute-based routing with WordPress rewrite integration for WPZylos framework

README 文档

README

PHP Version License GitHub

Full-featured routing package for WordPress with frontend routes, REST API endpoints, and AJAX actions.

📖 Full Documentation | 🐛 Report Issues

✨ Features

  • Frontend Routing — Custom URL patterns with WordPress rewrite integration
  • REST API Routing — Fluent API for /wp-json/ endpoints
  • AJAX Routing — Automatic action registration with nonce verification
  • Route Groups — Shared prefixes and middleware
  • Middleware Pipeline — PSR-15 style middleware support
  • Named Routes — URL generation from route names
  • Resource Routes — CRUD endpoint scaffolding

📋 Requirements

Requirement Version
PHP ^8.0
WordPress 6.0+

🚀 Installation

composer require wpdiggerstudio/wpzylos-routing

📖 Quick Start

Register the service provider in your plugin:

use WPZylos\Framework\Routing\RoutingServiceProvider;

$app->register(new RoutingServiceProvider());

Create route files in your plugin's routes/ directory:

File Purpose
routes/web.php Frontend routes
routes/api.php REST API routes
routes/ajax.php AJAX routes

🌐 Frontend Routing

// routes/web.php
return function (\WPZylos\Framework\Routing\Router $router) {
    $router->get('/products', [ProductController::class, 'index']);
    $router->get('/products/{id}', [ProductController::class, 'show'])
        ->where('id', '[0-9]+');

    $router->group(['prefix' => '/admin', 'middleware' => ['auth']], function ($router) {
        $router->get('/dashboard', [AdminController::class, 'dashboard']);
    });
};

🔌 REST API Routing

// routes/api.php
return function (\WPZylos\Framework\Routing\RestRouter $rest) {
    // GET /wp-json/my-plugin/v1/users
    $rest->get('/users', [UserController::class, 'index']);

    // With permission
    $rest->post('/users', [UserController::class, 'store'])
        ->permission('edit_users');

    // Resource routes (CRUD)
    $rest->resource('posts', PostController::class);
};

⚡ AJAX Routing

// routes/ajax.php
return function (\WPZylos\Framework\Routing\AjaxRouter $ajax) {
    // Private: requires login
    $ajax->private('save_settings', [SettingsController::class, 'save']);

    // Public: works without login
    $ajax->public('search', [SearchController::class, 'handle']);
};

🛡️ Middleware

class AuthMiddleware
{
    public function handle($request, callable $next): mixed
    {
        if (!is_user_logged_in()) {
            return new \WP_Error('unauthorized', 'Login required', ['status' => 401]);
        }
        return $next($request);
    }
}

// Apply to routes
$router->get('/dashboard', [Controller::class, 'index'])
    ->middleware(AuthMiddleware::class);

📦 Related Packages

Package Description
wpzylos-core Application foundation
wpzylos-container PSR-11 dependency injection
wpzylos-http Request/Response handling
wpzylos-scaffold Plugin template

� Documentation

For comprehensive documentation, tutorials, and API reference, visit wpzylos.com.

☕ Support the Project

If you find this package helpful, consider buying me a coffee! Your support helps maintain and improve the WPZylos ecosystem.

Donate with PayPal

📄 License

MIT License. See LICENSE for details.

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Made with ❤️ by WPDiggerStudio

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固