Направо към съдържанието

Програмен език PHP

От Уикикниги

PHP е език за програмиране с отворен код, широко използван главно за сървърни приложения и разработване на динамично уеб съдържание. Пример за PHP приложение е MediaWiki, софтуерът, използван от Уикипедия. Автор на езика е датчанина с канадски произход Размус Лердорф.

Преглед

[редактиране]

PHP е скриптов език със синтаксис базиран на C и отчасти Perl. Използва се предимно в Уеб среда за създаване на широк кръг от услуги. Той е един от най-популярните езици за програмиране в Интернет и популярността му расте непрекъснато.

PHP се разпространява под отворен лиценз (PHP License), който по своята същност е BSD лиценза, и който позволява безплатно разпространяване на програмния код на интерпретатора на езика, както и създаването на деривати под други лицензи с уговорката, че тези деривати не могат да включват PHP в името си. Фактът, че PHP се разпространява безплатно го прави удачен избор за изграждане на Уеб сървър базиран изцяло на безплатни продукти - GNU/Linux, Apache, MySQL/PostgreSQL и др.

Самият език е преносим на много изчислителни архитектури и операционни системи като Windows, GNU/Linux, UNIX, Mac OS X.

Съществуват множество модули (разширения) за PHP, които добавят различни функционалности и позволяват много по-бързо и ефективно разработване. Такива допълнителни функционалности към езика са:

PHP може да работи с всички модерни системи за управлени на релационни бази данни, като MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite и д.р.

На официалния сайт на PHP се намира обширна библиотека с информация за езика и модулите му, която може да се използва и за основно запознаване с езика, и като справочник по време на работата с него.

Поради отворения характер на езика съществуват множество потребителски групи в България и по света посветени на програмирането с PHP, където всеки може да получи помощ в работата си с този език.

История

[редактиране]

Началото на PHP е поставено от Размус Лердорф (Rasmus Lerdorf) през 1994 г., въпреки че самият Лердорф смята 1995-та за рождената година на PHP, защото тогава „отваря“ кода на новия език за програмиране. В началото Размус създава Perl скриптове за следене на посещенията на резюмето на личната му страница, които в последствие пренаписва и така се създава първата версия на PHP (тогaва означаващо Personal Home Page).

През 1997 двамата израелски студенти Andi Gutmans и Zeev Zuraski пренаписват целият език, констарирайки множеството бъгове и отчасти неправилни концепции за строеж на програмен език и по-късно известяват Размус с техните предложения. Той ги приема и така се създава основният екип от разработчици (PHP Core team), който по-късно се превръща в групата на PHP (PHP group).

През 1997 г. двамата израелски студенти Зеев Сураски (Zeev Suraski) и Анди Гутманс (Andi Gutmans) заедно с Размус Лердорф добавят нови функционалности и API за допълнителни модули към езика и така се създава PHP 3. Сураски и Гутманс пренаписват отново ядрото на езика и създават Zend engine през 1999. Пренаписването е направено основно от Сураски и Гутманс като курсов проект по време на тяхното обучение в университета, който посещават. Пренаписването е в следствие на факта, че кодът на PHP2 е бил труден за поддръжка и доста нестабилен.

През 2005-та бяха чествани 10 години PHP, наред с 10 години MySQL. До сега през годините ядрото на PHP е претърпяло много промени, като най-забележимите са следните:

  • 22 Май 2000 г. - излиза версия 4 на PHP основана на Zend Engine 1.0
  • Юли 2003 г. - версия 5 на PHP основана на Zend Engine II
  • 2005 г. - Уникод функционалност

Синтаксис и семантика

[редактиране]

PHP действа главно като филтър, който взема съдържанието на файла и специалните PHP инструкции, като ги конвертира във вид за показ.

Тук има пример за код, който показва "Здравей, Свят":

<?php
    echo 'Здравей, Свят!';
?>

PHP просто изпълнява кода в рамките на своите граници, като <?php ?>. Границите <? ?> са идентични като функционалност, но това зависи от настройките на сървъра. Всичко извън рамките се изпраща директно към изхода, без да бъде изпълнявано от PHP. Горният пример е еднакъв с долния текст (и наистина е конвертиран в този вид):

Здравей, Свят!

Предимството на PHP е, че позволява командите му да бъдат влагани в HTML документите, като крайните потребители не могат да видят изходния код на писан на PHP, който преработва всичко извън рамките му:

<?php
    // PHP код
?>
обикновен HTML код
<?
    // още PHP код
?>

Имената на променливите в PHP винаги започват със символа $, и не могат да съдържат други знаци освен числа, латински букви и долна черта (_). Има няколко типа променливи - числови, текстови, логическа, масиви и обекти.

Предимства на езика

[редактиране]
  • PHP работи на множество операционни системи (Unix, Linux, Windows, BSD) и уеб сървъри (Apache, ISS)
  • PHP е лесен и ефективен за разработване
  • PHP изпълнява бързо код
  • PHP е безплатен и се разпространява под лиценза на BSD
  • PHP може да бъде лесно модифициран и адаптиран към нуждите на прилагащата го организация
  • PHP е създаден за разработката на уеб приложения
  • Поддръжката за PHP разработчици е гарантирана от множеството форуми и приложения на общността
  • PHP е вече широко разпространен в световната мрежа
  • PHP не изисква особени умения от разработчици работили на структурни езици
  • По аналогия с Perl към стандартните класове на PHP могата да бъдат писани и много допълнителни модули.

Критики

[редактиране]
  • В по-старите версии на езика по подразбиране съществува функция, чрез която крайните потребители могат да подават направо променливи към PHP скрипта (register_globals). Настройката по подразбиране е премахната от версия 4.2.0, но съществуват все още много стари приложения, които предполагат употребата на тази функция
  • PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в PHP 6.
  • PHP не поддържа именни пространства - т.е. всички функции се намират в едно именно пространство.
  • съществуват много функции на библиотеки с идентична функционалност
  • PHP не поддържа нишки (threads) като част от езика, което прави обработката на големи масиви данни много трудна: страницата не се зарежда преди целият масив от данни да е преработен и ако потребителят прекъсе зареждането и (и уеб сървъра разрешава прекъсване на заявката) прекъсва и обработката на данните.

Модули за достъп до база от данни

[редактиране]

PHP поддържа връзки към следните СУБД (Системи за Управление на База от Данни) - MySQL, PostgreSQL, SQLite ja Oracle. Oсвен това чрез ODBC съществува и общ интерфейст със следните СУБД - Adabas D, IBM DB2, iODBC, Solid и Sybase SQL Anywhere.

Литература

[редактиране]
  • Х.Кастането, Х.Роат, С.Шуман, К.Скол. Професионално програмиране с PHP [1] ISBN 9546851426

Външни препратки

[редактиране]
  • PHP Manual Официална документация на PHP