basster/legacy-bridge-bundle

用于将旧版 PHP 项目(例如,没有 frontcontrollers 的项目)包裹成 symfony 应用的桥梁包。

安装次数: 1,603

依赖者: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 5

开放问题: 0

类型:symfony-bundle

1.0.4 2019-06-21 18:44 UTC

This package is auto-updated.

Last update: 2024-09-22 06:13:35 UTC


README

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight

这是什么?

此包从指定的 legacy_path 文件夹中的每个 .php 文件生成一个 symfony 路由,因此您可以通过 symfony 前端控制器访问您的旧脚本,就像它们实际上存在一样。此外,包装器将 symfony DI-Container 注入 $_SERVER['SYMFONY_CONTAINER'],因此您可以逐步重构旧应用程序,通过将服务提取到 symfony 服务中,但在旧代码中使用它们。

灵感来源于 使用 Symfony 进行现代化改造,由 @derrabus 提供

安装

composer require basster/legacy-bridge-bundle

配置

在您的 config.yml 中放置

basster_legacy_bridge:
    legacy_path:    '/full/path/to/my/legacy/project/files'
    # optional prepend script (see https://php.ac.cn/manual/en/ini.core.php#ini.auto-prepend-file)
    prepend_script: '/full/path/to/my/legacy/autoPrependFile.php' # can be ommited
    # optional append script (see https://php.ac.cn/manual/en/ini.core.php#ini.auto-append-file)
    append_script:  '/full/path/to/my/legacy/autoAppendFile.php' # can be ommited

在旧应用程序上

<?php // e.g. my-old-stuff.php
/** @var \Symfony\Component\DependencyInjection\ContainerInterface $container */
$container = $_SERVER['SYMFONY_CONTAINER'];
$myService = $container->get('my.service.id');

许可证

此包受 MIT 许可证的约束。请参阅包中的完整许可证。

Resources/meta/LICENSE