Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php], dwa konstruktory
cornholio666
post
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Jak użyć dwóch konstruktorów?

  1. <?php
  2. class Cos{
  3.  
  4.  var $name;
  5.  
  6.  function __construct(){
  7.  
  8. $this->name = '';
  9.  }
  10.  
  11.  function __construct($name){
  12.  
  13.  $this->name = $name;
  14.  }
  15.  }
  16. ?>


Wywala bład Fatal error: Cannot redeclare Cos::__construct() in ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Wygląda to tak jakbyś chciał użyć przeciążania obiektów (overloading).
Niestety, w php nie da rady w taki sposób tego rozwiązać.

nie wiem jak to wyglada akurat w przypadku konstruktora, ale normalnie mozesz chyba uzyc magicznej metody _call która będzie łapała odwołania do metod które nie zostały w klasie zdefiniowane i w tej metodzie na podstawie otrzymanych danych dalej decydowac co robic.

W PHP4 bedziesz musiał dodatkowo zaznaczyc, ze instancja danej klasy ma być przeciążana. (overload" title="Zobacz w manualu php" target="_manual). Nie jestem tez pewien czy w ten sposob w PHP4 nie uzykasz jedynie __set i __get.

pozdr.

Ten post edytował siemakuba 26.05.2006, 16:28:35
Go to the top of the page
+Quote Post

Posty w temacie
- cornholio666   [php]   26.05.2006, 16:21:19
- - dr_bonzo   nie ma takiej opcji [PHP] pobierz, plaintext ...   26.05.2006, 16:23:26
- - siemakuba   Wygląda to tak jakbyś chciał u...   26.05.2006, 16:27:29


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: 6.10.2025 - 18:10