[ THEPRODIGY @ 13.02.2006. 11:05 ] @
Hour 6: Functions 88
Overview 88
What Is a Function? 88
Calling Functions 88
Defining a Function 90
Returning Values from User-Defined Functions 92
Dynamic Function Calls 93
Variable Scope 94
Accessing Variables with the global Statement 95
Saving State Between Function Calls with the static Statement
98
More About Arguments 100
Setting Default Values for Arguments 100
Passing References to Variables to Functions 102

>>>>
ovo je sadrzaj sestog casa: funkcije
i ja to sam procitao pet puta i dalje mi nije jasno , mozda me zbunjuje engleski !?
Molim vas mozete da mi objasnite pojam funkcije?!
Ili mi dajte neki link na srpskom! procitao sam faq , nema !
[ dragancesu @ 13.02.2006. 14:14 ] @
Kako god da pises program ima nekih delova koda koji se ponavljaju. Da se ne bi nepotrebno pisalo taj deo se odvoji i poziva po potrebi. Nekad su biti programi i podprogrami, sada se obicno kaze program, procedura i funkcije.

Ono sto je nephodno i sto ce (skoro) svima trebati su tzv. sistemske (neko ce reci ugradjene) funkcije i samo se koriste. Kao sto postoje sistemske tako mogu da postoje i korisnicke funkcije, tj one koje ces ti napisati i koristiti.

Funkcije mogu biti vrlo jedostavne ali i mnogo komplikovane, to zavisi od stila pisanja. Ono sto ti je verovatno interesantno je da funkcije najcesce imaju parametre, ali i ne moraju. Ako imaju onda ce na osnovu parametara raditi jedno, drugo, trece ili sta je vec predvidjeno.

Isto tako, funkcije najcesce vracaju neke rezultate pa na osnovu toga dalje radis nesto.


Navedi gde si nasao tekst koji citas.
[ SmilieBG @ 13.02.2006. 15:27 ] @
Evo da pokusam jednostavno da ti objasnim :)

Pre svega - funkcija je zbir akcija, koja moze i ne mora da vrati rezultat tih akcija;

mail() je sistemska funkcija, koja je ugradjena u PHP i samom instalacijom PHP-a ti stoji ova funkcija na raspolaganju. Ova funkcija izvrsava slanje maila i zahteva 3 parametra: primaoca mail-a, subjekat i samu poruku maila;

posalji_mail() je korisnicka funkcija, koja ce da poziva mail() ali i da radi ponesto malo vise :)

E, sada, recimo imas sajt i na tom sajtu korisnici mogu da salju mail kada se registruju, ali takodje mogu da salju mail kada urade ovo ili kada urade ono. Odnosno, sa 7-8 stranica sajta je moguce slati mail. Sa svake stranice se naravno salje nesto drugaciji mail.

E, sada, ti mozes 2 stvari da uradis:

1. da na svakoj stranici pises ceo kod koji ce da salje mail i da kada se nesto samo mora izmeniti u tom kodu da to menjas na 7-8 mesta;

2. da napises funkciju (posalji_mail()) koja ce stajati u posebnom fajlu i koju ces sa 7-8 stranica pozivati. A kada moras da promenis nesto u nacinu slanja maila, onda to menjas samo jednom u fajlu gde se posalji_mail() nalazi.

Dakle mail() znamo da mora 'dobiti' 3 parametra od korisnika. posalji_mail ce zahtevati takodje ta 3 parametra koja ce proslediti mail() funkciji, ali ce imati i 2 parametra extra: html ili plain text i cc poruka.

Dakle, u samom kodu ce to ovako izgledati:

Code:

// ovde se nalazi funkcija posalji_mail()
require_once("posalji_mail.inc.php");

$to = "[email protected]";
$subjekat = "test mail";
$poruka = "cao, kako si";
$html = "da";
$cc = "ne";

posalji_mail($to,$subjekat,$poruka,$html,$cc);


Zatim, u fajlu gde se nalazi posalji_mail() imamo:

Code:

function posalji_mail($to,$subjekat,$poruka,$html,$cc)
{
   if($html == "da")
   {
     // ovde pripremas html mail i na kraju saljes sa mail()
    ....
    ....
    mail($to,$subjekat,$html_poruka,$cc);
   }

   // korisnik ne zeli html poruku, onda mu saljemo bez hmtl-a
   else
   {
     ....
     ....
     mail($to,$subjekat,$plain_poruka,$cc);
   }
}


E, sada, jedna od bitnih stvari jos sto ostaje jeste dal' zelis da ti funkcija vraca rezultat ili ne. Ukoliko zelis, onda bi mogao u prethodnom primeru da radis:

Code:

$send_mail = mail($to,$subjekat,$plain_poruka,$cc);
if($send_mail)
{
   return "mail uspesno poslat";
}
else
{
   return "doslo je do greske prilikom slanja maila";
}


=============

drugi mozda jednostavniji primer (koji mislim da je i sa PHP sajta):

fajl1.php
Code:

require_once("fajl2.php");
$a = 10;
$b = 5;

$get = sum($a,$b);
echo $get;


fajl2.php
Code:

function sum($a,$b)
{
   $rezultat = $a + $b;
   return $rezultat;
}


Na ovaj nacin, ce fajl1.php vratiti broj 15. Funkcije su dakle korisne, da grupiras odredjene akcije, koje se cesto ponavljaju (rad sa bazom (upis, brisanje, trazenje), akcije tipa: slanje maila, itd...).

Poz,
Sale

Ps. als sam ga otegao :S
[ THEPRODIGY @ 13.02.2006. 20:13 ] @
Knjiga je "SAMS Teach Yourself PHP4 in 24 Hours" od Matt Zandstra-e
Dobio sam je preko flash diska u pdf formatu od jednog lika bate sto muca, ide na etf!
Covek rastura!
Ja sam to ovako shvatio :
Da se ne bi cimali da stalno pisemo jedno to isto mi to stavimo u neki fajl i onda kada nam treba samo ga pozovemo i ne moramo da se cimamo !
Izmedju ostalog!
[ boccio @ 13.02.2006. 22:04 ] @
Citat:
THEPRODIGY:
Da se ne bi cimali da stalno pisemo jedno to isto mi to stavimo u neki fajl i onda kada nam treba samo ga pozovemo i ne moramo da se cimamo !

pazi kad je mnogo jako
[ SmilieBG @ 13.02.2006. 22:41 ] @



:)

Poz,
Sale
[ broker @ 14.02.2006. 07:47 ] @
Boze mili kakvih likova ima....

Daj da se otvori podforum PHP skolica i da se naplacuje ulaz...
[ noviKorisnik @ 14.02.2006. 08:40 ] @
Treba izbaciti iz PHP foruma ono čemu tu nije mesto.

Šta je to funkcija? - ovo je deo umetnosti programiranja.

[Ovu poruku je menjao noviKorisnik dana 14.02.2006. u 09:44 GMT+1]