Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika

Hasonló előadás


Az előadások a következő témára: "Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika"— Előadás másolata:

1 Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika

2 Ami eddig volt… HTML interaktív elemek SSI, CGI jelentése,használata Kliens oldali nyelv –Javascript Szerver oldali eszköz –Shell script (SSI, CGI)

3 SSI, CGI programeszközei Tetszőleges programozási nyelv Shell script PHP (Programozható Hypertext Preprocesszor)

4 PHP Ingyenes Aktuális verzió: –4.4.5 –5.2.1 Linux disztribúciók része RISC OS, SGI, Netware Windows PHP dokumentáció (magyarul is…)

5 PHP Installálás Apache: (httpd.conf bejegyzések) –Addtype application/x-http-php.php –LoadModule php4_module libexec/libphp4.so –AddModule mod_php4.c Windows IIS –Phpx-installer.exe –IIS-Tulajdonságok-Home Dir. Fül-Configuration App. Mappings:.php c:\php4\php.exe %s %s

6 PHP használata Használati forma –SSI előfeldolgozó –CGI válasz generátor.php kiterjesztés Nem kötelező a cgi-bin könyvtárba tenni Nincs „főprogram”

7 PHP Jellemzői C stílusú utódnyelv Interpretált Kis-, nagybetű különböző Utasítás lezáró: ; (pontosvessző) Megjegyzés: // vagy /*….*/ Referencia használat Objektumorientált

8 Típusok PHP-ban Skalár –Valós, egész, logikai, szöveg, objektum –$ jel használata: $a=25; –Logikai: $igaz=TRUE; –Minden nem 0, NULL, logikai igaz (mint C-ben) –$hexa=0xffff;// hexadecimális formátum –$s=„HF\n”;// string –„ és ‘ használat együtt: $i=”I’m a good boy…”

9 Tömbök PHP-ban I. Létrehozás –Explicit: $a[0]=„alma”; stb. –array() elemmel: $b=array(„fradi”,”UTE”,”MTK”); $c=array(„alma”=>”jonatán”, „szilva”=>”ringló”,...) Hozzáad végéhez: $b[]=„ETO”; Index 0-tól indul Törlés: unset($b[1]); –1-es index definiálatlan, használata hibát ad –If (array_key_exists(1,$a) print(„van”); else print(„nincs”);

10 Tömbök PHP-ban II. Valójában minden tömb asszociatív(hash) Egy tömbelem bármilyen típusú lehet –Többdimenziós, tömbök tömbje Teljes tömb kiírás: print_r($tomb); Elemszám: count($tomb) A string is tömb! –$nev=„fradi”; print(strlen($nev)); print($a[2]);

11 Tömbök PHP-ban III. array_push($vektor,”alma”,”körte”); –A v tömb végére illeszti az elemeket. $e=array_pop($vektor); –A végéről levesz egy elemet Többdimenziós tömbök –Mint JavaScriptben, tömbök tömbje Tömboperátorok –$a + $b;//tömb egyesítés, mintegy unió!! –$a == $b;//egyenlő ha kulcs/értékek azonosak –$a === $b // mint előző, de még a sorrend is azonos –!=, !== nem egyenlő, nem azonos

12 Szöveg függvények $a=”almafa”;// sok str fv. van print strlen($a);// 6 Is_string($a);// true Chr(65); ord(„a”);//A, 97 print substr($a,2,3);//maf split(„m”, $a); Strtoupper, strtolower,trim Stb…

13 Változók hatásköre Globális, ha függvényen kívül definiált Ez függvényen belül nem látszik automatikusan –global $a; // ekkor a $a külső látszik Lokális változó, függvényen belül Statikus változó, függvényen belül –static $a=0; // első híváskor inicializálás

14 Konstansok define(k,”Ez konstans”) –print(k); TRUE, FALSE, NULL Konstans létezés: if (defined(k)) print(„van”); PHP_VERSION, PHP_OS __FILE__, __LINE__

15 Kifejezések, operátorok Mint C-ben, ~ minden kifejezés and, or, xor (megmaradt && és ||) Parancs helyettesítés operátor `` –$adat=`ls –al`; // mint shell scriptben.,.= string operátorok –$a=„alma”. „fa”; //összefűzés Ha szükséges, automatikus konverzió –$b=„25 alma” + 4; // 29 lesz $b <<< heredoc operátor, és nem <<

16 Heredoc (<<<) operátor print <<

17 Elágazások if (kif) ut; else ut; //mint C-ben –elseif// else utáni if –endif// nem kötelező switch, többirányú elágazás –case érték:… // érték szöveg is lehet! –break, default cimke –endswitch// ez is jó –Nem kötelező a break! $b) { echo "a nagyobb, mint b"; } else { echo "a NEM nagyobb, mint b"; } ?>

18 Ciklusok while (kifejezés) utasítás; do { ….} while(feltétel); //amíg igaz for(kif1;kif2;kif3) utasítás; foreach(vektornév as értéknév) utasítás; foreach(vnév as kulcs=>érték) utasítás; –Végiglépked egy vektoron

19 Függvények PHP-ban function osszead($a, $b) { return ($a+$b); } Meghívás: print(osszead(5,6)); Referencia szerinti paraméter –function novel(&$a) { $a++;} Lehet paraméternek kezdőértéket adni Változószámú paraméter használható –$db=func_num_args(); $i=func_get_arg(0-tól-db-ig) Összetett (több adat) visszaadás: –return array($a,$b,$c)

20 Osztályok Class kulcsszó Egyszeres öröklés, extends kulcsszó Adattag definíció: var $nev; Konstruktor név azonos az osztály nevével Példány definiálás: $elem= new valami(); Függvényhívás: $elem->fv(); Ösfüggvény hívás: Ős::fv(); parent::fv();

21 Kliens-Szerver kapcsolat HTTP környezeti változók megjelenése –$HTTP_SERVER_VARS vagy $_SERVER asszociatív tömb –Példa: alma.php, alma.php?a=almafa –$_SERVER['PHP_SELF'] megadja a fájlunk nevét, gyakran szerepel a form action paraméterében

22 Formok kezelése Form változó név php-s skalárként jelenik meg –Ha a php.ini-ben register_globals=on-ra van állítva Action paraméter: action HTTP_GET_VARS, HTTP_POST_VARS –Asszociatív tömb,a fentiekkel azonos a $_POST, $_GET –Irx-en mindkettő él. –Példa: masodfok.php –A $elemek tömbben jelennek meg a kiválasztott listaboxelemek. –Több textmezőhöz is rendelhető azonos vektor formájú név

23 File feltöltés I. $thefile – átmeneti változó, a file tartalma $thefile_name – a file eredeti neve a küldő gépen $thefile_size – a file mérete $thefile_type – a file MIME típusa $thefile-t a script végén letörli!!! –copy($thefile, file_név_a_szerveren); Ezek a globális változók az IRX-en nincsenek

24 File feltöltés II. $_FILES tömb, két indexes $_FILES[„nev1”][„name”], file név $_FILES[„nev1”][„tmp_name”], ideiglenes file $_FILES[„nev1”][„type”], állomány típus, application/octet-stream $_FILES[„nev1”][„size”], méret $_FILES[„nev1”][„error”], hibakód Másolás: copy($_FILES["nev1"]["tmp_name"], "./sql/fradi.ka"); Példa: feltolt.php

25 Köszönöm a figyelmet! Illés Zoltán Budapest, Pázmány Péter sétány 1/c


Letölteni ppt "Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika"

Hasonló előadás


Google Hirdetések