Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przeciążenia
Forum PHP.pl > Forum > PHP > Object-oriented programming
anas
Hej.

Zastanawialiście się może jak w php wykonać przeciążenie operatora? Np. dodwanie liczb zespolonych nie jest standardowo obsługiwane a fajnie by było mieć możlwość zapisu:

  1. <?php
  2.  
  3. $jednaZespolona + $drugaZespolona;
  4.  
  5. ?>


Wiem ze takie dodawanie moge zrealizowac za pomoca funkcji, tylko chodzi mi o wyglad kodu, wiem tez ze w php to czyste szalenstwo, ale teoretyzuje sobie smile.gif.

pozdrowka

anas
Pigula
z tego co wiem przeciazenia w php sa niemozliwe sad.gif
crash
http://mirrors.inway.cz/manual/pl/ref.overload.php
Czy takie niemożliwe to bym się troche pokłócił...
hawk
Polecam na przyszłość uważniejszą lekturę manuala... funkcja overload jest już do niczego nie potrzebna, a przeciażanie operatorów nie było i nie jest możliwe.
anas
Hej

@Crashu - tak o __call, __get i __set wiem, uzywam, ale chodzilo mi raczej o operatory, w c++ moge sobie przeciazac nawet [], srednik, i mase innych znakow... - po co, a no po to aby zautomatyzowac wiele rzeczy... Teraz to samo przyszlo mi do glowy w php, ale czy abym za bardzo nie abstrachowal biggrin.gif...

wiem php ma swoje miejsce i mozliwosci, i tak samo jest w przypadku c++

php ze wzgledu na brak kontroli typow(nie tak restrykcyjnej jak wlasnie w c++) nigdy chyba miec nie bedzie takich mozliwosci...

pozdrowka

anas

Ps. ale moze ktos z was cos wymysli smile.gif
dasko
Cytat
w c++ moge sobie przeciazac nawet [], srednik, i mase innych znakow...

No, co do średnika to się nie zgodzę smile.gif
anas
Hej.

No tak srednika nie, pomylka - przecinek mozna... ale najlepsze jest to:

?: - tego nie przeladowujemy bo jak to ujeli autorzy jezyka nie warto sobie tym glowy zawracac biggrin.gif - Grebosz o tym pisze w Symfoni.

Wracajac do tematu, moze jak nie obsluguje tego standardowo php, to mozna to zrealizowac samemu... tylko pytanie jak.

anas
rzseattle
Cytat(anas @ 2005-05-16 22:45:58)
Wracajac do tematu, moze jak nie obsluguje tego standardowo php, to mozna to zrealizowac samemu... tylko pytanie jak.

Tworząc własny parser do plików php. Zanim wykonasz skrypt przejedź skrypt własnym parserem i nie ma żadnego problemu z jakimkolwiek usprawnieniem. Właściwie zasada działania jest analogiczna do szablonów.

Przykład:
  1. <?php
  2. //Zamiana
  3. $wynik = $zespolona1 + $zespolona2;
  4. //na
  5. if( !isset( $compilerMath ) ){
  6.  $compilerMath = new compilerMath;
  7. }
  8. $wynik = $compilerMath->sum( array( $zespolona1, $zespolona2) );
  9.  
  10. ?>


Zastanawiałbym się nad wydajnością ale zadanie spełni.
bela
Można do tego wykorzystać preprocessor biggrin.gif Przy odpalanie skryptu by poprostu zmieniał to co trzeba ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.