Php 未找到但使用命名空间定义的类
我有一个名为Php 未找到但使用命名空间定义的类,php,Php,我有一个名为DataBaseHelper的类,它在文件DataBaseHelper.php中定义: <?php namespace Company\Project\System\DataBaseHelper; use Company\Project\System\RepoLink; use mysqli; use mysqli_result; class DataBaseHelper { /* some cool stuff */ } 调用CustomHelper->get
DataBaseHelper
的类,它在文件DataBaseHelper.php
中定义:
<?php
namespace Company\Project\System\DataBaseHelper;
use Company\Project\System\RepoLink;
use mysqli;
use mysqli_result;
class DataBaseHelper
{
/* some cool stuff */
}
调用CustomHelper->getDownloadCount()
会引发以下错误:
> [15-Sep-2019 07:48:09 Europe/Berlin] PHP Fatal error: Uncaught Error: Class 'Company\Project\System\DataBaseHelper\DataBaseHelper'
> not found in
> /Applications/XAMPP/xamppfiles/htdocs/project/system/helper.php:258
> Stack trace:
> #0 /Applications/XAMPP/xamppfiles/htdocs/project/manage/index.php(49):
> Company\Project\System\RepoHelper->getDownloadCount()
> #1 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/project/system/helper.php on
> line 258
名称空间是否缺少任何内容?helper.php
中的use语句是由我的IDE(PHPStorm)自动生成的
我不使用任何框架。PHP文件不能使用类,除非该类是:
new
上自动包含或要求类文件,您需要使用或让composer为您实现注册自动加载功能
你可以参考更多细节
您的PhpStorm可能建议使用名称空间,假设您使用composer的方式符合标准。一个类对于PHP文件不可用,除非该类是:
new
上自动包含或要求类文件,您需要使用或让composer为您实现注册自动加载功能
你可以参考更多细节
您的PhpStorm可能建议使用名称空间,假设您以符合标准的方式使用composer。您使用过任何框架吗?@shihab否您使用的helper.php文件
use Company\Project\DataBaseHelper\DataBaseHelper
不应该使用Company\Project\System\DataBaseHelper\DataBaseHelper代码>@shihab是的,你是对的-这只是一个愚蠢的复制粘贴错误。我将它与Company\Project\System\DataBaseHelper\DataBaseHelper
(这是IDE自动导入的内容)一起使用。如何/在何处加载带有类DataBaseHelper.php的文件?您是否在使用任何类型的自动加载器?您使用过任何框架吗?@shihab否在您使用的helper.php文件use Company\Project\DataBaseHelper\DataBaseHelper中,我没有使用任何框架(我会将此信息添加到我的问题中)
不应该使用Company\Project\System\DataBaseHelper\DataBaseHelper代码>@shihab是的,你是对的-这只是一个愚蠢的复制粘贴错误。我将它与Company\Project\System\DataBaseHelper\DataBaseHelper
(这是IDE自动导入的内容)一起使用。如何/在何处加载带有类DataBaseHelper.php的文件?你在用自动装弹机吗?
> [15-Sep-2019 07:48:09 Europe/Berlin] PHP Fatal error: Uncaught Error: Class 'Company\Project\System\DataBaseHelper\DataBaseHelper'
> not found in
> /Applications/XAMPP/xamppfiles/htdocs/project/system/helper.php:258
> Stack trace:
> #0 /Applications/XAMPP/xamppfiles/htdocs/project/manage/index.php(49):
> Company\Project\System\RepoHelper->getDownloadCount()
> #1 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/project/system/helper.php on
> line 258