mediamonks/symfony-frontend-connector-bundle

连接前端与后端

dev-main 2021-10-18 11:45 UTC

This package is auto-updated.

Last update: 2024-09-04 21:18:32 UTC


README

确保Composer已全局安装,如Composer文档中的安装章节所述。

使用Symfony Flex的应用程序

打开命令行,进入您的项目目录并执行

$ composer require mediamonks/symfony-frontend-connector-bundle

未使用Symfony Flex的应用程序

步骤 1:下载Bundle

打开命令行,进入您的项目目录,并执行以下命令以下载此Bundle的最新稳定版本

$ composer require mediamonks/symfony-frontend-connector-bundle

步骤 2:启用Bundle

然后,通过将其添加到项目中 config/bundles.php 文件中注册的Bundle列表中来启用此Bundle

// config/bundles.php

return [
    // ...
    MediaMonks\FrontendConnectorBundle::class => ['all' => true],
];

配置

Bundle配置文件

# config/packages/frontend_connector.yaml
parameters:
  asset_version: src #[deploytool]

路由文件

# config/routes/frontend_connector.yaml
frontend-connector:
  path: /
  methods: GET
  requirements:
    p: '^(?!api/*).+'
  controller: MediaMonks\FrontendConnectorBundle\Controller\FrontendController::index

使用您自己的控制器

通过仅扩展它,可以轻松地覆盖默认控制器的部分。

// App/Controller/Api/FrontendController
<?php

declare(strict_types=1);

namespace App\Controller\Api;

use MediaMonks\FrontendConnectorBundle\Controller\FrontendController as BaseController;

class FrontendController extends BaseController {
    // Setting your own template
    protected string $template = 'frontend.html.twig';
    
    // Setting template data
    protected array $templateData = [
        'facebook' => [
            'title' => 'foo',
            'description' => 'bar',
        ]
    ];
    
    // Setting shared max age
    protected int $cacheDuration = 500;
}

调整路由

# config/routes/frontend_connector.yaml
frontend-connector:
  path: /
  methods: GET
  requirements:
    p: '^(?!api/*).+'
  controller: App\Api\Controller\FrontendController::index