1 / 23

WEB Technológiák

WEB Technológiák. WEB-DB és XML. dr. Kovács László. ME Általános Informatikai Tsz. WEB szerver. Browser URL. PHP szerver. Adatbázis szerver. Séma dokumentum. PHP. A PHP egy szerver oldali script nyelv: HTML alapú template állományba lehet C típusú kód részleteket beágyazni

venice
Télécharger la présentation

WEB Technológiák

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WEB Technológiák WEB-DB és XML dr. Kovács László ME Általános Informatikai Tsz.

  2. WEB szerver Browser URL PHP szerver Adatbázis szerver Séma dokumentum PHP A PHP egy szerver oldali script nyelv: HTML alapú template állományba lehet C típusú kód részleteket beágyazni 1994 (Lerdorf) Personal Home PageTools 1997 PHP2 (1%) 1998 PHP3 : Gutmans, Zuraski, újraírt, mai PHP-hoz hasonló (10%) 2000 PHP4 : optimalizált végrehajtó motor (20%) K.L.

  3. PHP PHP előnyei: - hordozhatóság - egyszerű fejlesztési környezet - hordozhatóság - ingyenes (de, van Zend compiler is) - teljesítmény - széles körű adatkapcsolati lehetőségek - gazdag funkcionalitás - objektum alapú Lehet CGI vagy modul működésű is Apache PHP mySQL PHP működhet önállóan is!! K.L.

  4. PHP Installációs lépések letöltés: http://www.php.net fordítási konfigurációs paraméterek (configure): -- enable-track-vars (környezeti adatok lehelyezése tömbbe) -- with-gd (dinamikus képkezelés) -- with-mysql (adatbázisok elérése) -- with-oracle … inicializációs állomány (php.ini): language options (pl. precision = 14, safe_mode = off ) resource limit (pl. max_execution_time = 30, memory_limit = 8388608 ) K.L.

  5. PHP Installációs lépések inicializációs állomány (php.ini) folytatása: error handling (pl. display_errors = on log_errors = off) data handling (pl. track_vars = on auto_append_file= ) paths and directories (pl. doc_root = … extension_dir = ./ upload_max_filesize = 2097152) dynamic extensions (pl. extension=php3_mysql.dll) module settings: minden modulra más paraméterlista [ODBC] uodbc.default_user = … uodbc.max_links = 1 [PostgresSQL] pgsql.allow_persistent = on pgsql.max_links = n) K.L.

  6. PHP Apache konfiguráció (httpd.conf) LoadModule php4_module c:/php/sapi/php4apache.dll Scriptalias /php/ "/php/” AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Action application/x-httpd-php "/php/php.exe” <Directory "C:/Apache/cgi-bin"> AllowOverride None Options None ExecCgi Order allow,deny Allow from all </Directory> K.L.

  7. PHP URL a híváshoz: http://laszlo.iit.uni-miskolc.hu/p1.php?paraméterek http://laszlo.iit.uni-miskolc.hu/php/p1.php?paraméterek WEB server PHP server SAPI PHP Core Zend Core Extension API DB server K.L.

  8. PHP nyelv elemei A PHP kódok a HTML utasítások között helyezkednek el ...HTML… <?PHP kód?> <?phpPHP kód?> <%PHP kód%> <script language=‘PHP’>PHP kód</script> …HTML... Egy php dokumentumban több script rész is elhelyezkedhet A parancsok lezására: ; Egy PHP parancs több, egymást követő script területre is kiterjedhet <BODY> <?php print (”Hello vilag”); ?> </BODY> K.L.

  9. PHP nyelv elemei megjegyzés beszúrása /* szöveg */ // szöveg #szöveg változók kezelése az azonosító mindig$ jellel kezdődik $a, $alma, $autok[3] dinamikus változókezelés, gyengén típusos változó létrehozása értékadással: $a = 3; -- most a $a egész típusú $a = “alma”; -- most pedig string típust vett fel alapestben a dokumentum feldolgozás végéig él K.L.

  10. PHP nyelv elemei Érdekességek a változók kezelésénél: - a változó neve is lehet változóban: $a = “b”; $$a = “c”; -- a c érték a $b változóba kerül print ($b); -- a c-t kapjuk eredményül - a zárójelen belül csak egy szintű a feloldás $a = “b”; $$a = “c”; print (“$$a“); -- a $b-t szöveget kapjuk eredményül - a dinamikus változó nevet a kapcsos zárójellel lehet elérni $a = “b”; $$a = “c”; print (“${$a}“); -- a c-t kapjuk eredményül - string összefűzés: szöveg1.szöveg2 K.L.

  11. PHP nyelv elemei Érdekességek a változók kezelésénél: - dinamikus azonosító képzés sztring összefűzéssel: $i = “1”; ${”alma”.$i} = 3; - változókra való hivatkozás is előállítható: $v1 = &$v2 $v1 = 3; $v2 = $v1; printf ($v2); $v3 = &$v1; print ($v3); $v2 = 4; print ($v1); $v3 = 4; print ($v1); eredmény: 3 eredmény: 3 eredmény: 3 eredmény: 4 K.L.

  12. PHP nyelv elemei Adattípusok: - integer - double - string - boolean - object - array Típus lekérdező függvény: gettype(változó) Típus beállítása: settype(változó, típus): $v = 3; print (gettype($v)); eredmény integer $v = 3; settype($v,”string”); $v szöveges típusú lesz K.L.

  13. PHP nyelv elemei Operátorok: C jellegű szimbólumok A precedencia hasonló a C-ben megismerttel K.L.

  14. PHP nyelv elemei - konstansok létrehozása: define(”azonosító”,érték) define(”MAXVAL”, 34); - elágazás szerkezete: if (kifejezés) { } else { } - többszörös elágazás: switch (kifejezés) { case érték: break; default: } - egyszerű elágazás: (kifejezés) ? kif1 : kif2; K.L.

  15. PHP nyelv elemei - ciklusok: while (kifejezs) { continue; break; } do { } while(): for(kif1;kif2;kif3) { } foreach($tomb as $valtozo) { $valtozo } ciklus a tömb elemeire K.L.

  16. PHP nyelv elemei függvények: létrehozás: functionfüggvénynév ( $p1, $p2,... ) { törzs return kifejezés; } meghívás: függvénynév(kif1,kif2,...); A függvények a forrás állományban bárhol lehetnek A függvény nevét is meg lehet adni dinamikusan (változóban) $v = “fnev”; $v(2); = fnev(2); K.L.

  17. PHP nyelv elemei <?php function novel($v) { return $v + 1; } ?> HELLO <?php print (novel(1)."\n"); print (csokkent(1)."\n"); ?> MACI <?php function csokkent($v) { return $v - 1; } ?> X-powered-by: PHP 4.0/ Conent-type: text/html HELLO 2 0 MACI > php f.php f.php K.L.

  18. PHP nyelv elemei <?php function novel1($v) { return $v + 1; } function novel2($v) { return $v + 2; } ?> HELLO <?php $n = "novel1"; $m = "n"; print (novel1(1)."\n"); print ($n(1)."\n"); print (${"n"}(1)."\n"); print (${$m}(1)."\n"); ?> MACI paraméterekhez alapértelemzett érték rendelhető: function fnev( $v1 = érték,…) { } cím szerinti paraméter átadás: function fnev( &v1,…) { } K.L.

  19. PHP nyelv elemei Változók hatásköre: a függvényben használt változók alapesetben lokálisak <?php $v1 $v2 $v5 function fnev($p){ $v1 global$v2 static $v3 $v4 } ?> A kinnt létrehozott változók alapesetben nem láthatók a függvényeken belül nem azonos a külsővel A global elérhetővé teszi a kinti változót A static hatásárára megőrződik az érték a fv-ből való kilépés után K.L.

  20. PHP nyelv elemei Tömb kezelés - a tömb is dinamikusan kezelt: - nem kell előre helyet foglalni - különböző indexű elemi lehetnek eltérő tipusúak létrehozása: $tomb[] = e1; $tomb[] = e2; $tomb = array(e1,e2,..); $tomb = array(array(e1,..),array(),..); hivatkozás: $tomb[i] $tomb[i][j]; K.L.

  21. PHP nyelv elemei Asszociatív tömbök: a tömbelemek azonosítása nem index-szel, hanem szöveges értékkel $tomb = array( “id” => ertek,…); $atlagcsap = array( “januar” => 260.6, “februar” => 124.3; … ”evi” => 198.5); elérése: $tomb[”id”] print (“atlagcsapadek = “ . $atlagcsap[“evi”]); K.L.

  22. PHP nyelv elemei Asszociatív tömbök bejárása: foreach($tomb as $vindex => $vérték) { $vindex,…, $vérték } $csapatok = array( array( “nev” => “Zala”, “pont” => 23), array( “nev” => “Buda”, “pont” => 31), array( “nev” => “Borsod”, “pont” => 29)); foreach( $csapatok as $csapat) { foreach( $csapat as $kulcs => $ertek) { print(” $kulcs : $ertek \n”); } print (”----------------\n”); } K.L.

  23. PHP nyelv elemei Tömbkezelő függvények: - két tömb egyesítése: array_merge ($t1, $t2); - tömb mérete: count($t1); - tömb első elem eltávolítás: array_shift($t1); - tömb egy részének kiemelése: array_slice($t1,i1,i2); - tömb rendezése: sort($t1) - asszociatív tömb rendezése: asort($t1) ksort($t1); K.L.

More Related