将inc文件转换为php文件

时间:2014-02-18 00:09:45

标签: php asp.net vbscript asp-classic include

我正在开发一个asp项目。我的客户希望我将ASP转换为ASP.NET。 该项目有很多.inc文件放在一个include文件夹中,这些inc文件叫做

<!-- #include file="../includes/example.inc" --> 

在很多页面中。这些inc文件中的大多数都声明了在许多页面或函数中使用的变量或常量(用VBScript编写)。现在我的客户端要求我尝试将这些inc文件转换为php文件(没有任何关于php的线索,因为我之前从未使用过它。)

我的问题是

  1. 将这些inc文件转换为php有多高效。?
  2. 如何从aspx页面调用php页面中的函数?
  3. 如果没有转换为php会有什么更好的方法?
  4. 提前致谢!

2 个答案:

答案 0 :(得分:3)

  1. 这将需要重写所有这些苍蝇,因为PHP没有VBScript支持。因此,“有效性”充其量只是一个客观的陈述,即它取决于执行迁移的个人的能力和技能。

  2. 您无法从aspx页面(继承)调用php页面中的函数。你可以(尝试)这样做,但我强烈建议不要这样做。

  3. 我唯一的建议是从头开始。

答案 1 :(得分:2)

中止!

别去这个兔子洞!我同意@ohgodwhy所说的所有内容,并且我会添加一些细节。

首先,一点背景。 ASP文件[通常]具有.ASP文件扩展名,并始终使用VbScript编写。 PHP文件的扩展名为.PHP,并且总是用PHP编写。 .NET文件的.ASPX扩展名通常用C#或VB.NET编写。请注意,技术或文件扩展名之间没有重叠。我将在一秒钟内讨论INC文件。

当IIS解释代码时,它会根据文件扩展名选择正确的处理器,然后解释代码/脚本,执行它编程要做的任何事情,并为浏览器生成HTML输出以进行渲染。在这种情况下,ASP处理器的第一步是收集所有包含文件并使用与父文件相同的语言处理它们。我将假设您的INC文件实际上是ASP文件(无论其文件扩展名如何),因此它们被包含在内,然后作为ASP文件处理。如果它们包含PHP代码,那么您将立即收到错误。

如果您尝试在一个项目中组合技术,服务器必须使用多个解释器/引擎来处理所有这些并获取最终的HTML。 IF(这是一个很大的IF),但如果你能让它们全部一起工作,你仍然会遇到在技术之间来回传递数据的问题,因为它们在服务器的不同部分运行。你不能让ASP处理器包含一个PHP文件,让它神奇地工作。

可以让PHP,ASP和/或.NET在同一个项目中共存,但不是你想要它的方式。我已经完成了几次,项目(和服务器)必须非常仔细地配置,然后来回传递数据成为挑战,因为每种技术都在自己的内存空间中工作,无法访问到另一个。再一次,它可以完成,但它将成为一个主要的挑战,它将涉及一些创造性的编程 - 可能远远超过你的客户想要做的。

底线:告诉客户转换为PHP是浪费时间和金钱。你有ASP文件和INC(实际上是ASP)文件。为何涉及其他技术?您可以选择在ASP中重写整个内容,在PHP中重写整个内容,或者在.NET中重写整个内容,但不要混合搭配。

(一些关于某些技术贬低者的说明:我简化了这一点,以便让这个例子更加清晰!)