PHP
Из Википедија
PHP (PHP: Hypertext Preprocessor) је програмски језик првенствено намењен за израду динамичног веб садржаја.
Садржај |
[уреди] Увод
PHP је стекао популарност због своје једноставности и синтаксе наслеђене из програмског језика C. Током времена језик се проширивао и стицао могућности за објектно оријентисано програмирање, нарочито од верзије 5.0. Наликује језику C++ у смислу да дозвољава и чисто-процедурално програмирање али омогућава и коришћење класа и других концепата објектно оријентисаног програмирања (наслеђивање, апстрактне методе, интерфејси итд.).
[уреди] Историја
[уреди] PHP/FI
PHP представља наследника алата по називу PHP/FI, написаног 1995. године од стране Расмуса Ледорфа[1]. PHP/FI је представљао скуп алата написаних у Перлу, и аутор га је користио за сопствене потребе. Скуп алата је добио име "алати за личну презентацију" ((Енг. Personal Home Page Tools), одакле и скраћеница PHP. Како су расле потребе на сајту, аутор је преписао комплетан пројекат у C-у и омогућио да може да комуницира са базама података а корисницима свог сајта да направе сопствене презентације помоћу њега. Расмус је потом објавио[2] своје алате и учинио изворни код доступан свима да би се пројекат брже развијао и да би се грешке брже исправљале.
PHP/FI, чија је пуна дефиниција гласила "алати за личну презентацију/преводилац образаца" ((Енг. Personal Home Page Tools/Forms Interpreter) је имао само неке ствари заједничке са данашњим PHP-ом - променљиве као у Перлу, аутоматско парсирање променљивих из захтева и уграђени HTML. PHP/FI 2.0 је коначно и званично објављен 1997. године, да би га убрзо заменио PHP 3.0.
[уреди] PHP 3.0
PHP 3.0 је представљао прву верзију која доста личи на данашње верзије PHP-а. Креирали су га израелски програмери Зеев Сураски и Енди Гутманс са факултета Техникон, као потпуну прераду пројекта PHP/FI. Открили су да је он имао озбиљне недостатке и да није могао задовољити њихов универзитетски пројекат електронске трговине. У сарадњи са Ледорфом су објавили PHP 3.0 као званичног наследника језика PHP/FI, а његов развој је заустављен.
Главна особина нове верзије језика је била његова проширивост, која је привукла бројне програмере широм света да додају нове могућности. Поред квалитетне подршке за разне врсте база података, верзија 3.0 је увела и могућност објектно оријентисаног програмирања и већу конзистентност у језичкој синтакси.
Име је промењено у PHP (без додатка "FI"), чије се значење изменило да представља рекурзивни акроним "PHP: препроцесор хипертекста" (PHP: Hypertext Preprocessor).
PHP 3.0 је званично објављен у јуну 1998. након девет месеци коришћења у пробној фази.
[уреди] PHP 4.0
У зиму 1998. Зеев и Гутманс су започели поновно писање PHP-а испочетка, покушавајући да поправе језгро тако да би боље радило са већим апликацијама и да би побољшали модуларност. Ново језгро су назвали Зенд машина (Zend engine), по деловима својих имена Зеев и Енди, да би касније формирали и Zend Technologies у Рамат Гану, Израел, која надгледа унапређење PHP-а. Ново језгро је успешно довршено и појавило се у јавности средином 1999, а нова верзија PHP-а, 4.0, опремљена новим језгром је званично објављена у мају, 2000. Поред бољих перформанси, нова верзија је укључивала и кеширање стандардног излаза, сесије, бољу подршку за различите веб-сервере, сигурнији пренос корисничких података и неколико нових контролних структура.
[уреди] PHP 5.0
Верзија 5.0 је изашла у јулу 2004. године, након дугог развоја и неколико пробних верзија. Користи језгро Зенд машина 2.0 са новим објектним моделом и неколико нових могућности.
[уреди] Употреба
Иако се PHP може користити за програмирање конзолних апликација и графичких интерфејса (библиотека PHP-GTK) његова основна и главна употреба је у програмирању динамичних страница на Интернету.
До 1997. PHP је стекао неколико хиљада корисника[1]; до 1998. број сајтова на којима је инсталиран PHP 3.0 је порастао на пар стотина хиљада а број корисника истог на пар десетина хиљада[1]. Данас PHP користи неколико стотина хиљада програмера и неколико милиона сајтова[3].
[уреди] Структура програма
За разлику од већине програмских језика који поседују почетну функцију (main у C-у, први блок BEGIN u Паскалу, класа која поседује main методу у Јави итд.) него налик на већину скриптних језика, и PHP датотека једноставно садржи скуп инструкција које се извршавају једна за другом, од прве до последње где следи крај програма.
У PHP датотеци, блок који је окружен језичким структурама <?php i ?> се сматра PHP кодом и извршава се, а остатак - ван тих знакова - се сматра текстом који једноставно треба да се испише на стандардни излаз, без интерпретирања. Следи пример једног PHP програма:
<!-- наредни део написан у HTML-у се преписује директно на стандардни излаз -->
<html>
<body>
<p>
<!-- наредни део припада PHP блоку, те се извршава -->
<?php
echo "Здраво свете!";
?>
<!-- наредни део до краја кода се такође преписује директно на стандардни излаз -->
</p>
</body>
</html>
На овај начин, на стандардном излазу се на крају појављује следећи текст:
<html> <body> <p> Здраво свете! </p> </body> </html>
што представља HTML код спреман за приказ у браузеру.
PHP код може бити организован у функције и класе, и може се организовати у више датотека. Као почетна датотека, тј. датотека чије инструкције се извршавају прве, се узима она датотека која се да интерпретеру на извршавање.
[уреди] Техничке могућности
Развојни тим PHP-а се састоји од неколико десетина програмера, и још неколико десетина радника који раде на другим пројектима везаним за PHP, као што је PEAR и документација PHP-а. Поред овога, PHP-у су добровољно доприносили многи програмери широм света. Брз развој је проузроковао да PHP поседује велики број библиотека и функција, али и проблем неконзистентности у именовању уграђених функција.
Следи детаљан списак могућности које PHP нуди кроз своје библиотеке и додатке:
- Комуникација са базама података; подржане базе:
- Рад са XML документима; независне библиотеке:
- XML DOM
- XMLReader и XMLWriter
- SimpleXML
- Рад са текстовима у страним језицима
- Библиотека Gettext
- Функције за рад са [[низ (програмирање)|нискама вишебајтних карактера
- Рад са великим бројевима; библиотека GMP (Енг. GNU Multiple Precision)
- Рад са датумима и календаром (подржава грегоријански и јулијански календар)
- Креирање PDF докумената; независне библиотеке:
- Haru PDF
- PDFLib
- Компресија; подржани алгоритми:
- Криптовање (функција mcrypt); подржани алгоритми:
- DES
- TripleDES
- Blowfish
- 3-WAY
- SAFER-SK64
- SAFER-SK128
- TWOFISH
- TEA
- RC2
- GOST
- RC6
- IDEA
- Рад са сликама
- Уређивање слика (библиотека GD)
- Читање мета-информација о сликама (Библиотека Exif)
- Рад са датотечним системом (директоријумима и датотекама)
- Кеширање стандардног излаза
- Конзолна графика (библиотека NCurses)
- Рад са штампачем
- Мрежна комуникација преко сокета
- Интеграција PHP-Јава
- Директан приступ сервису електронске поште
- Рад са стандардним протоколима:
- Извршавање екстерних извршних фајлова
- Рад са COM и .NET објектима за Виндоус
[уреди] Начин извршења
Програм који се напише у PHP-у не захтева превођење (компајлирање), него се интерпретира при сваком извршавању. PHP интерпретер може радити по CGI принципу, односно тако што ће интерпретер постојати као екстерна апликација која се позива да изврши дату скрипту сваки пут кад буде захтевана од неког корисника, а може бити инсталиран и као модул веб-сервиса. Друга варијанта је данас у највећој употреби јер пружа знатно већу брзину извршавања - интерпретер је на тај начин увек учитан у меморију те се не мора позивати спољашњи програм.
Уобичајен сценарио по ком се извршавају PHP скрипте је следећи:
- клијент (корисник Интернета који користи неки браузер) захтева PHP страницу са сервера
- сервер прослеђује захтев сервису за веб (програм веб-сервер на серверу)
- веб-сервер препознаје да се тражи PHP датотека
- не шаље његов садржај клијенту, него га извршава као програм помоћу PHP модула
- излазни текст програма (стандардни излаз) се шаље клијенту као резултат захтева
- клијент препознаје врсту резултата (HTML код, слика, PDF садржај, архива итд.)
- резултат се приказују клијенту на одговарајући начин
[уреди] Компатибилност
PHP је подржан у већини популарних оперативних система, укључујући Јуникс, Линукс, Мајкрософт Виндоус[4] и Мек ОС[5].
[уреди] Доступност и лиценца
PHP се може бесплатно скинути широм Интернета и на званичном сајту PHP-а[6], а лиценциран је PHP лиценцом.
[уреди] Референце
[уреди] Спољашње везе
- Званични сајт ((en))
- Пуна документација ((en))
| Програмски језици |
| Ада | Алгол | APL | Асемблер | AWK | Бејсик | C | C++ | C# | Кобол | ColdFusion | Common Lisp | Ајфел | Фокус | Forth | Фортран | Haskell | IDL | Јава | Јаваскрипт | Лимбо | Лисп | Луа | Modula 2 | Objective C | OCaml | Паскал | Перл | PHP | Пролог | Пајтон | Руби | SAS | Scheme | Smalltalk | Tcl |


