Ecco la mia struttura di cartelle:PHP aggiungendo spazio dei nomi personalizzato utilizzando caricatore automatico dal compositore
Classes
- CronJobs
- Weather
- WeatherSite.php
voglio caricare classe WeatherSite dal mio script. Im usando compositore autoload:
$loader = include(LIBRARY .'autoload.php');
$loader->add('Classes\Weather',CLASSES .'cronjobs/weather');
$weather = new Classes\Weather\WeatherSite();
Im supponendo che il codice di cui sopra è l'aggiunta dello spazio dei nomi e il percorso che namespace risolve. Ma quando la pagina viene caricata ottengo sempre questo errore:
Fatal error: Class 'Classes\Weather\WeatherSite' not found
Qui è il mio file WeatherSite.php:
namespace Classes\Weather;
class WeatherSite {
public function __construct()
{
}
public function findWeatherSites()
{
}
}
Che cosa sto facendo di sbagliato?
In realtà non è necessario caricatore automatico personalizzato, probabilmente si può usare PSR-4. Usi 'composer.json'? In tal caso, potresti aggiungere il suo contenuto nella sezione 'autoload'? –
@ Tomáš Votruba Ho pensato alle classi personalizzate che scrivo Dovrei aggiungere gli spazi dei nomi allo script del caricatore automatico fornito con il compositore? – John