php - PHP fetch_class 与另一个文件中的类
问题描述
找不到我的问题的答案,所以就这样吧。
我有一个包含数据库连接信息的 config.php 文件:
<?php
declare(strict_types=1);
namespace App\Model;
// COMPOSER AUTOLOAD
require '../vendor/autoload.php';
// ROUTER FOR CONFIG PAGE
class Config
{
// LOCAL DATABASE
public $Database_Name = "power";
public $Database_User = "root";
public $Database_Password = "";
}
我有一个带有 PDO 连接的 Database.php 文件:
<?php
declare(strict_types=1);
namespace App\Model;
use PDO;
use Exception;
include "../public/Config.php";
// CLASSE DATABASE
class Database
{
private static $bdd = null;
// MAIN DATABASE CONNECTION USED BY ALL METHODS
public static function getBdd()
{
if (self::$bdd == null) {
$config = new Config;
try {
self::$bdd = new PDO('mysql:host=localhost; dbname=' . $config->Database_Name, $config- >Database_User, $config->Database_Password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (Exception $e) {
echo "Cannot reach Database";
die;
}
}
return self::$bdd;
}
}
我有我想要实例化并用数据库中的数据填充的 getter 和 setter 类:
<?php
declare(strict_types=1);
namespace App\Model;
class Group
{
private $id;
private $group_admin;
private $creation_date;
private $group_name;
private $group_description;
private $group_status;
// CONSTRUCT
public function __construct($id, $group_admin, $creation_date, $title, $description, $status)
{
$this->id = $id;
$this->group_admin = $group_admin;
$this->creation_date = $creation_date;
$this->group_name = $title;
$this->group_description = $description;
$this->group_status = $status;
}
/**
* Get the value of id
*/
public function getId()
{
return $this->id;
}
/**
* Set the value of id
*
* @return self
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
..........
最后我有我的模型和我想要执行的代码来获取数据并填充我的类:
<?php
namespace App\Model;
use PDO;
use App\Model\Group; // THIS SHOULD IMPORT THE GROUP CLASS
class GroupModel
{
public function getMyGroups(): array
{
$bdd = Database::getBdd();
$req = $bdd->prepare("SELECT * FROM groups ORDER BY creation_date DESC");
$req->execute();
// DEBUG
// $req->debugDumpParams();
// die;
$Group = new Group(null, null, null, null, null, null);
$result = $req->fetchall(PDO::FETCH_CLASS, 'Group');
var_dump($result);
die;
return $result;
}
...问题是,我的代码看不到这个类。
我在这里想念什么?
我目前收到错误:
Fatal error: Class 'Group' not found in D:\Dropbox\...\...\OCR-P5\src\Model\GroupModel.php on line 43
我也尝试使用 Group::class 或通过实例化类但没有,像这样:
$result = $req->fetchall(PDO::FETCH_CLASS, Group::class );
它也不起作用,也找不到类。
我还注意到我在两个地方使用了 PDO 表达式(1 - 在建立连接的文件中,2 - 在最后一个模型方法 fetchall() 中,不确定我是否应该这样做。
此致。
解决方案
推荐阅读
- python - 写入新的 CSV 文件时缺少带有空格的行
- java - 如何从 json 数据模型中获取我的解析数据
- j - 等价的默示表达
- openshift - 如何在通过 minishift 启动并从存在 minishift 的机器访问时检索 openshift 私有 docker 注册表的 ip
- python - 在我的列表中,我想检测它的长度是 -1 还是 0,否则我希望它返回第二个 [1] 索引
- module - why my field field does not want to appear in my link menu?
- arrays - How to add text in an array using fs?
- java - 在 PreferenceScreen 中显示 ActionBar 看起来很乱
- spring-boot - How to secure spring Boot API with API key and secret
- spring-batch - 读取大量数据