【问题标题】:__autoload function is not working__autoload 功能不工作
【发布时间】:2015-12-11 01:31:56
【问题描述】:

这是我的代码。我试图自动加载 Sample.php,但我收到消息:无法加载 Sample。 这段代码有什么问题?

function __autoload($class_name) {

   if(file_exists($class_name . '.php')) {
       require_once($class_name . '.php');    
   } 

   else {
    throw new Exception("Unable to load $class_name.");
   }
}

try {
    $a = new Sample();
} 

catch (Exception $e) {
    echo $e->getMessage(), "\n";
}

示例.php

Sample {

echo "This is working.";

}

【问题讨论】:

  • 示例文件是否包含有效的类定义?
  • 嗨@MarkBaker,我尝试在链接中执行此操作,但仍然无法正常工作。 codeforest.net/autoload-your-classes-in-php
  • 您的示例类有问题。解析错误:解析错误,期待`"function (T_FUNCTION)"'
  • 这不是 PHP 代码,在代码的“示例”部分,检查 PHP 语法。 (zend_language_parser.y)

标签: php class autoload


【解决方案1】:

直接在__autoload函数中试试这段代码

function __autoload($className){
    require 'Sample.php';
}

然后给我看结果。

【讨论】:

  • 什么也没发生。它没有显示消息:这是有效的。
  • 您是否在设置中显示了所有错误?尝试一些错误代码,例如调用未定义的函数 showRain() 来查看错误;
【解决方案2】:

试试这个示例类

<?php
class Sample {
   function __construct() {
       echo 'This is working.';
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 2014-12-13
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    相关资源
    最近更新 更多