PHP Carading con SPLCLASSLOADER?
-
12-11-2019 - |
Domanda
Sto imparando gli spazi dei nomi in PHP 5.3 e vorrei usare gli spazi dei nomi automaticamente. ho trovato questo Classe SPLCLASCHARISER, ma non riesco a capire come funziona.
Diciamo che ho una struttura di directory come questa:
system
- framework
- http
- request.php
- response.php
index.php
SplClassLoader.php
Come si abilita il caricamento automatico della classe? Quali sono i nomi request.php
e response.php
avere?
Questo è il request.php
:
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructer!";
}
}
E questo è il response.php
:
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructed!";
}
}
E in index.php
Io ho:
require_once("SplClassLoader.php");
$loader = new SplClassLoader('framework\http', 'system/framework');
$loader->register();
$r = new Request();
Ricevo questo messaggio di errore:
Fatal error: Class 'Request' not found in C:\wamp\apache\htdocs\php_autoloading\index.php on line 8
Perché non funziona? Come posso usare SplClassLoader
Nei miei progetti quindi carica/richiede le mie lezioni e come dovrei impostare e nominare cartelle e spazi dei nomi?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow