Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Strict Standards
likemandrake
post
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 17
Dołączył: 23.06.2006

Ostrzeżenie: (0%)
-----


Witam

Mam taki mini problem, mam o to taki zestaw klas:

  1. <?php
  2. class A {
  3.   // Zestaw metod
  4. }
  5.  
  6. class B extends A {
  7.   // Dodatkowy zestaw metod
  8. }
  9.  
  10. abstract class C {
  11.   public function setObject(A $object) {
  12.      
  13.   }
  14. }
  15.  
  16. abstract class D extends class C {
  17.   public function setObject(B $object) {
  18.      
  19.   }
  20. }
  21.  
  22. class Concrete extends class D {
  23.  
  24. }
  25. ?>


Gdy działam na obiekcie klasy Concrete, php wywala mi taki komunikat:
Cytat
Strict Standards: Declaration of D::setObject() should be compatible with that of C::setObject() in [...]


Co o tym myślicie, czy nie jest to troszkę na wyrost? Wiadomo, co chciałem przez to osiągnąć... Jak do tego podejść tak w ogóle?

Pozdrawiam

Ten post edytował likemandrake 3.02.2009, 19:46:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
likemandrake
post
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 17
Dołączył: 23.06.2006

Ostrzeżenie: (0%)
-----


Tak, mam interfejs, po którym dziedziczy podana wyżej klasa C.

Klasa A, jest to klasa z pakietu Zend Framework, klasa B jest moją klasą, która rozszerza o pare dodatkowych funkcji klasę A.

Znów klasa D dziedziczy po klasie C, ale w porównaniu do klasy C, klasa D korzysta z dodatkowych funkcji nadanych w klasie B.

Efekt jest taki, że klasa, która tu w ogóle nie jest opisana, wymagająca w/w interfejsu, dostaje to co chce i w taki sposób jak powinna. Dane na których wspomniana nieopisana klasa operuje są przygotowane w lepszy sposób przy użyciu zestawu D i B, niż gwarantowałby mi to zestaw C i A.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 13:28