Какво е PHP

PHP, MySQL, XHTML и други.
Потребителски аватар
1337
Member
Мнения: 99
Регистриран: ср фев 28, 2018 7:48 pm
Баланс: Locked

чет мар 01, 2018 3:54 pm

PHP е скриптов език върху сървърната (обслужваща) страна език с отворен код, който е проектиран за уеб програмиране и е широко използван за създаване на сървърни приложения и динамично уеб-съдържание. Автор на езика е канадецът от датски произход Размус Лердорф. PHP е рекурсивен акроним от PHP: Hypertext Preprocessor (като в самото начало има значение, дадено от създателите му, на Personal Home Page). Пример за PHP приложение е МедияУики – софтуерът, използван от Уикипедия.

Съдържание
1 Преглед
2 История
3 Синтаксис и семантика
4 Предимства на езика
5 Критики
6 Модули за достъп до база от данни
7 Литература
8 Източници
9 Външни препратки
Преглед
PHP е скриптов език със синтаксис базиран на C и Perl. Използва се предимно в Web-среда за реализиране на широк кръг от услуги. Той е един от най-популярните езици за програмиране в Интернет и популярността му расте непрекъснато.

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

При поискване, кодът, който е написан на PHP се интерпретира от уеб сървъра на който е качен, и резултатът се връща на уеб браузърът. Потребителят не може да види чистият PHP код без да има достъп до самият файл в който той е записан. По този начин е помислено за сигурността. PHP файловете могат да съдържат текст, HTML, CSS, JavaScript и PHP код. PHP файловете имат разширение .php.

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

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

функции за обработка (създаване, редактиране ...) на изображения
функции за работа с низове и регулярни изрази
функции за работа с XML съдържание
функции за работа със сокети (гнезда)
функции за дата и час
математически функции
функции за управление на сесии и работа с бисквитки (cookies)
функции за компресия и шифриране/дешифриране
функции за COM и .NET за (Windows)
функции за SOAP
функции за работа с различни бази данни
функции за работа с принтер
функции за създаване на приложения с графичен потребителски интерфейс, базирани на библиотеката GTK
функции за изпращане на e-mail съобщения
хранилище за разширения и приложения на PHP: PEAR
PHP може да работи с повечето модерни бази данни – MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite и д.р.

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

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

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

През 1997 г. двамата израелски студенти на Technion (израелски технологичен институт) Зеев Сураски (Zeev Suraski) и Анди Гутманс (Andi Gutmans) пренаписват целия език, констатирайки множеството бъгове и отчасти неправилни концепции за строеж на програмен език и по-късно известяват Размус с техните предложения. Той ги приема и така се създава основният екип от разработчици (PHP Core team), който по-късно се превръща в групата на PHP (PHP group). Зеев Сураски и Анди Гутманс заедно с Размус Лердорф добавят нови функционалности и API за допълнителни модули към езика и така се създава PHP 3. Сураски и Гутманс пренаписват отново ядрото на езика и създават Zend engine през 1999 г. Пренаписването е направено основно от Сураски и Гутманс като курсов проект по време на тяхното обучение в Technion. Пренаписването е вследствие на факта, че кодът на 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 скриптът има начален и краен таг, между които е разположено съдържанието. Отварящият таг е <?php, а затварящия е ?>. Цялата инструкция трябва да завършва с ;. Повече информация за синтаксиса можете да намерите на Трябва да си влязъл в системата, за да можеш да виждаш линковете.

Тук има пример за код, който визуализира „Здравей, свят“:

<?php
echo 'Здравей, свят!'; /* Hello world */
?>
ето и пример за свързване към база данни и изпълняване на проста заявка към нея:

<?php
session_start();
$DbUser = "root";
$DbPassword = "password";
$DbHost = "localhost";
$cn = mysql_connect($DbHost, $DbUser, $DbPassword) or die("Error in MySQL: " + mysql_error());
mysql_select_db("database", $cn);
$rs = mysql_query("SELECT UserId, Username, UserPassword FROM Users WHERE `Username` = '" . $uname . "' AND UserPassword = '" . $upass . "' LIMIT 1", $cn);
if(mysql_num_rows($rs) == 1)
$_SESSION['logged'] = true;
mysql_close($cn);
?>
Обектно-ориентиран PHP

