Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我正在使用composer自动加载文件,但当我运行代码时,他无法找到该类_Php - Fatal编程技术网

Php 我正在使用composer自动加载文件,但当我运行代码时,他无法找到该类

Php 我正在使用composer自动加载文件,但当我运行代码时,他无法找到该类,php,Php,当我运行这个时,我得到了一个错误 PHP致命错误:未捕获错误:在/home/ashwinibhandare/dev/training/ComposerBasics/src/queryhelp/ViewCustomerData.PHP中找不到类'ashwini123\queyhelp' 堆栈跟踪: 0/home/ashwinibhandare/dev/training/ComposerBasics/public/index.php(4):include() 1{main} 在我的项目中,有两个文件

当我运行这个时,我得到了一个错误

PHP致命错误:未捕获错误:在/home/ashwinibhandare/dev/training/ComposerBasics/src/queryhelp/ViewCustomerData.PHP中找不到类'ashwini123\queyhelp'

堆栈跟踪:

0/home/ashwinibhandare/dev/training/ComposerBasics/public/index.php(4):include() 1{main} 在我的项目中,有两个文件夹public和src。在public文件夹中有index.php文件,在src中还有一个文件夹queryHelper,其中包含数据库连接文件、viewCustomerdata.php文件和queryHelper.php文件。我已经将名称空间添加到DbConnection.php文件中。为什么会出现这个错误?因为我正确地使用了名称空间

composer.json

{
    "name": "ashwinibhandare/composer-basics",
    "authors": [
        {
            "name": "Ashwini Bhandare",
            "email": "a.bhandare@easternenterprise.com"
        }
    ],

     "require": {},
    "autoload": {
        "psr-4": {"ashwini123\\": "src/queryHelper"}
    }
}
index.php

<?php
require_once '../vendor/autoload.php';

include '../src/queryHelper/ViewCustomerData.php';
?>
ViewCustomerData.php
<?php
use ashwini123\queyHelper;

$Crude=new queyHelper();
$sql="select * from users";
$selectData=$Crude->getData($sql);

?>

ViewCustomerData.php
queryhelp.php

<?php
use ashwini123\DbConnection;
class queyHelper extends DbConnection {

    public function __construct()
    {

         parent::__construct();

    }

    public function getData($query)
    {
      try {

            $sql=$this->connection->prepare($query);
            $sql->execute();
            $count = $sql->rowCount();

            if($count)
            {
                $selectData =  $sql->fetchAll(PDO::FETCH_ASSOC);
            }  

            return $selectData;
        } 
        catch(PDOException $e) {
           die("Failed: " . $e->getMessage());
        }
    }
}
?>

DbConnection.php

<?php
namespace ashwini123;
class DbConnection {


    public $connection;

    public function __construct()
    { 
        if (!isset($this->connection)) {

            try {
                    $this->connection = new PDO("mysql:host=localhost;dbname=crudOperation",'root', 'root');
                    $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    return $this->connection;


                } 
                catch(PDOException $e) {

                    die("Failed to connect with MySQL: " . $e->getMessage());

                }

                } else {
                            echo "Connection failed";
                        }
    }
}
?>

您有一个打字错误

ashwini123\queyHelper
应该是

 ashwini123\queryHelper
此外,修改PSR-4映射如下

"psr-4": {"ashwini123\\": "src/"}

是的,但是我的foldername是正确的queryHelper,它下面的文件是queyHelper.phpi也做了类名的更改仍然我得到了Error=PHP致命错误:未捕获错误:在/home/ashwinibhandare/dev/training/ComposerBasics/src/queryHelper/ViewCustomerData.PHP:4堆栈跟踪:#0/home/ashwinibhandare/dev/training/ComposerBasics/public/index.php(4):include()4@AshwiniBhandare整个项目是否在src/queryHelper下?如果是,则保留PSR-4是正确的。否则,您应该按照我的操作,在
ashwini123\queryHelper\queryHelper
中修改
ashwini123\queryHelper\queryHelper
尝试编写器转储自动加载-o
"psr-4": {"ashwini123\\": "src/"}