• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

ZF Klasse überschreiben - wo registrieren?

KnechtRootRecht

New member
Hallo,

ICh möchte eine Frameworkklasse erweitern, da es ja aber blödsin ist die Methoden direkt in die Klasse zuschreiben, möchte ich diese erweitern.
Es geht um die Klasse:
Zend\Validator\ValidatorChain

Wenn meine neu erstellte Klasse von dieser ableitet und meine Methoden beinhaltet, wo und wie muss ich der Anwendung sagen das sie nicht mehr die Standard-Klasse verwenden soll, sondern meine?
 

etenzy

New member
hallo,
meiner meinung nach, solltest du dafür ein Modul (/vendor/DeinNameSpace/DeinModul/) anlegen welches deine Klasse beinhaltet.

Deine Klasse könnte demnach so aussehen:
PHP:
namespace DeinNameSpace\DeinModul;

use Zend\Validator\ValidatorChain as ZendValidatorChain;

class ValidatorChain extends ZendValidatorChain {
    public function deineMethode()
    {
        return true;
    }
}
Für den Zugriff ist folglich
PHP:
use DeinNameSpace\DeinModul\ValidatorChain;
statt
PHP:
use Zend\Validator\ValidatorChain;
zu verwenden.

Ich empfehle dir aber, nochmals die Grundlagen von OOP in PHP zu "studieren"
 

KnechtRootRecht

New member
Ich empfehle dir aber, nochmals die Grundlagen von OOP in PHP zu "studieren"


Danke aber ich bin mir dessen schon bewusst. Vielleicht hab ich meine Frage falsch formuliert.
Wie ich eine Klasse überschreibe und diese verwende ist mir durchaus bewusst, was mir allerdings nicht klar ist, wie sag ich es der Standard-Funktionalität von "Inputfilter, Form & Co" das er von nun an meine Klasse verwenden soll und nicht die Standard-Klasse von Zend. Kann man diese irgendwo registrieren?

Edit:

Ziel des ganzen war eine "removeDecorator()" Methode zu implementieren, welche ich bei Formularen für CRUD zwecke verwenden kann.
ICh werde es jetzt aber eine Factory lösen und für jede Operation andere Validatoren setzen.
 
Zuletzt bearbeitet:
Oben