Dalam projek PHP tanpa rangka kerja ini, saya mempunyai struktur folder ini: Penyesuai, Kelas dan Model
Fail php "index.php" dilaksanakan daripada direktori akar dan saya menghadapi masalah mengendalikan kelas model dan penyesuai
Fail indeks
<?php include('Class/Load.php'); $connection = MysqlClass::getConnectionMysql();
Pemuatan kelas
<?php include(__DIR__ . DIRECTORY_SEPARATOR . 'MysqlClass.php'); include(__DIR__ . DIRECTORY_SEPARATOR . 'UtilsClass.php'); include(__DIR__ . DIRECTORY_SEPARATOR . 'EmailClass.php');
Fail kelas 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; } }
Soalannya adalah dalam fail MysqlClass kedua, perlukah saya memasukkan fail di sini ke dalam kelas berbeza yang saya perlukan atau adakah saya perlu melakukan ini dalam fail index.php fail load.php dan memuatkannya dari sana Semua kelas diperlukan dalam baki projek.
Adalah idea yang baik untuk menggunakan autoloader, seperti Komposer.
Pertama, tempat
Adapter
、Class
和Models
子目录移动到src
目录下。完全删除Load.php
.Strukturnya ialah:
Kemudian buat fail
composer.json
dalam direktori rumah anda:Dalam semua fail kelas, letakkan ruang nama yang betul dan alih keluar semua
include
和require
panggilan ke: