有没有更好的方法来包括?

时间:2013-01-21 20:49:00

标签: php

我决定在我的状态成功消息中使用包含文件,以便我可以不时添加“额外”消息,只编辑包含文件,而不必一直编辑主要主文件。这是我的代码:

$successP = include("includes/usermain/successpage.php"); 

$statusMessage = "<fieldset style=\"margin-left:20px; float:left; clear:both;\"><img src=\"images/success.gif\"> <font color=\"#CC0000\" size=\"3\"><b>Success!</b></font><br>Your file, <b>". $_FILES['bFile']['name'] ."</b>, was successfully uploaded. Please use the form below if you need to upload another file. <br /> </fieldset><br />";

echo $successP; 

此方法有效。但是,我在另一个论坛上被告知有更好的方法。然而,没有其他说法。

所以我的问题是......实现我想要实现的目标的最佳方法是什么?或者说,我目前的方法有问题吗?

2 个答案:

答案 0 :(得分:2)

include就像一个非常基本的函数调用。

如果你想做正确的合成,把你的类和函数放在单独的文件中,包括你需要的文件,并通过用任何输入数据初始化你的应用程序开始($ _GET等)

我真的无法从中了解到你对面向对象编程的了解程度如何,但是如果你还不熟悉类和函数,那么这是一个很好的开始:)

答案 1 :(得分:0)

通过更好的方法不确定你的意思。从功能角度来看,您有四种可能的选项来动态评估文件的内容:

  • include('foo.php') - 见上文
  • include_once('foo.php') - 如果已在当前模板中调用foo.php,则抛出错误
  • require('foo.php') - 与include()相同,但如果foo.php为404则抛出致命错误
  • require_once('foo.php') - include_once()和require()的爱孩子

您可以在此处详细了解它们:http://us3.php.net/manual/en/language.control-structures.php

如果你想抑制这些包含引发的任何错误,请在函数调用前加上@(例如@include('foo.php');不建议这样做,因为它隐藏了不良的编码实践。

如果您提供更多详细信息,我们可以为您提供更多信息。