我正在使用composer来自动加载类,但由于某些原因,我的Model
Controller
namespace App\Http\Controllers;
use App\Http\Database\Model;
class Controller extends Model
{
public function insert($query){
$results = $this->model->query($query)->fetchAll();
return $results;
}
}
现在我在Model
文件中的内容是与MySQL的简单PDO连接
namespace app\Http\Database;
class Model extends Database
{
public $model;
function __construct()
{
try {
$this->model = new \PDO("mysql:host=".Database::DB_HOST."; dbname=".Database::DB_DATABASE."", "".Database::DB_USER."", "".Database::DB_PASS."", array(\PDO::ATTR_PERSISTENT => false));
$this->model->exec("SET CHARACTER SET utf8");
return $this->model;
} catch (PDOException $e) {
echo "Cannot connect to the Database";
die();
}
}
}
以下是我在index.php上的内容
namespace App\Http\Controllers;
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once __DIR__ . '/../vendor/autoload.php';
$controller = new Controller();
$query = 'SELECT * FROM pages WHERE id = 1';
print_r($controller->insert($query));
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
'App\\Http\\Controllers\\IndexController' => $baseDir . '/app/Http/Controllers/IndexController.php',
'App\\Http\\Database\\Database' => $baseDir . '/app/Http/Database/Database.php',
'app\\Http\\Database\\Model' => $baseDir . '/app/Http/Database/Model.php',
);
我在这里缺少什么?你能指出我正确的方向吗?
答案 0 :(得分:3)
请检查一下Model Class中的命名空间。请将其重命名为App\Http\Database
答案 1 :(得分:1)
或者,修复导入:
use app\Http\Database\Model;
但是,您可能希望修复已建议的命名空间。