在这个没有框架的 PHP 项目中,我有这样的文件夹结构:适配器、类和模型
php 文件“index.php”从根目录执行,我在处理模型和适配器类时遇到问题
索引文件
<?php
include('Class/Load.php');
$connection = MysqlClass::getConnectionMysql();
类加载
<?php
include(__DIR__ . DIRECTORY_SEPARATOR . 'MysqlClass.php');
include(__DIR__ . DIRECTORY_SEPARATOR . 'UtilsClass.php');
include(__DIR__ . DIRECTORY_SEPARATOR . 'EmailClass.php');
Mysql类文件
<?php
include ('UtilsClass.php');
class MysqlClass
{
/**
* @return PDO
*/
public static function getConnectionMysql(): PDO
{
$dbhost = ReadEnvFileClass::getConfig('MYSQL_LOCAL_HOST');
$dbuser = ReadEnvFileClass::getConfig('MYSQL_LOCAL_USER');
$dbpass = ReadEnvFileClass::getConfig('MYSQL_LOCAL_PWD');
$dbname = ReadEnvFileClass::getConfig('MYSQL_LOCAL_DBNAME');
try {
$dsn = "mysql:host=$dbhost;dbname=$dbname";
$dbh = new PDO($dsn, $dbuser, $dbpass);
} catch (PDOException $e){
var_dump($dbhost,$dbuser,$dbpass);
echo $e->getMessage();
}
return $dbh;
}
}
问题是在第二个 MysqlClass 文件中,我应该在此处将文件包含到我需要的不同类中,还是应该在 load.php 文件的 index.php 文件中执行此操作并从那里加载我在项目的其余部分中需要的所有类。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用自动加载器总是一个好主意,例如 作曲家。
首先,将
Adapter、Class和Models子目录移动到src目录下。完全删除Load.php。结构将是:
然后在主目录中创建
composer.json文件:{ "autoload": { "psr-4": {"Acme\\": "src/"} } }在所有类文件中,放置正确的命名空间并删除所有
include和require调用: