PHP Programozzuk a szervert
Kliens szerver kommunikáció http kérés a böngészőtől
Browser válasz a szervertől
kép, video, hang javascript, css pdf, xls, bármi html
Webszerver
DB szerver
Apache
MySql
.jpg
.pdf
.html
.css
.js
.php
php A php script egy a szerveren futó program, aminek a kiemenetét küldi a szerver válaszként!
Töréneti áttekintő
PHP - Personal Home Pages •
1995., Rasmus Lerdorf, kanadai programozó készíti “otthoni” célokra
•
kezdetben csupán egy makrókészlet személyes
honlapok készítésére, a Perl leváltására
•
PHP 2: 1995. június 8., C nyelvű interpreter,
adatbázis interfész
PHP: Hypertext Processor •
1997., Zeev Suraski és Andi Gutmans - új értelmező,
új név
•
1997. novembere: PHP/FI 2
•
1998. június: PHP 3
•
1999.: “Írjuk újra!” Megszületik a Zend Engine, vele
2000. májusára a PHP 4
•
2004.: Zend Engine II. & PHP 5 - új, objektumorientált megoldások, PDO; 5.2-től natív JSON támogatás.
The PHP Goup
PHP 5.x, PHP 6 •
A PHP 6 fejlesztése közbeni problémák miatt
kiadását elhalasztották
•
A PHP 5 fejlődik - új dolgok kerülnek a nyelvbe
és régiek esnek ki.
•
Jelenleg: PHP 5.5.7
Mi az a PHP •
Általános szerveroldali script nyelv dinamikus
weboldalak létrehozására
•
Együttműködik a webszerverrel: IIS, Apache, …
•
HTML kódba ágyazható
•
Adatbázis kapcsolatokat, fájlokat kezel
•
Hálózati kommunikációra képes
Mi az a PHP •
Gyengén típusos script nyelv; nem kell változót
deklarálni
•
Szintaxisa kifejezetten C (Perl) jellegű
•
Vezérlési szerkezetek olyanok, mint C-ben
•
(Most már) klasszikus objektumorientáltságot
támogató nyelv, ebben a C++ és a Java elemeit
vegyíti
•
Támogatja a névtereket
Hatalmas eszközkészlettel rendelkezik •
Sztring kezelésre
•
Tömbkezelésre
•
Fájlkezelésre
•
Adatbázis kezelésre
Mindenre,
ami a webre kellhet!
Több ezer beépített függvény,# és osztály
Hello World! Feldolgozandó PHP kód következik Sor végén kötelező ; Függvényhívás Stringek összefűzése . (pont) operátorral Feldolgozandó PHP kód vége
Hello function! function kulcsszóval kezdődnek a függvények A függvény neve Átveendő argumentumok
!
! $success = sayHello(“Trent Reznor”);! ?>
Hello arguments! kötelező argumentum
opcionális argumentum
! say(“Hello”, “I’m Johnny Cash”, “Yes”);! ?>
Hello html! ”;! ! echo “”;! ! echo “”;! ! echo “
”.$title.””;! ! echo “”;! ! echo “”;! ! und so weiter, und so weiter…! ?>
Hello html! ! ! ! ! ! ! !
! ! ! ! ! ! !
Hello generált html! ! ! ! ! !
! ! ! <meta charset=“”>! ! ! ! !
! ! ! ! ! …!
include_once htmlHead.php ! ! ! ! !
! ! ! <meta charset=“”>! ! !
index.php ! ! ! ! ! ! …!
Stringek
! ! ! ! ! ! ! ! ! ! !
?>
$bob = ‘Dylan’;! $hello1= “Hello”;! $hello2 = $string1.’ ‘.$you;! $hello3 = “Hi, $bob”; // Hi, Dylan! $hello4 = ‘Hi, $bob’; // Hi, $bob! ! $link= ‘index.php’;! $html1 = “
”;! $html2 = ‘’;! // !
Stringek addcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string convert_uudecode convert_uuencode count_chars crc32 crypt echo# explode# fprintf get_html_translation_table hebrev hebrevc hex2bin html_entity_decode htmlentities htmlspecialchars_decode htmlspecialchars implode# join
lcfirst levenshtein localeconv ltrim md5_file md5 metaphone money_format nl_langinfo nl2br# number_format ord parse_str print printf quoted_printable_decode quoted_printable_encode quotemeta rtrim setlocale sha1_file sha1 similar_text soundex sprintf
sscanf str_getcsv str_ireplace str_pad# str_repeat# str_replace# str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strip_tags stripcslashes stripos stripslashes stristr strlen# strnatcasecmp strnatcmp strncasecmp strncmp
strpbrk strpos# strrchr strrev strripos strrpos strspn strstr strtok strtolower# strtoupper# strtr# substr_compare# substr_count substr_replace# substr# trim# ucfirst# ucwords vfprintf vprintf vsprintf wordwrap
http://www.php.net/manual/en/ref.strings.php
Tömbök
! ! ! ! ! ! ! ! ! ! ?>
// asszociatív tömb! $tomb = array(! ! ‘kulcs’ => ‘érték1’,! ! ‘másikkulcs’=> ‘érték2’! );! $elem = $tomb[‘kulcs’];! ! foreach($tomb as $key=>$value){! ! echo $key.’ értéke:’.$value.’
’;! }!
Tömbök array_change_key_case array_chunk array_column array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip# array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists
array_keys# array_map array_merge_recursive array_merge# array_multisort array_pad array_pop# array_product array_push# array_rand array_reduce array_replace_recursive array_replace array_reverse# array_search array_shift# array_slice array_splice array_sum array_udiff_assoc
array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique# array_unshift array_values array_walk_recursive array_walk array arsort asort compact count# current each end extract in_array
key_exists key krsort ksort list natcasesort natsort next pos prev range reset rsort shuffle sizeof sort# uasort uksort usort
http://www.php.net/manual/en/ref.array.php
Fájlok ‘David’,! ! ! ‘lastName’ => ‘Bowie’! ! );! ! $json = json_encode($data);! ! file_put_contents(‘filename.txt’, $json);! !
! $json = file_get_contents(‘filename.txt’);! ! $data = json_decode($json, true);! !
! unlink(‘filename.txt’);! ?>
http://www.php.net/manual/en/ref.filesystem.php