Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeciązenie funkcji
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Czy można w PHP wykonać przeciążenie funkcji o tej samej ilości argumentów? Coś w stylu...

  1. <?php
  2. function wykonaj( $integer )
  3. {
  4.  // funkcja zawiera argument liczbowy...
  5. }
  6.  
  7. function wykonaj( $string )
  8. {
  9.  // funkcja zawiera argument typu string...
  10. }
  11. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


dobrze by było, gdyby było można ustawić typ zmiennej, lub nie ustawić (uniwersalny). Łącząc atuty obu sposobów dało by to dużo więcej możliwości. Tylko ciekawe jak by to się sprawdzało technologicznie.
Go to the top of the page
+Quote Post
em1X
post
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Cytat(radex_p @ 3.02.2008, 10:24:22 ) *
dobrze by było, gdyby było można ustawić typ zmiennej


w sumie jest sposób (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) (wymaga php5)
  1. <?php
  2. class Variable
  3. {
  4. protected $__props = array();
  5.  
  6. public function __set($var, $new) {
  7.  
  8. if (array_key_exists($var, $this->__props))
  9. {
  10. if (gettype($new) != gettype($this->__props[$var]))
  11. trigger_error('Wrong type ('.gettype($new).'): '.gettype($this->__props[$var]) . ' expected.', E_USER_ERROR);
  12. }
  13.  
  14. $this->__props[$var] = $new;
  15. }
  16.  
  17. public function __get($var)
  18. {
  19. if (array_key_exists($var, $this->__props))
  20. return $this->__props[$var];
  21. }
  22. }
  23.  
  24. $test = new Variable;
  25.  
  26. $test->zmienna = "test";
  27. $test->zmienna = array();
  28.  
  29. print $test->zmienna;
  30. ?>
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: 4.10.2025 - 05:13