ubuntuusers.de

Was mich an PHP stört

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

blackbird Team-Icon

Avatar von blackbird

Anmeldungsdatum:
19. November 2004

Beiträge: 3397

Wohnort: Hermagor, Kärnten - Österreich

Hier mal ein Testcode.
Führt ihn nicht aus, ratet mal lieber, was das Ding ausgibt:

<?php

error_reporting(0);

class apple
{
    var $bar1;
    var $bar2;
    
    function apple($bar1, $bar2)
    {
        $this->$bar1 = $bar1;
        $this->$bar2 = $bar2;
        echo "Im Apfelkonstruktor\n";
        var_dump($this->$bar1);
        var_dump($this->$bar2);
    }
    function make_foo()
    {
        $temp = $this->$bar1;
        $this->$bar1 = $this->$bar2;
        $this->$bar2 = $temp;
    }
    function print_out()
    {
        echo "Ich bin ein Apfel:\n";
        var_dump($this->$bar1);
        var_dump($this->$bar2);
    }
}

class pear
{
    var $bar1;
    var $bar2;
    
    function pear($bar1, $bar2)
    {
        $this->bar1 = $bar1;
        $this->bar2 = $bar2;   
        echo "Im Birnenkonstruktor\n"; 
        var_dump($this->bar1);
        var_dump($this->bar2);
    }
    function make_foo()
    {
        $temp = $this->bar1;
        $this->bar1 = $this->bar2;
        $this->bar2 = $temp;
    }
    function print_out()
    {
        echo "Ich bin eine Birne:\n";
        var_dump($this->bar1);
        var_dump($this->bar2);
    }
}

$apple = new apple("apfel1", "apfel2");
$pear = new pear("birne1", "birne2");

$apple->print_out();
$pear->print_out();

$apple->make_foo();
$pear->make_foo();

$apple->print_out();
$pear->print_out();


?>

Ich habe das Error Reporting abgeschaltet, weil die Warnung keinen Sinn gibt.
(mir ist schon klar, was bei apple nicht hinhaut. aber warum kann der interpreter nicht einen fatal_error werfen?)

Jehu Team-Icon

Avatar von Jehu

Anmeldungsdatum:
22. Oktober 2004

Beiträge: 871

Wohnort: Beckingen

Deine ewige Prügelei auf PHP... Benutz doch einfach was anderes - oder nimm's hin.
Nix für ungut... 😕

blackbird Team-Icon

(Themenstarter)
Avatar von blackbird

Anmeldungsdatum:
19. November 2004

Beiträge: 3397

Wohnort: Hermagor, Kärnten - Österreich

Jehu hat geschrieben:

Deine ewige Prügelei auf PHP... Benutz doch einfach was anderes - oder nimm's hin.
Nix für ungut... 😕

Wenn ich es nicht bis zu einem gewissen Punkt gut finden würde, würde ich es wohl kaum benutzer oder?
PHP ist eines von diesen Dinge die man einfach hinnehmen muss. Teilweise genial, teilweise etwas seltsam.
Und das ist eines von diesen Dingen 😉

MrMind

Avatar von MrMind

Anmeldungsdatum:
25. Mai 2005

Beiträge: Zähle...

Wohnort: Odw.

Jetzt aber mal von der Logik her:

Warum sollte PHP einen Fatal Error wegen einen Codefehler verwerfen???
Das ist wohl aus Sicherheitsgründen so eingestellt, damit in einem größeren Projekt das setzen von error_reporting() auf 0 nicht immer in der vorliegenden Datei vorhanden ist und wenn dann ein Codefehler vorliegen würde und nichts klappt wüsste der Coder natürlich net, was nun los ist.

Also ich Code ja sehr viel mit PHP, aber das error_reporting habe ich immer auf Alle Fehlermeldungen gestellt. Um so sauberer wird der Quellcode.

Mfg
MrMind

Antworten |