I'vに含まれていない:私が行うときPHPクラスが見つかりましたが、それはフォルダ内だと、私はこの方法でファイルを含める場合、それはまた...単数proble
が<?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();
それはI'vはこれをしようとすると思ったときに
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以外のすべてのクラスで最初の方法が機能するのはなぜですか?
ありがとうございました!
ここで、の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!";
}
}
私は、今、これをしようとしていますオートローダー:
これは、eコマースのクラスである:
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あなたが正しいパスであることを確認してください。ユーティリティフォルダはclassesフォルダと同じフォルダにありますか? – Brett