![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
Na prośbę empathon'a zakładam niniejszy temat (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jeśli pod pojęciem metaprogramowanie rozumiemy "uzupełnianie" lub "wzbogacanie" kodu aplikacji już podczas wykonywania tego kodu to w php jest to jaknajbardziej możliwe. Służą do tego takie funkcje jak np. [b]create_function[/b] czy eval, a także Reflection API. Z mojego punktu widzenia metody magiczne takie jak __get, __set czy __call to też metaprogramowanie gdyż umożliwiają obsłużenie przez programistę przypadków, których nie może on z góry przewidzeć (uzależnionych np. od struktury danych), lub ma zwyczajnie ochotę na implementację mechanizmów uniwersalnych.
Rezultaty tego metaprogramowania mogą zostać "utracone" w chwili wykonania kodu lub też zapisane do późniejszego wykożystania. Przy pomocy PHP możemy wygenerować nowe fragmenty kodu a nawet przedefiniować już zdefiniowane przez nas klasy czy funkcje. Dla mnie jest to już metaprogramowanie. Możemy dyskutować, który język jest bardziej predystynowany do tego aby nazywać go królem metaprogramowania, ale chyba nie o ranking w tym wątku chodzi. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 02:30 |