簡體   English   中英

在Symfony項目中使用非Symfony代碼

[英]Use non-Symfony code in Symfony project

我有一個非Symfony項目,我想將其包含在Symfony項目中。

該項目有許多形式相對的路徑,例如

<form action="actions/check.php"> 
    <input type="text" name="pages">
    <input type="submit" value="Check">
</form>

或包含諸如include '../include/class.php';類的文件include '../include/class.php';

完全將其更改為在Symfony中工作將非常麻煩,那么有什么方法可以使這些相對路徑在Symfony項目中起作用?

我已經將該項目包含在一個包中的文件夾中,但是顯然提交表單會將我發送到該網站上不存在的相對頁面,因為未為該頁面定義路線。 例如,對於以上表格,我被發送到mywebsite/actions/check.php

為這些路由創建路由不會做很多事情,因為我需要為它們創建Symfony控制器,這意味着我需要重做項目,並從這些控制器中的原始文件中復制/粘貼代碼。

在Symfony項目中是否可以將非Symfony代碼與相對路徑一起使用? 我在想相對包含路徑會起作用,但是表單動作呢?

您試圖繞過路由器將腳本作為靜態文件提供。 通常,框架使用靜態路由來服務CSS,JS,JPG,PNG等。您的靜態.PHP文件應位於該文件夾中。

這個答案: 在Symfony2項目中呈現靜態內容討論了如何使用.htaccess文件繞過symfony路由器,我認為您已經在其中包含了條件(RewriteCond):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

它告訴我們的是:如果文件存在於文件夾結構中,它將不使用路由器,而是將其原樣提供。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM