Szabadkai Műszaki Szakfőiskola Internet technológiák dr Zlatko Čović chole@vts.su.ac.rs 1
Függvények A függvény egy zárt, önálló kódrészlet, amelyet a PHP programból meghívhatunk és a meghívás után a függvény lefut (a függvényben lévő kód végrehajtódik). A függvények az utasítások sorozatából állnak, amelyek az eljárásmeghíváskor végrehajtódnak. Ahogy a program nagyobbá válik, a függvények bevezetése is hasznosabb lesz, mivel a programkód áttekinthető marad. A függvények használatának másik nagy előnye az, hogy a függvényeket a PHP programban többször, különféle paraméterrel hívhatjuk, ezáltal nem kell ugyanazokat a programrészeket feleslegesen kis változtatással többször leírni. 2
Függvények 3
Függvények definiálása A függvényt a function kulcsszó segítségével hozzuk létre, majd a függvény neve következik és egy zárójelpár. A függvény felépítésének általános formája tehát: function függvénynév (paraméterlista) utasítások; függvénynév A function függvény neve, megadása szükséges, ( ) megadása kötelező, paraméterlista (opcionális) - a function függvény meghívásakor elküldött változok listáját reprezentáló paraméterek, melyeket vesszővel választunk el egymástól ($paraméter 1, $paraméter2, stb.). 4
Függvényhívások függvénynév (paraméterlista); A függvényhívás egy függvénynévből és az utána lévő zárójelből áll, amely vagy üres vagy paramétereket tartalmaz. A paraméter a függvénynek átadott érték, amelyet a függvényhívás zárójelébe írjuk. A függvények kódrészleténél a paramétereket formális, a függvényeket hívó utasításban szereplő paramétereket aktuális paramétereknek nevezzük. A formális és aktuális paramétereknek számban, típusban és megadási sorrendben meg kell egyezniük. Több paraméter esetében, az egyes paramétereket vesszővel választjuk el egymástól. 5
Függvények definiálása function write_data() echo "<b>vts</b>"; echo "<br />Subotica"; write_data(); write_data(); 6
Hibák Függvények definiálása function 2write_data() echo "<b>vts</b>"; function write data() echo "<b>vts</b>"; function write_data() echo "<b>vts</b>"; function Write_data() echo "<b>vts</b>"; 7
Függvények function first($a, $b) $c = $a + $b; echo "\$a+\$b = $c<br />"; $a=5; $b=10; $d=89; $e=11; first($a,$b); first(100,34); first($d,$e); 8
Függvények function first($a, $b) $c = $a + $b; echo "\$a+\$b = $c<br />"; $a=5; $b=10; $d=89; $e=11; first($a,$b); first(100,34); first($d,$e); echo $c; 9
Függvények function first($a, $b) global $c; $c = $a + $b; echo "\$a+\$b = $c<br />"; $a=5; $b=10; $d=89; $e=11; first($a,$b); first(100,34); first($d,$e); echo $c; 10
Függvények visszatérési értékei A függvény visszatérési értékét a return utasítással kapjuk meg. A return utasítás befejezi a függvény futtatását és az utána írt kifejezés értékét adja vissza a hívó programnak. function calculate($a,$b) $d = $a + $b; return $d; $c = calculate(10, 15); // $c = $d echo "$c <br />"; echo calculate(12,15); // echo $d; 11
Függvények visszatérési function even($number) if($number%2==0) return true; else return false; $a = 52; értékei if(even($a)) echo "<span style=\"color:#f00;\">$a is even</span>"; else echo "<span style=\"color:#00f;\">$a is odd</span>"; 12
Függvények function second() static $c=0; echo "$c<br />"; $c++; second(); second(); second(); 13
Függvények function test() static $count = 0; $count++; echo $count."<br />"; if ($count < 10) test(); test(); 14
Függvények function calculate($a=1,$b=2) $c = $a+$b; echo "$c"; calculate(10); 15
phpinfo() phpinfo(); 16
Állományok beágyazása a PHP programokba include("variables.php"); include_once("config.php"); require("functions.php"); require_once("functions_user.php"); 17
include() include("variables.php"); echo $school."<br />"; echo $city; $school = "VTS"; $city = "Subotica"; variables.php 18
include() include("functions.php"); write_data("vts","subotica"); include("functions.php"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; 19
include() include("functions2.php"); write_data("vts","subotica"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; functions.php 20
include_once() include("functions.php"); write_data("vts","subotica"); include_once("functions.php"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; 21
require() require("variables.php"); echo $school."<br />"; echo $city; $school = "VTS"; $city = "Subotica"; variables.php 22
require() require("functions.php"); write_data("vts","subotica"); require("functions.php"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; 23
require() require("functions2.php"); write_data("vts","subotica"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; functions.php 24
require_once() require("functions.php"); write_data("vts","subotica"); require_once("functions.php"); function write_data($school,$city) echo "School: <b>$school</b><br />"; echo "City: <i>$city</i><br />"; 25
Adatfeldolgozás <form method="post" action="z9.php"> user: <input type="text" name="user" /> <input type="submit" name="sb" value="send" /> <input type="reset" name="rb" value="cancel" /> </form> $user = ""; $sb = ""; if(isset($_post['user'])) $user = $_POST['user']; if(isset($_post['sb'])) $sb = $_POST['sb']; echo $user; echo $sb; 26
Adatfeldolgozás <form method="get" action="z9.php"> user: <input type="text" name="user" /> <input type="submit" name="sb" value="send" /> <input type="reset" name="rb" value="cancel" /> </form> $user = ""; $sb = ""; if(isset($_get['user'])) $user = $_GET['user']; if(isset($_get['sb'])) $sb = $_GET['sb']; echo $user; echo $sb; 27
Adatfeldolgozás <form method="post" action="z9.php"> user: <input type="text" name="user" /> <input type="submit" name="sb" value="send" /> <input type="reset" name="rb" value="cancel" /> </form> $p = ""; if(isset($_get['p'])) $p = $_GET['p']; if($p == "1") echo "error!"; 28
Adatfeldolgozás $user = ""; $sb = ""; if(isset($_post['user'])) $user = $_POST['user']; if(isset($_post['sb'])) $sb = $_POST['sb']; if(!empty($user) AND $sb == "send") <!DOCTYPE html ><html><head><title>php 9</title></head><body> echo "Hello $user <br />"; </body></html> else header("location:form.php?p=1"); exit(); 29
Adatfeldolgozás empty "" 0 0.0 "0" NULL FALSE array() $var; 30
include("header.html"); include("menu.php"); $link = ""; if(isset($_get['link'])) $link = $_GET['link']; switch ($link) Web page case "mp3": include("mp3.php"); break; case "download": include("download.php"); break; default: include("main.php"); break; include("footer.html"); 31