首页 > 解决方案 > 你如何路由到 Symfony4 中的 vanilla php 脚本?

问题描述

我找到了一个我想使用的很棒的库(https://github.com/pqina/filepond-server-php),但它只是一堆普通的 php 脚本,有些是类,有些不是。

它们工作正常,但我不知道如何将它集成到我的 Symfony 4 应用程序中,因为自动加载器希望所有内容都采用类形式,类名与文件名匹配。同样将其全部解析并将其放入控制器类将花费很长时间。

所以我只是手动将这个https://github.com/pqina/filepond-server-php放入我的项目中名为“filepond”的文件夹中,所以它就像(我取出了我不需要的文件/文件夹) :

在此处输入图像描述

我不知道如何路由到 /src 之外的文件夹(特别是路由到像 index.php 这样的非控制器类 vanilla 脚本),以便在调用时执行此代码。这是否可能(在您的 Symfony 项目中路由并执行 vanilla php 脚本)?

标签: symfonycontroller

解决方案


要访问 src 之外的文件,您可以更新您的composer.json自动加载配置。如果你的班级在里面filepond/Helper,你应该添加这个:

"autoload": {
    "psr-4": {
        "": ["src", "filepond/Helper"]
    }
}

在这种情况下,每当您尝试加载一个类时,自动加载器都会尝试在 src 中找到它,然后在“filepond/Helper”中找到它。但是你应该用模式重命名类

CLASS_NAME.php

一个例子:

如果您有一个名为 with 的类,Foo\Bar\Fizz\Buzz则应该有一个文件

  • src/Foo/Bar/Fizz/Buzz.php
  • filepond/Helper/Foo/Bar/Fizz/Buzz.php

或者,......只需加载FilePond.class.php您的前端控制器。加载 symfony 应用程序的位置相同。


推荐阅读