簡體   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