【发布时间】:2015-09-28 20:33:42
【问题描述】:
我有一个非 Symfony 项目,我想将它包含在 Symfony 项目中。
该项目有很多形式的相对路径,如
<form action="actions/check.php">
<input type="text" name="pages">
<input type="submit" value="Check">
</form>
或者包括像include '../include/class.php';这样的文件
完全改变它以在 Symfony 中工作会很麻烦,那么有没有办法让这些相对路径在 Symfony 项目中工作?
我已将项目包含在包内的文件夹中,但显然提交表单会将我发送到网站上不存在的相关页面,因为没有为该页面定义路由。比如上面的表格,我发到mywebsite/actions/check.php。
为这些创建路由不会有太大作用,因为我需要为它们创建 Symfony 控制器,这意味着我需要重做项目,并从这些控制器的原始文件中复制/粘贴代码。
是否可以在 Symfony 项目中使用具有相对路径的非 Symfony 代码?我认为相对包含路径会起作用,但是表单操作呢?
【问题讨论】:
-
我认为这不是一个好主意,我怀疑它会起作用。在分离的类和视图中解耦旧项目,并使用命名空间
-
命名空间可以工作,但是表单呢?我需要编写控制器来处理它们中的每一个吗?从我的项目文件中复制和粘贴代码?
-
在树枝视图中拆分它们并使用 symfony 表单,查看文档symfony.com/doc/current/book/forms.html
-
我认为这个答案可能对您有所帮助:stackoverflow.com/questions/14255777/… 它谈到了静态文件,您正试图为您的 .php 提供服务。我的意思是,您的文件是否存在于
/actions/check.php? -
@SparK 是的,正是我需要的。将它包含在 web/docs 中有点奇怪,但如果它完成了工作,那么我想我不应该抱怨。我知道如何制作表单以及如何将其作为 Symfony 项目重做,只是不想这样做。并且也很好奇它是如何工作的。在这个过程中发现了一些新的东西,所以一切都很好。