我有一个名为“SEO_URL”的PHP类。在该类中的点我有这样的PHP类没有被发现,当它包括
$class_name = "cPath_SEO_URL";
return $class_name::href();
,我得到
Fatal error: Class 'cPath_SEO_URL' not found in
...\includes\classes\seo.class.php on line 52
的事情是我已经包含在SEO_URL
include_once(/path/to/my/class);
class SEO_URL{
}
顶部的类,我得到这个错误。
但是,当我在类的顶部上硬编码类SEO_URL它的作品。所以这个工作。
class cPath_SEO_URL{
function cPath_SEO_URL(){}
function href() { return "CPathHref"; }
}
class SEO_URL{
...
$class_name = "cPath_SEO_URL";
return $class_name::href();
...
}
这并不
include_once(/path/to/my/class);
class SEO_URL{
...
$class_name = "cPath_SEO_URL";
return $class_name::href();
...
}
我在想自从本。
这是为什么?
您是否已关闭PHP警告? PHP在找不到类文件时会抛出E_WARNING异常,这通常会输出到浏览器,但可能会被禁用。 – JamesHalsall 2011-02-14 14:37:19
没有冒犯,但我的90% - 猜测是类文件不正确。您应该使用require_once而不是include_once,以便在读取时发生错误(如错误的文件名/访问权限不足)会导致致命的php错误,而不仅仅是警告。 – phihag 2011-02-14 14:37:41
对于@phihag来说+1表示你应该使用`require_once`而不是`include_once`,你的程序在没有包含文件的情况下无法生存。当您尝试使用相关功能时,这会在需求失败而不是奇怪错误时给您带来有用的错误。 – Spudley 2011-02-14 14:59:56