繁体   English   中英

PHP autoload 在php项目中找不到class

[英]PHP autoload can't find the class in php project

我得到的项目文件结构

 127.0.0.1:52368 [500]: GET /controllers/login - Uncaught Error: Class "App\Core\Database" not found in /path/to/my/Php/project/src/controllers/index.php:9
Stack trace:
#0 {main}
  thrown in  /path/to/my/Php/project/src/controllers/index.php on line 9

class 触发错误

<?php

namespace App\controllers;

use App\Core\Database;

//$conn = Database::getConnection();
try {
    $conn = new Database(__DIR__ . './../config.php');
} catch (\Exception $e) {
}
$query = "SELECT id, username, image, aboutme
            FROM users
                 LEFT JOIN persons on users.id = persons.user_id
            LIMIT 24";
$tbh = $conn->prepare($query);
$tbh->execute();
$persons = $tbh->fetchAll();
require_once basename("/") . 'views/index.view.php';

还有我的 autoload_classmap.php

return array(
    'App\\Core\\Database' => $baseDir . '/src/Core/Database.php',
    'App\\Core\\DotEnv' => $baseDir . '/src/Core/DotEnv.php',
    'App\\Core\\Router' => $baseDir . '/src/Core/Router.php',
    'App\\Entity\\Person' => $baseDir . '/src/Entity/Person.php',
    'App\\Entity\\User' => $baseDir . '/src/Entity/User.php',

我从src目录启动服务器:php -S localhost:8000 任何帮助将不胜感激。 谢谢你。

编辑...我正在从 url 调用 index.php: localhost:8000 甚至在 index.php 中使用此代码

    <?php
    namespace App;
    
    //use App\core\Database;
    use App\Core\Router;
    
    require 'functions.php';
    
    //$config = require_once ('config.php');
    //$db = new Database($config);
    
    //require 'Entity/User.php';
    
    $uri = parse_url($_SERVER['REQUEST_URI'])['path'];
    
    $router = new Router();
    $router->getRoute($uri);
    
    
    //require 'router.php';
I'm getting 
127.0.0.1:53738 [500]: GET / - Uncaught Error: Class "App\Core\Router" not found in

您必须创建一个 class 并在其中添加数据。

准备($查询); $tbh->执行(); $persons = $tbh->fetchAll(); require_once 基名(“/”)。 'views/index.view.php'; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM