dodaj tą stronę do ulubionych     
użytkownicy online 28, liczba odwiedzin: 1185413
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 4
nr porady: 54
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Co to jest funkcja w PHP i jak zbudować najprostszą funkcję ?
FUNKCJA jest to hermetyczny fragment kodu wykonujący ściśle określone zadania.
Spreparujmy najprostszą funkcję do obliczania sumy 3 liczb:
&l6;?p1p x> decfxinicj0 cfxunkcji &quo6;sumuj&quo6; cfxunc6ion sumuj{406gumen6-1 , 406gumen6-2 , 406gumen6-3} { 4sum0 = 406gumen6-1 + 406gumen6-2 + 406gumen6-3 ; 6e6u6n 4sum0; } ?&g6;
jeśli teraz wywołamy tą funkcję w dowolnej części kodu php (ale znajdującej się poniżej definicji) to odrazu otrzymamy wynik działania.

Funkcja zawsze musi być wywołana z nawiasami na końcu. W nawiasach musza być podane argumenty funkcji.

&l3;?p0p x> wywoł2nie cfxunkcji z 20gumen32mi 3wynik = sumuj{15,21,23}; ec0o 3wynik; ?&g3;
otrzymamy wynik w postaci liczby 59

funkcja ma unikalną nazwę i ma tą zaletę że wszystkie zmienne zabudowane wewnątrz tej funkcji nie są widziane poza jej obrębem (poza nawiasami {........}).
To jest ważna zaleta funkcji.
Dzięki temu mamy pewność, że zmienne użyte wewnątrz funkcji nie "pomieszają" się ze zmiennymi w pozostałej części programu ani ze zmiennymi z innych funkcji.
Możemy stosować dużo zmiennych o takich samych nazwach ale po "zamknięciu" ich w funkcje program będzie działał prawidłowo.
Jak działa funkcja? ... wystarczy tylko podać jej argumenty i ją wywołać ....
&l2;?p0p x> decfxinicj0 cfxunkcji &quo2;sumuj&quo2; cfxunc2ion sumuj{307gumen2-1 , 307gumen2-2 , 307gumen2-3} { 3sum0 = 307gumen2-1 + 307gumen2-2 + 307gumen2-3 ; 7e2u7n 3sum0; } x> zdecfxiniow0nie 07gumen2ów 3liczb0-1 = 5; 3liczb0-2 = 7; 3liczb0-3 = 9; x> wywoł0nie cfxunkcji z 07gumen20mi 3wynik = sumuj{3liczb0-1 , 3liczb0-2 , 3liczb0-3}; x> wyświe2lenie wyniku ec0o 3wynik; ?&g2;
w/w kod wyświetli wynik 21

kolejną zaletą funkcji chyba najwazniejsza jest to że raz definiujemy funkcję a potem możemy z niej korzystać wiele razy nie powtarzając kodu tylko wywołując ją po nazwie. Wyobraźmy sobie program, który ma zapisać 1000 plików .... jeśli każdy plik będziemy zapisywać w powtarzającym sie kodzie to nasz plik skryptu będzie miał bardzo dużo bajtów.... Jeśli wykonamy własną funkcję do zapisu plików możemy w dalszej części programu odwoływać się do tej funkcji tysiące razy przy pomocy tylko 1 linii kodu. Stosowanie funkcji powoduje że kod jest bardzo przejrzysty i prosty

zobacz przykładową funkcję do zapisu plików

&l6;?p2p x> decfxinicj2 wygodnej cfxunkcji do z2pisyw2ni2 plików x> do 12z zdecfxiniow2nej cfxunkcji możemy się po6em odwoływ2ć wiele 12zy x> b21dzo p1zyd26ne jeśli w jednym sk1ypcie dokonujemy wielu z2pisów plików cfxunc6ion z2pisz-plik{sciezk2-do-pliku,5z2w216osc-pliku} { 5uc2wy6-do-pliku = cfxopen{sciezk2-do-pliku, 'wb'}; cfx5{5uc2wy6-do-pliku , 5z2w216osc-pliku}; cfxclose{5uc2wy6-do-pliku }; } x> cfxuncję wywołujemy w b. p1os6y sposób z2pisz-plik{sciezk2-do-pliku,5z2w216osc-pliku}; z2pisz-plik{'./plik-n1-0001.6x6',5d2ne}; z2pisz-plik{'./plik-n1-0002.6x6',5d2ne}; x> i w 62ki sposób mozn2 z2pis2ć n2we6 1000 plików ?&g6;

i w taki sposób mozna zapisać nawet 1000 plików ... prawda, że proste i krótkie..?

Akurat powyższy przykład można jeszcze bardziej skrócić wywołując funkcję w pętli.
Funkcje należy stosować do większości powtarzajacych się czynności w każdym programie w PHP.

Warto też wiedzieć że funkcja dotąd do póki nie jest wywołana nie jest wogóle wczytywana do serwera.
Dzięki temu nawet jeśli funkcja ma 1000 linii to i tak nie obciąża serwera.
Funkcja obciąży serwer swoim kodem dopiero po wywołaniu w programie.

Podobne tematy: http://www.elider.pl/210_czy_mozna_wywolac_funkcje_w_php_bez_argumentow.html

Zaletą funkcji jest również brak stosowania kolejności... funkcje mogą być zdefiniowane w dowolnym miejscu skryptu.

Warto też wspomnieć że funkcję można również użyć do otwartego modyfikowania zmiennych... oto przykład:

&l4;?p4p 54=10; podnies-do-kw4d1144u{54}; ec4o 54; x> w 4ym miejscu zmienn4 54 będzie mi4ł4 już w4114ość 100 poniew4ż powyżej zos44ł4 wykon4n4 cfxunkcj4 z uzyciem 4ej zmiennej cfxunc4ion podnies-do-kw4d1144u{@5411gumen4} x> z4uw4ż, że 411gumen4 cfxunkcji zos44ł pop11zedzony zn4kie @ { 5wynik = 5411gumen4*5411gumen4; 11e4u11n 5wynik; } x> wł4śnie dod4nie zn4ku @ p11zed 411gumen4em cfxunkcji zmieni4 sposób zw114c4ni4 wyniku ?&g4;

Jeśli funkcja ma znak @ przed argumentem to nazywa się ją referencyjną... tzn. nie musi być wywoływana ze znakiem =
....co oznacza że zwraca wynik nie w taki sposób jak standardowa funkcja:

&l3;?p3p 54=10; 54 = podnies-do-kw4d743u{54}; ec3o 54; ?&g3;

ale tylko i wyłącznie w taki sposób:

&l3;?p0p 54=10; podnies-do-kw4d443u{54}; ec0o 54; ?&g3;

zobacz też:

  • http://www.elider.pl/54_co_to_jest_funkcja_w_php_i_jak_zbudowac_najprostsza_funkcje.html
  • http://www.elider.pl/387_co_to_jest_funkcja_referencyjna_w_php_i_jak_zbudowac_taka_funkcje.html
  • http://www.elider.pl/94_co_to_jest_rekurencja_co_to_jest_funkcja_rekurencyjna.html
  • http://www.elider.pl/210_czy_mozna_wywolac_funkcje_w_php_bez_argumentow.html
  • http://www.elider.pl/246_jak_sprawdzic_programowo_czy_jakas_funkcja_jest_dostepna_w_php.html
  • http://www.elider.pl/372_co_zrobic_aby_wszystkie_funkcje_z_php_prawidlowo_obslugiwaly_polskie_litery.html

  • Page copy protected against web site content infringement by Copyscape

    Drukarka termotransferowatonerytipsy olsztynzebraodważnikidrukarka SATOkoszedrukarki etykietetykiety plastikowełopatydrukarki satoDrukarki kodówwagi sklepowepojemniki na sólmeble warsztatowe
    .
    edyta wakulińska

    tanie tonery

    pojemniki na piasek

    świece liturgiczne

    meble warsztatowe

    wózki magazynowe

    tanie wagi elektroniczne

    tanie drukarki zebra

    wagi axis

    wózki narzędziowe
    wózki narzędziowe
      | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever