Ogłoszenie


Zapraszam serdecznie na strone DARMOWYCH FILMÓW I SERIALI. Każdy znajdzie coś dla siebie. Mam w bazie artykuły dot. webmasteringu, hackeringu i wiele wiele innych. Dodatkowo forum :) Nie czekaj zarejestruj się już dziś : www.Ogladamy.xorg.pl

#1 2008-09-29 12:51:06

RedEagle

Admin

status RedEagle
891470
Zarejestrowany: 2008-09-04
Posty: 1047
Komputer: Windows XP
Gra: GTA VC
Książka: Jim C.Hines-,,Zadanie Goblina"
Muzyka: Green Day

Tworzymy własne funkcje

Często zachodzi taka potrzeba, żeby napisać własną funkcję, programiści PHP nie są w stanie przewidzieć wszystkich ewentualności a sam PHP nie może zawierać nie wiadomo jak wielkiej liczby gotowych funkcji. Jeżeli wśród gotowców czegoś nie znajdziemy trzeba napisać to samemu.

Skoro możemy deklarować własne zmienne to czemu nie funkcje? Oczywiście jest to możliwe, tylko z góry przestrzegę przed takim komunikatem:

Fatal error: Cannot redeclare mail() in d:\usr\apache\htdocs\html\index.php on line 2

Oznacza to fatalny błąd – nie można ponownie zadeklarować funkcji. W zasadzie nie deklarowaliśmy jej ponownie – dopiero po raz pierwszy, ale taka funkcja jest już zadeklarowana przez programistów i, jak się później przekonamy służy do wysyłania listów elektronicznych z poziomu strony www (funkcja mail();).


Co może "własna funkcja"


Wspomniałem, że można deklarować zmienne, ale czym one różnią się od deklarowania funkcji. Różnią się tym, że zmiennym przypisujemy wartości, które następnie odczytywane są w funkcjach, ewentualnie w instrukcjach. Funkcje natomiast, to z góry ustalone części kodu, nawet spore, w których może znajdować się spora część kodu. Może ona zawierać wszystko, co nam przyjdzie do głowy, a z pewnością wszystko, co do tej pory poznaliśmy, byle byłoby to bezbłędne, czyli:

zmienne
komunikaty
pętle
instrukcje warunkowe
zewnętrzne pliki
komentarze

A oprócz tego wewnątrz funkcji można deklarować nowe funkcje. Jak już wspomniałem funkcje zawsze muszą zawierać nawiasy zwykłe choćby puste, w których umieszczamy argumenty. Oto najprostszy przykład funkcji, która zawiera instrukcję echo:

<?php

function pisz()

{

echo "To co nam przyjdzie do głowy";

}

?>

Aby się do niej odwołać musimy użyć kodu funkcji, czyli wewnątrz kodu PHP umieszczamy po prostu pisz();, a poza kodem PHP:

<?php

pisz();

?>

Robimy kalkulator


Teraz zajmijmy się czymś ciekawszym, stworzymy kalkulator znacznie bardziej interesujący, niż poprzednio, ponieważ będziemy widzieli cały przebieg działania, konkretnie mnożenia i dodawania:

<?php

function licz($czynnik1, $czynnik2, $skladnik)

{

$mnozenie = $czynnik1 * $czynnik2;

$wynik = $mnozenie + $skladnik;

echo "$czynnik1 x $czynnik2 + $skladnik =

<br />= $mnozenie + $skladnik =

<br />= $wynik";

}

?>

Odwołujemy się do niego umieszczając w kodzie PHP funkcję licz();, lub poza kodem PHP:

<?php

licz();

?>

Uwaga: funkcje pomijają wszystkie funkcje znajdujące się poza nią samą. Dla przykładu taka funkcja:

<?php

$tekst = "Tekst, który nie pojawi się";

function licz()

{

echo "$tekst";

}

?>

nic nie wyświetli, w przeciwieństwie do funkcji, w której zmienna $tekst byłaby zadeklarowana wewnątrz klamerek. Czasami jednak to przeszkadza i musimy to obejść. Jest oczywiście na to sposób, służy do tego instrukcja global, po której występuje nazwa importowanej zmiennej np.:

<?php

$tekst = "Tekst, który pojawi się";

function licz()

{

global $tekst;

echo "$tekst";

}



licz();

?>

Uwaga: jeżeli nie chcemy deklarować zmiennych w każdym punkcie możemy w łatwy sposób umieścić je w osobnym pliku, do którego odwołamy się na początku każdej strony za pomocą instrukcji include.


http://i37.tinypic.com/sbm42f.png
http://i38.tinypic.com/29x82na.png

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
Studia podyplomowe materac janpol Asumin firmy w Krakowie Ogród i Działka