Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z kompatybilnością metod
Spawnm
post 20.05.2010, 15:55:48
Post #1





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Witam,
dziś spotkałem się z błędem o treści:
  1. Declaration of sf_orm::select() should be compatible with that of sf_db::select()


budowa klas wygląda mniej więcej tak:
  1. class db{
  2. protected static $db=array();
  3. protected $sql;
  4. protected $sql_args;
  5. protected $query;
  6. public function select($co,$z ,$itd=array()){
  7. //self:biggrin.gifb[]
  8. //$this->sql='';
  9. ///itd itp...
  10. return $this;
  11. }
  12. }
  13. class db2 extends db{
  14.  
  15. public function select($co,$z ,$itd=array()){
  16. //nic lub coś innego ...
  17. }
  18. }

I błąd powstaje,
jednak przy takiej budowie już nie:
  1. class x {
  2. protected static $x;
  3. protected $z;
  4. public function connect(){
  5. self::$x=555;
  6. }
  7.  
  8. public function select(){
  9. echo self::$x;
  10. $this->z=11;
  11. return $this;
  12. }
  13.  
  14. public function id(){
  15. echo $this->z;
  16. }
  17. }
  18. class y extends x{
  19. public function select($x=5){
  20. return parent::select();
  21. }
  22. }
  23. $x=new x;
  24. $x->connect();
  25. $z=new y;
  26. $c=$z->select()->id();

Co dokładnie powoduje ten błąd?
Jakieś propozycje jak rozwiązać tez problem?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:22