developer-blog:$

oop

OOP Class Constructor Code Frei

Halte den Class Constructor Code frei.

Bevor deine Anwendung irgendwelche Logik ausführen kann, müssen zuerst alle Object initialisiert werden. Sind jedoch immer alle Object nötigt um die angefragte Funktionalität auszuführen? Wird z.B. immer eine Datenbank Verbindung benötigt? Wenn der Constructor Code frei bleibt, kann das Object schneller erstellt werden. Erst wenn wirklich eine Datenbank Verbindung benötigt wird, fängt die CPU an die Logik für die Datenbank Verbindung abzuarbeiten. Wir sprechen hier von dem Lazy Loading. Dadurch gibst du der CPU die Möglichkeit deinen Code für eine schnellere Ausführung zu optimieren.

// Falsch
class Email
{
    private string $from;

    public function __construct(string $from)
    {
       $this->from = $from;

       if($this->from == 'system@localhost') {
         // Make some imported stuff
       }
    }
}

// Richtig
class Email
{
private string $from;

    public function __construct(string $from)
    {
       $this->from = $from;
    }
}