PHP alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT
[email protected]
PHP ●
PHP – Personal Home Page (Tools)
●
Script nyelv -> interpretált
●
Elsősorban weboldal (dinamikus) tartalmak előállítására
●
Nem csak webszerveren keresztül használható
●
Van különálló parancsértelmezője
●
Webszerveren keresztül több módon is használható: ●
CGI, SCGI, FastCGI...
●
mod_php
PHP ●
●
Alapvetően az értelmezésre küldött stringeket statikus elemként kezeli, így könnyen ágyazható pl. HTML-be „” tagek közé ágyazott részeket veszi csak PHP kódnak ●
●
„” is használható (beállítás függő – „short open tag”, nem javasolt)
Hello World!
PHP
PHP
PHP ●
Futtatás ●
CLI: – – –
●
$ php hellow.php cat hellow.php | php stb..
Webszerver: –
http://szerver/dir/hellow.php
PHP ●
Utasítások közé ;
●
Változók
●
●
$valtozo
●
echo $valtozo ;
●
$valtozo=ertek ;
●
Típus implicit módon, nem kell deklarálni
Tömb ●
$tomb[index]
PHP ●
●
Komment ●
// komm
●
# komm
●
/* komm */ - több soron is átnyúlhat
Blokk ●
●
{}
Függvények ●
fuggveny();
PHP ●
Típusok ●
int
●
double
●
string
●
boolean
●
array
●
object
●
null
PHP ●
Típusok ●
●
●
gettype() ●
gettype($szoveg)
●
echo(gettype($semmi)); → NULL
●
unset($valotozo); → $valtozo → NULL
is_típus() ●
●
Szükség esetén automatikus típuskonverzió
is_string($szam)
settype() ●
settype($szam,”string”)
PHP ●
Tömb típus ●
Asszociatív tömb
●
Inicializálás – – –
●
Elem elérése – –
●
$tomb = array(); $tomb = array('elem1', 'masik elem', 'lapos elem'); $tomb = array('egy' => 1, 'ketto' => 2); $tomb['harom']=3; echo($tomb['egy']);
Törlés –
unset($tomb['harom'])
PHP ●
●
Karakterlánc ●
$sztring=”enni”;
●
$szoveg[0]=”i”;
Konstansok ●
íratlan szabály szerint csupa nagybetű
●
define('OTEZER',5000);
●
szimplán a nevével lehet rá hivatkozni, nem kell $
●
get_defined_constants();
PHP ●
Operátorok ●
+ - = * / == . stb. stb.
●
ha típust is szeretnénk egyeztetni: –
●
. string összefűző operátor –
●
===, !== print($szoveg1 . ' - ' . $szoveg2);
echo(($a + $b / 6 * $d) == 9);
PHP ●
Vezérlési szerkezetek ●
if-elseif-else
●
switch-case
●
while
●
do-while
●
for
●
foreach
●
continue, break
PHP ●
Vezérlési szerkezetek ●
if (kif) {} elseif (kif) {} else {}
●
switch ($valt) { case 5: utasitas; break; default: ...}
●
while (kif) {}
●
do {} while (kif)
●
for (init ; felt; utas) {}
●
foreach ($tomb as $ertek) { echo($ertek); }
PHP ●
Függvény ● ●
●
function fgv($param1=4, $param2, …) { return $v; } Nem muszáj értékkel visszatérni (return elhagyható) Referencia szerinti változó átadás –
●
function refvalt(&$valt) {};
Globális változok ●
global $valt
PHP ●
Előre definiált (globális) változók (tömb) ●
$_SERVER – – –
Környezeti változók pl. gyakori: REMOTE_ADDR $_SERVER['REMOTE_ADDR']
●
$_GET
●
$_POST
●
$_SESSION
●
$_COOKIE
●
$_FILES
PHP ●
Legyen felhasználótól érkező adatunk!
●
HTML Formok
• action: a szkript, amit submit meghív • method: paraméterátadás módja GET/POST ●
formprocess.php?nev=Tux
PHP ●
HTML Formok ●
– – – –
text radio checkbox hidden
●
●
<select>
PHP ●
HTML Formok ●
●
<select name=”lista”> egy ketto
PHP
PHP ●
HTML Formok ●
●
Gomba
Hus
Sajt
So
Bors
Paprika
PHP
PHP ●
HTML Formok ●
$_POST['sokszoveg']
●
$_GET['fuszer']
●
Tömbként is lehet átadni –
●
name=”lista[]”
register_globals –
automatikusan létrejönnek változóként ●
–
pl. $fuszer, $sokszoveg
nem ajánlott, manapság alapból tiltva van ●
nézzük meg miért is...
PHP ●
Include / Require ●
include('hasznos_fuggvenyek.php')
●
include_once()
●
require() , require_once()
●
Ekvivalensek, de: – –
require() E_COMPILE_ERROR-t include() E_WARNING-ot generál
PHP ●
Filekezelés ●
$handler=fopen('filenev','mod'); – – –
●
Mód r,w,a,x (w=x, csak x nem írja felül) r+,w+,a+,x+
fclose(), fread(), fgetc(), fgets(), feof()