login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OOP subklasse en extenden

Offline xSc - 15/08/2011 16:59 (laatste wijziging 15/08/2011 22:38)
Avatar van xScOnbekend Ok, ik heb het volgende:

Plaatscode: 141224

Dat werkt goed. Echter, de standaard Zend_Filter_Decrypt extends Zend_Filter_Encrypt.

Ik wil ook decrypten. Standaard is het zo: Zend_Filter_Decrypt extends Zend_Filter_Encrypt. Maar nu wil ik dus mijn nieuwe extenden. Het gaat dus alleen om de constructor, maar dan is mijn nieuwe class 'leeg':

Plaatscode: 141226

Vooral het laatste codefragment. Is dat slim of moet het heel anders?

3 antwoorden

Gesponsorde links
Offline MiST - 16/08/2011 12:14
Avatar van MiST Lid Wat is het nut van getInstance() als je je instance niet gebruikt...?

Teken desnoods even een klassendiagram en kijk waar je alles kan/moet plaatsen.

Je kan je ook afvragen of subklassen echt nodig is. Misschien moet je die configuratie niet eens hardcoden in je klasse...
Offline xSc - 16/08/2011 13:31
Avatar van xSc Onbekend MiSt,

Bedankt voor je antwoord. Ik wil de encrypt altijd volgens dat patroon uitvoeren. Het maakt flexibel, omdat als ik het toch niet wil, de normale class kan gebruiken.

Ik hoop dat je begrijpt wat ik bedoel:

Zend_Filter_Decrypt extends Zend_Filter_Encrypt (zo is het standaard).

Site_Filter_Encrypt extends Zend_Filter_Encrypt (met de default adapter)

Nu heb ik ook een decrypter nodig, die de default adapter gebruikt. Ik moet dus Zend_Filter_Decrypt extenden, maar in de constructor Site_Filter_Encrypt aanroepen.

Blijkbaar doe ik dat verkeerd. Maar hoe doe ik dat? 
Offline MiST - 16/08/2011 16:17
Avatar van MiST Lid Misschien niet de mooiste oplossing, maar eentje die werkt 

  1. class Site_Filter_Encrypt extends Zend_Filter_Encrypt
  2. {
  3. public function __construct()
  4. {
  5. parent::__construct(Site_Filter_Encrypt::getConfiguration());
  6. }
  7.  
  8. public static function getConfiguration()
  9. {
  10. return array(
  11. 'adapter' => 'openssl',
  12. 'private' => APPLICATION_PATH . '/keys/priv.pem',
  13. 'public' => APPLICATION_PATH . '/keys/publ.pem',
  14. 'compression' => 'bz2'
  15. );
  16. }
  17. }
  18.  
  19. class Site_Filter_Decrypt extends Zend_Filter_Decrypt
  20. {
  21. public function __construct()
  22. {
  23. parent::__construct(Site_Filter_Encrypt::getConfiguration());
  24. }
  25. }


Tenminste, als ik goed begrijp wat je bedoelt 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s