Autoloader und Namespaces

12/07/2015 - 20:03 von Stefan+Usenet | Report spam
Ein Programm verabschiedt sich freudlos mit:

| Jul 12 19:30:43 sokrates apache2: PHP Fatal error: Class 'Framework\Framework\DynamicMultiton' not found in /home/app/trunk/include/objects/login.php on line 3
| Jul 12 19:30:43 sokrates apache2: PHP Stack trace: Jul 12 19:30:43 sokrates apache2: PHP 1. {main}() /home/app/trunk/dispatch.php:0
| Jul 12 19:30:43 sokrates apache2: PHP 2. app_autoload($classname = 'Login') /home/app/trunk/dispatch.php:25
| Jul 12 19:30:43 sokrates apache2: PHP 3. require_once() /home/app/trunk/include/handler.php:19

Sieht man sich login.php an, dann findet sich dort jedoch:

| <?php
|
| abstract class Login extends Framework\DynamicMultiton
| [...]

Also nirgendwo die doppelte Verwendung des Namespaces, die in der
Fehlermeldung vorgeworfen wird.

Ich hatte so etwas schon einmal, als innerhalb des Namespaces ein
Fehler geworfen wurde; der Autoloader hat dann innerhalb des
Errorhandlers Klassen nachladen wollen, dabei aber den Namespace der
Fehlerstelle vorausgesetzt...

Dummerweise bleibt mir der Fehler diesmal auch dann noch erhalten,
wenn ich alle Error- und Exception-Handler deaktiviere. Was will mir
PHP mit dieser Meldung nun also sagen?

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan - mit dem schwarzen Sehnen professioneller Berge.
(Sloganizer)
 

Lesen sie die antworten

#1 Olaf Schmitt
12/07/2015 - 21:51 | Warnen spam
Am 12.07.2015 um 20:03 schrieb Stefan Froehlich:
Ein Programm verabschiedt sich freudlos mit:

| Jul 12 19:30:43 sokrates apache2: PHP Fatal error: Class 'Framework\Framework\DynamicMultiton' not found in /home/app/trunk/include/objects/login.php on line 3
| Jul 12 19:30:43 sokrates apache2: PHP Stack trace: Jul 12 19:30:43 sokrates apache2: PHP 1. {main}() /home/app/trunk/dispatch.php:0
| Jul 12 19:30:43 sokrates apache2: PHP 2. app_autoload($classname = 'Login') /home/app/trunk/dispatch.php:25
| Jul 12 19:30:43 sokrates apache2: PHP 3. require_once() /home/app/trunk/include/handler.php:19

Sieht man sich login.php an, dann findet sich dort jedoch:

| <?php
|
| abstract class Login extends Framework\DynamicMultiton
| [...]

Also nirgendwo die doppelte Verwendung des Namespaces, die in der
Fehlermeldung vorgeworfen wird.

Ich hatte so etwas schon einmal, als innerhalb des Namespaces ein
Fehler geworfen wurde; der Autoloader hat dann innerhalb des
Errorhandlers Klassen nachladen wollen, dabei aber den Namespace der
Fehlerstelle vorausgesetzt...

Dummerweise bleibt mir der Fehler diesmal auch dann noch erhalten,
wenn ich alle Error- und Exception-Handler deaktiviere. Was will mir
PHP mit dieser Meldung nun also sagen?

Servus,
Stefan




Mal ins Blaue (ich hab lànger kein PHP mehr gemacht, zur Zeit nur C#):
PHP Fatal error: Class 'Framework\Framework\DynamicMultiton' not found
sagt doch aus, das PHP die nicht findet.

Und war es nicht so, dass abstrakte Klassen nur abgeleitet werden können?
abstract class Login extends Framework\DynamicMultiton

Dann müsste doch DynamicMultiton als abstrct deklariert sein und die
login nur extends DynamicMultiton machen. Also ohne das abstract vor
class Login.




mfg
Olaf

Ähnliche fragen