gpt4 book ai didi

php - 逻辑异常错误 : Passed array does not specify an existing static method

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:44 26 4
gpt4 key购买 nike

请问我的 autoloader 类/函数与 spl_autoload_register 有任何错误吗?

感谢您的帮助。

这是我的代码

<?php

namespace system\core;

// if(!defined('IN_APP')){
// exit('Access Denied');
// }

define('ROOT', $_SERVER['DOCUMENT_ROOT']);
define('DS', DIRECTORY_SEPARATOR);

if(function_exists('spl_autoload_register')){

spl_autoload_register(array('core', 'autoload'));

}else{

function __autoload($class){

return core::autoload($class);

}

}

A:createapp();

class core
{

private static $_app;

public static function createapp(){

if(!is_object(self::$_app)){

self::$_app = 'something';

}

return self::$_app;
}

public static function autoload($class){

$class = trim(strtolower($class));

if(strpos($class, '\\') !== false){

$path = ROOT;

$path .= DS . $class . '.php';

$path = preg_replace('/[\\|\/]/i', DS, $path);

require_once($path);

}

}

}

class A extends core {}

我得到了这个错误

Fatal error: Uncaught exception 'LogicException' with message 'Passed array does not specify an existing static method (class 'core' not found)' in C:\xampp\htdocs\test\system\core.php:14 Stack trace: #0 C:\xampp\htdocs\test\system\core.php(14): spl_autoload_register(Array) #1 {main} thrown in C:\xampp\htdocs\test\system\core.php on line 14

在我读到错误消息后,这意味着找不到类核心?但是这个类是写在同一个文件里的???

最佳答案

您必须设置一个完全限定的名称。因为你的类在 system\core 命名空间中:

spl_autoload_register(array('system\core\core', 'autoload'));

关于php - 逻辑异常错误 : Passed array does not specify an existing static method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com