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
Black-Berry
post
Post #2





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

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


z tego co wiem to PHP sam dobiera sobie typy, tzn jeśli przypiszemy do tej zmiennej 1 to w pamieci bezie ona przechowywana jako int. Z tego względu chyba nie ma technologicznych przesłanek aby nie móc wymuszać na zmiennej typu. Poprostu algorytm omijałby blok gdzie szuka typu.

A co do PHP jako zabawki... to słyszałem gdzieś, że świat dąży do języków typu "D", kolejnej generacji po "C" (Chyba na wykładach z inżynierii oprogramowania to profesor mówił ale nie jestem pewien bo nie za często na nich bywałwem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). Dążenie to ma służyć właśnie wyeliminowaniu typów z języków programowania.

Myślę, że jest całkiem nieźle bo działa tak jak powinno

  1. <?php
  2. public function get_account_type( $a_id )
  3. {
  4. if( is_string($a_id) )
  5. {
  6. $this->db_driver()->query( "SELECT * FROM ".database_prefix()."edc_account_types_main WHERE name='".$a_id."'" );
  7. $row = $this->db_driver()->fetch_row();
  8. return $row;
  9. }else if( is_int($a_id) ){
  10. $this->db_driver()->query( "SELECT * FROM ".database_prefix()."edc_account_types_main WHERE id=".$a_id."" );
  11. $row = $this->db_driver()->fetch_row();
  12. return $row;
  13. }else{
  14. return false;
  15. }
  16. }
  17. ?>


Ten post edytował Black-Berry 3.02.2008, 10:48:49
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: 3.10.2025 - 03:25