首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Autoloader问题未返回类

Autoloader问题未返回类
EN

Stack Overflow用户
提问于 2016-11-13 00:31:21
回答 1查看 31关注 0票数 0

问题?

引导程序(Autoloader)似乎没有正常工作,或者我遗漏了一些东西。这是简化的代码。

下面的代码返回

类“骨架”不存在。

在index.php文件上。

index.php

代码语言:javascript
复制
<?php

include 'bootloader.php';
use Skeleton\Html\LoginHeader;
$tool = new Skeleton/Html/LoginHeader();

bootloader.php

代码语言:javascript
复制
<?php

function Boot($className) {
        $fileName = '';
        $namespace = '';

        // Sets the include path as the "src" directory
        $includePath = dirname(__FILE__).DIRECTORY_SEPARATOR.'src';

        if (false !== ($lastNsPos = strripos($className, '\\'))) {
            $namespace = substr($className, 0, $lastNsPos);
            $className = substr($className, $lastNsPos + 1);
            $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
        }
        $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
        $fullFileName = $includePath . DIRECTORY_SEPARATOR . $fileName;

        if (file_exists($fullFileName)) {
            require $fullFileName;
        } else {
            echo 'Class "'.$className.'" does not exist.';
        }
    }
    spl_autoload_register('Boot'); // Registers the autoloader

src/Skeleton/Html/LoginHeader.php

代码语言:javascript
复制
<?php

namespace Skeleton\Html;

class LoginHeader () {
    echo "<h1>Login Header OK!</h1>";
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-13 04:40:22

这里有几个问题:

( 1)这一行/一节不对:

代码语言:javascript
复制
class LoginHeader () {

应:

代码语言:javascript
复制
class LoginHeader
    {
        public function __construct()
            {
                echo "<h1>Login Header OK!</h1>";
                ...etc

2)你没有正确分配你的班级。你有:

代码语言:javascript
复制
$tool = new Skeleton/Html/LoginHeader();

应该是反斜杠:

代码语言:javascript
复制
            --------v----v
$tool = new Skeleton\Html\LoginHeader();

一旦修复了反斜杠,就会在类页面上得到一个语法错误,就像前面提到的那样,但是自动加载程序本身工作正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40569248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档