<?php
class Beginning {
function start()
{
echo 'Hello, world';
}
}
$var = new Beginning();
$var->start();
?>
Дата и час:

<?php
$date = date("d.m.Y H:i:s");
echo $date; // Пример 18.05.2012 20:04:25
?>
PHP изпълнява кода в рамките на своите граници – кода между <?php и ?>. В зависимост от настройките на сървъра, за отваряща граница може да се използва само <?, но това не се препоръчва[4]. При липса на допълнителна обработка, или прекъсване на зареждането на дадена страница – всичко извън рамките се изпраща директно към изхода, без да бъде изпълнявано от PHP. Горният пример е еднакъв с долния текст (и наистина е конвертиран в този вид):

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

<?php
// PHP код
?>
обикновен HTML код
<?
// още PHP код
?>
Предимства на езика
PHP работи на множество операционни системи (Unix, Linux, Windows, BSD, Mac OS X) и множество уеб сървъри – Apache, lighttpd, IIS
PHP е лесен за разработване
PHP е безплатен и се разпространява под лиценза на BSD
PHP може да бъде лесно модифициран и адаптиран към нуждите на прилагащата го организация
PHP е създаден и пригоден за разработката на уеб приложения
PHP не изисква особени умения от разработчици работили на структурни езици – езикът е с прост и интуитивен синтаксис за такива разработчици
PHP е широко разпространен поради простотата си. Има много програмисти, което води до по-евтино платен персонал във фирмите, по ниска цена на приложенията за клиентите и още по-голяма използваемост. Поддръжката за PHP разработчици е гарантирана от множеството форуми и приложения на общността.
По аналогия с Perl към стандартните класове на PHP могат да бъдат писани и много допълнителни модули
PHP поддрържа следните системи за управление на бази от данни:
IBM DB2 – formix – Ingres, Microsoft SQL Server (MS SQL), mSQL, MySQL, Oracle, PostgreSQL, Sybase

PHP поддържа и ODBC
Критики
В по-старите версии на езика по подразбиране съществува функционалност, чрез която крайните потребители могат да подават направо променливи към PHP скрипта (register_globals). Настройката по подразбиране е премахната от версия 4.2.0, но съществуват все още много стари приложения, които предполагат употребата на тази функция.
PHP не поддържа напълно Unicode. Пълната поддръжка се предвиждаше в PHP 6, но не беше осъществена и се премина към версия PHP 7.
PHP не поддържа именни пространства до версия 5.3 на езика – т.е. всички функции се намират в едно именно пространство.
Съществуват много функции на библиотеки с идентична функционалност.
Няма изградена конвенция за именуване и подреждане на аргументите на вградените функции в PHP, което прави необходимо постоянно консултиране с документация при работа с PHP.
PHP няма вградена поддръжка на нишки (threads), което прави обработката на големи масиви от данни много трудна: страницата не се зарежда преди целият масив от данни да е преработен и ако потребителят прекъсне зареждането ѝ (и уеб сървърът разрешава прекъсване на заявката), прекъсва и обработката на данните.
Обръщенията към неинициализирани променливи и елементи на масив са разрешени в PHP, което прави възможно допускането на трудни за откриване правописни грешки.
PHP използва т. нар. „magic quotes“, които са създадени с цел да предпазват начинаещите програмисти, но объркват по-напредналите.
Понякога се среща неконсистентност между поведението на PHP в различните версии, което предизвиква необходимостта от пренаписване на скриптовете, писани за стари версии на езика.
Модули за достъп до база от данни
PHP поддържа връзки към следните СУБД (Системи за Управление на База от Данни) – MySQL, PostgreSQL, SQLite ja Oracle. Освен това чрез ODBC съществува и общ интерфейс със следните СУБД – Adabas D, IBM DB2, iODBC, Solid и Sybase SQL Anywhere.

ИЗТ: Уикипедия

Отговори

Върни се в “Уеб Програмиране”

  • Информация
  • Кой е на линия

    Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост