承接 ds-easy/typo3-routes 相关项目开发

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

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

ds-easy/typo3-routes

最新稳定版本:0.1.1

Composer 安装命令:

composer require ds-easy/typo3-routes

包简介

Easy TYPO3 Routes is inspired by Symfony’s routing mechanism. Define a page by creating a controller, passing all relevant data through a PHP attribute, and creating a corresponding template.

README 文档

README

Easy TYPO3 Routes is inspired by Symfony's routing mechanism. Define pages by creating a controller, passing all relevant data through PHP attributes, and adding a corresponding template.

TYPO3 v13 License

🚀 Quick Start

composer req ds-easy/typo3-routes

Create a controller in EXTENSION_FOLDER/YOUR_EXTENSION/Classes/Controller/YourRouteController.php.

Define a class and extend the EasyController:

<?php

namespace Vendor\Extension\Controller;

use Ds\Easy\Attribute\Route;
use Ds\Easy\Controller\EasyController;
use Psr\Http\Message\ResponseInterface;

class DemoController extends EasyController
{

}

Write a method and use the route attribute above:

#[Route('/path/to/your/page', format: 'html')]
public function showPage(): ?ResponseInterface
{
    return $this->render('EXT:extension/Resources/Private/PageView/Pages/EasyDemos/Demo.html', partialRootPaths: ['EXT:extension/Resources/Private/PageView/Partials']);
}

Return a response by calling Easy's render method.

Full minimal example:

<?php

namespace Vendor\Extension\Controller;

use Ds\Easy\Attribute\Route;
use Ds\Easy\Controller\EasyController;
use Psr\Http\Message\ResponseInterface;

class DemoController extends EasyController
{

    #[Route('/path/to/your/page', format: 'html')]
    public function showPage(): ?ResponseInterface
    {
        return $this->render('EXT:extension/Resources/Private/PageView/Pages/EasyDemos/Demo.html', partialRootPaths: ['EXT:extension/Resources/Private/PageView/Partials']);
    }
}

Important: Due to TYPO3’s architecture, the page must exist in the page tree and match the route path. Otherwise, a 404 exception will be thrown. You can bypass this requirement by setting the bypass404 attribute to true.

Clear the caches and Easy Routes will cache the route afterwards:

typo3 cache:flush

For in-depth explanations and examples, visit the documentation.

Full documentation and examples:

Doc

✨ Features

  • Symfony-like routing attributes in TYPO3 v13
  • Supports most relevant response types
  • Many built-in utility methods

📦 Installation & Usage

  1. composer require ds-easy/typo3-routes
  2. Check if the extension is activated in TYPO3 Backend
  3. Create controllers extending the EasyController
  4. Define methods with #[Route] attributes
  5. Create the page in the backend

Details → Documentation

🤝 Contributing

Issues & PRs: GitHub Repository

📄 License

GPL-2.0-or-later LICENSE

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2026-01-27