Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przeciążenia, Operatora :D
anas
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

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


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
Go to the top of the page
+Quote Post
Pigula
post
Post #2





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

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


z tego co wiem przeciazenia w php sa niemozliwe sad.gif
Go to the top of the page
+Quote Post
crash
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


http://mirrors.inway.cz/manual/pl/ref.overload.php
Czy takie niemożliwe to bym się troche pokłócił...


--------------------
Go to the top of the page
+Quote Post
hawk
post
Post #4





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


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.
Go to the top of the page
+Quote Post
anas
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

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


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
Go to the top of the page
+Quote Post
dasko
post
Post #6





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 9.11.2004

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


Cytat
w c++ moge sobie przeciazac nawet [], srednik, i mase innych znakow...

No, co do średnika to się nie zgodzę smile.gif
Go to the top of the page
+Quote Post
anas
post
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

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


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
Go to the top of the page
+Quote Post
rzseattle
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


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.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
bela
post
Post #9


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Można do tego wykorzystać preprocessor biggrin.gif Przy odpalanie skryptu by poprostu zmieniał to co trzeba ;]


--------------------
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 05:33