首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当它找到脚本时,为什么它找不到类呢?

当它找到脚本时,为什么它找不到类呢?
EN

Stack Overflow用户
提问于 2013-03-20 14:42:03
回答 4查看 66关注 0票数 1

发生了一些奇怪的事情。

下面是view_reminders.php的一个片段:

代码语言:javascript
复制
<?php 
  namespace reminder;
  require_once('./reusable/reminders.php');
?>

some HTML...

<?php  
    $reminders = new Reminders(); # STATEMENT THAT THROWS AN ERROR : LINE 23
    $reminder_details = $reminders->get_reminders();
    foreach($reminder_details as $reminder) {
        echo $reminder;
    }
?>

在上面的脚本中,语句$reminders = new Reminders()抛出一个错误:Fatal error: Class 'reminder\Reminders' not found in E:\Installed_Apps\xampp\htdocs\remind\view_reminders.php on line 23

我不明白这个错误。以下是来自reminders.php的片段:

代码语言:javascript
复制
<?php
namespace reminder;
namespace connection;
require_once('./reusable/connection.php');

Class Reminders{
    private $user_info;
    private $userID;
    private $reminder_info;
    private $reminder_count;

            .
            .
            .
    }

现在,当它找到脚本Reminders时,为什么它找不到类reminders.php呢?

注:目录结构:

代码语言:javascript
复制
     +--->resuable
          +---->connection.php
           ---->reminders.php
     ---->view_reminders.php

view_reminders.php就在connection.phpreminders.php之外,它们位于reusable目录中。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-20 14:47:08

您将命名空间设置为connection。您可以使用多名称空间,但是您必须编写如下:

代码语言:javascript
复制
<?php
namespace connection;
require_once('./reusable/connection.php');

namespace reminder;
Class Reminders{
    private $user_info;
    private $userID;
    private $reminder_info;
    private $reminder_count;

            .
            .
            .
    }

还请查看手册的链接,以了解使用方括号使用多个命名空间的推荐方法:

代码语言:javascript
复制
<?php
namespace connection {
require_once('./reusable/connection.php');
}

namespace reminder {
Class Reminders{
    private $user_info;
    private $userID;
    private $reminder_info;
    private $reminder_count;

            .
            .
            .
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-03-20 14:44:57

提醒类上的双命名空间?

票数 0
EN

Stack Overflow用户

发布于 2013-03-20 14:47:23

你真的能那样使用两个名称空间吗?据我所知,在这段代码中:

代码语言:javascript
复制
namespace reminder;
namespace connection;

下一段代码将用于连接命名空间,提示为空。

尝试从那里删除连接命名空间。

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

https://stackoverflow.com/questions/15526699

复制
相关文章

相似问题

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