php include require once

0 views
Skip to first unread message

redback.xh

unread,
Aug 20, 2006, 1:58:06 AM8/20/06
to cn.php
PHP redeclare INCLUDE REQUIRE once 2005年10月20日07:33星期四
[Dev开发]
继续制作~
将原操作员管理模块复制一份准备制作 密码修改部分
结果报告:
Fatal error: Cannot redeclare class clsdb in O:\php\Apache
Group\Apache2\htdocs\bill\include\clsdb.php on line 3
全部改为:
if(!class_exists(clsdb))
require_once("../include/clsdb.php");
$db=new clsdb();
class_exists (PHP 4 )
class_exists -- 检查类是否已定义
描述 bool class_exists ( string class_name)
如果由 class_name 所指的类已经定义,此函数返回
TRUE,否则返回 FALSE。
参见 get_declared_classes()。
require_once()
require_once()
语句在脚本执行期间包括并运行指定文件。此行为和
require()
语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。有关此语句怎样工作参见
require() 的文档。
require_once()
应该用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。

使用 require_once() 和 include_once() 的例子见最新的 PHP
源程序发行包中的 PEAR 代码。
注: require_once() 是 PHP 4.0.1pl2 中新加入的。
注: 要注意 require_once() 和 include_once()
在大小写不敏感的操作系统中(例如
Windows)的行为可能不是你所期望的。 例子 11-8.
require_once() 在 Windows 下不区分大小写
<?php
require_once("a.php"); // this will include a.php
require_once("A.php"); // this will include a.php again on Windows!
?>
警告
Windows 版本的 PHP 在 4.3.0
版之前不支持该函数的远程文件访问,即使
allow_url_fopen 选项已被激活。

require()
require() 语句包括并运行指定文件。
require()
语句包括并运行指定文件。有关包括如何工作的详细信息见
include() 的文档。
require() 和 include()
除了怎样处理失败之外在各方面都完全一样。include()
产生一个警告而 require()
则导致一个致命错误。换句话说,如果你想在丢失文件时停止处理页面,那就别犹豫了,用
require() 吧。include()
就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。

注: 在 PHP 4.0.2 之前适用以下规则:require()
总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响
require()。不过如果 require()
所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响
require()
的行为。尽管目标文件中包含的代码仍然是循环的主体,但
require() 本身只会运行一次。
include()
include() 语句包括并运行指定文件。
以下文档也适用于
require()。这两种结构除了在如何处理失败之外完全一样。include()
产生一个警告而 require()
则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用
require()。include()
就不是这样,脚本会继续运行。同时也要确认设置了合适的
include_path。
当一个文件被包括时,其中所包含的代码继承了 include
所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。

因为 include() 和 require()
是特殊的语言结构,在条件语句中使用必须将其放在语句组中(花括号中)。

处理返回值:可以在被包括的文件中使用 return()
语句来终止该文件中程序的执行并返回调用它的脚本。同样也可以从被包括的文件中返回值。可以像普通函数一样获得
include 呼叫的返回值。
注: 在 PHP 3
中,除非是在函数中调用否则被包括的文件中不能出现
return。在此情况下 return()
作用于该函数而不是整个文件。
注意以上例子中的区别。第一个在被包括的文件中用了
return()
而另一个没有。其它几种把文件"包括"到变量的方法是用
fopen(),file() 或者 include()
连同输出控制函数一起使用。
注:
由于这是一个语言结构而非函数,因此它无法被"变量函数"调用。
参见
require(),require_once(),include_once(),readfile(),virtual()
和 include_path。

字体:大 中 小

http://www.shengfang.org/blog/p/phpredeclareINCLUDEREQUIRE.php

Reply all
Reply to author
Forward
0 new messages