有一些奇怪的事情发生。
以下是来自view_reminders.php
的代码段:
<?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
的摘要:
<?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
?
注意:目录结构:
+--->resuable
+---->connection.php
---->reminders.php
---->view_reminders.php
view_reminders.php
位于connection.php
目录中的reminders.php
和reusable
之外。
答案 0 :(得分:2)
您正在将命名空间设置为connection
。您可以使用multiple namespaces,但您必须将其编写为:
<?php
namespace connection;
require_once('./reusable/connection.php');
namespace reminder;
Class Reminders{
private $user_info;
private $userID;
private $reminder_info;
private $reminder_count;
.
.
.
}
另请查看手册的链接,了解使用括号使用多个命名空间的推荐方法:
<?php
namespace connection {
require_once('./reusable/connection.php');
}
namespace reminder {
Class Reminders{
private $user_info;
private $userID;
private $reminder_info;
private $reminder_count;
.
.
.
}
}
答案 1 :(得分:0)
Reminders类的双重命名空间?
答案 2 :(得分:0)
你能真正使用两种名称空间吗??我知道,在这段代码中:
namespace reminder;
namespace connection;
下一个代码将用于连接命名空间,提醒为空
尝试从那里删除连接命名空间。
答案 3 :(得分:0)
根据PHP: Defining multiple namespaces in the same file:
也可以在同一个文件中声明多个名称空间。
在“reminders.php”中,您已根据该页面上描述的语法声明了多个名称空间。我建议后一个(connection
)是创建Reminders
类的命名空间。