心中已经奇异proble ...如果我有这样的文件:PHP类没有找到,但它是在文件夹中,它也包括
<?php
session_start();
session_regenerate_id();
foreach (glob("../class/*.php") as $filename)
{
echo "$filename\n";
include $filename;
}
foreach (glob("../utilities/*.php") as $filename) {
echo "$filename\n";
include $filename;
}
class ECommerce {
private $checker;
private $errorManager;
/**
* ECommerce constructor.
*/
function __construct() {
$this->checker = new Checker();
$this->errorManager = new ErrorManager();
}
的网站不工作,当我做
$ecommerce = new ECommerce();
它说,
Class 'ErrorManager' not found in path
我想任何事情,当我心中已经想试试这个:
<?php
session_start();
session_regenerate_id();
include "../class/Checker.php";
include "../class/User.php";
include "../utilities/ErrorManager.php";
class ECommerce {
private $checker;
private $errorManager;
/**
* ECommerce constructor.
*/
function __construct() {
$this->checker = new Checker();
$this->errorManager = new ErrorManager();
}
以这种方式,它的作品和任何事情都做它必须做的!
在我的内心,“为什么”这个问题已经扎根,我无法入睡(真的)。
为什么第一种方式适用于除ErrorManager之外的所有类?
谢谢!
在这里,有错误管理类代码(它有空白构造类似检查类)
<?php
class ErrorManager
{
function __construct() {
}
function getErrorUserNameNotValid() {
return "Nome inserito non valido";
}
function getErrorUserSurnameNotValid() {
return "Cognome inserito non valido";
}
function getErrorUserEmailAlreadyExists() {
return "Email inserita non valida!";
}
function getErrorUserEmailNotValid() {
return "Email inserita non valida!";
}
function getErrorUserPasswordNotValid() {
return "Password inserita non valida! Inserisci una password che sia lunga tra i 6 e i 50 caratteri!";
}
function getErrorUserAddressNotValid() {
return "Indirizzo inserito non valido!";
}
function getErrorUserPhoneNumberNotValid() {
return "Numero telefonico inserito non valido! Inserisci solo numeri, senza trattini o caratteri speciali!";
}
}
我现在想这个,与自动装入:
这是电子商务类:
spl_autoload_register('MyAutoloader::ClassLoader');
spl_autoload_register('MyAutoloader::LibraryLoader');
这是MyAutoloaderClass
class MyAutoloader
{
public static function ClassLoader($className)
{
$path = "../class/";
include $path.$className.'.php';
}
public static function LibraryLoader($className)
{
$path = __DIR__."/";
include $path.$className.'.php';
}
}
它说,
include(../class/ErrorManager.php): failed to open stream: No such file or directory in
你能不能从文件中发布ErrorManager代码请 – Brett
@Brett当然,它来了! – ProtoTyPus
../utilities/ErrorManager.php,你确定这是正确的路径。utilities文件夹与classes文件夹位于同一个文件夹中? – Brett