Общи сведения за PHP 
Тема 1
съдържание 
 историята на PHP; 
 основните концепции; 
 цели на програмирането с PHP; 
 някои предимства; 
 недостатъци; 
 и особености на PHP. 
11 декември 2014 2
основни въпроси 
 Основни свойства на PHP. 
Синтаксис; 
 Особености на PHP – 
предимства и недостатъци. 
11 декември 2014 3
1.Основни свойства на 
PHP. Синтаксис 
 1994 година Размус Лердорф - скриптов език, 
“Personal Home Page Tools”; 
 за създаване на интерактивни и динамични web 
сайтове; 
 гъвкав, компактен, лесен за изучаване и използване, 
предлагащ всички възможности за създаване на 
динамичен, съвременен сайт. 
 По късно - “Hypertext Preprocessor”; 
 но основната идея - простотата на използване е 
запазена; 
 може би???-- най-лесния език за изучаване и 
прилагане. 
11 декември 2014 4
1.Основни свойства на 
PHP. Синтаксис 
<?php 
echo "Здравейте"; 
?> 
 програмните езици: 
 скриптови; 
 и компилируеми; 
 
 client side(JS) и server 
side (PHP). 
11 декември 2014 5
2.Особености на PHP – 
предимства и недостатъци 
 Предимства: 
 гъвкавост при включване в HTML документи; 
 най-голяма е близостта със C (смесица от Perl, Java и 
C ); 
 удобни възможности за изпълняване на сложни 
математически изчисления; 
 изпълняване на мрежови функции; 
 възможностти за обработка на електронна поща; 
 работа с обикновени изрази и други. 
 най-голямата сила на PHP е във възможностите 
му за работа с бази данни 
 MySQL, PostgreSQL, Oracle, Sybase, mSQL и други. 
11 декември 2014 6
Първият скрипт ../uroci/t1/ex2.php 
<HTML> 
<HEAD> 
<META HTTP-EQUIV="Content-Type" 
CONTENT="text/html; charset=UTF-8"> 
<TITLE>Здравейте!</TITLE> 
</HEAD> 
<BODY> 
Първият ми PHP скрипт<br> 
<?php 
echo ('<h2>Здравей, Свят и мили Хора! 
</h2>'); 
11 декември 2014 7 
?> 
</BODY> 
</HTML> 
 запишете този файл (като 
ex2.php); 
 Сложете го на сървър, 
поддържащ PHP; 
 Извикайте го в браузъра 
си. 
 Резултатът е – 
поздравлението.
???!!! 
 Примерът демонстрира как може да се вгради 
скриптовия код в HTML. 
 PHP кодът се поставя между <?php ….. и ?>; 
 Така сървърът разбира, че трябва да подаде това 
съдържание на интерпретатора за PHP; 
 друг вариант - <? ...?>. 
 всяка инструкция трябва да завършва с точка и запетая; 
 за да изпишете текст на екрана - вградените функции 
echo или print; 
 изразите в PHP се ограждат с единични - ‘’ или 
двойни - “” кавички. 
11 декември 2014 8
..обратната задача 
../uroci/t1/ex3.php 
 всичко, което подадем като аргумент на echo ще бъде изведено на екрана 
(вграждане на HTML): 
<?php 
echo "<HTML> 
<HEAD> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> 
<TITLE>Здравей, свят!</TITLE> 
</HEAD> 
<BODY> 
Първият ми PHP скрипт<br><br> 
<b>Здравей, Свят и мили ХОРА!</b> 
</BODY> 
</HTML>"; 
?> 
Резултатът от този код ще бъде абсолютно същия. 
11 декември 2014 9
???!!! 
 Обратната наклонена черта; 
 ="Content-Type" CONTENT="text/html; charset=UTF-8“; 
 Два начина на запис; 
 echo ("<b>Здравей, свят!</b>"); 
 echo ('<b>Здравей, свят!</b>'); 
 Parse error: 
 echo ("<b>Този скрипт се казва "Здравей, свят!"</b>") 
 Без “Parse error” - обратната наклонена черта; 
 echo ("<b>Този скрипт се казва "Здравей, свят!"</b>"); 
 Обратно наклонената черта - може да послужи и за 
вкарване на нов ред (n ), на табулация (t) и др. 
 Коментари; 
 За ред ---- // 
 За Блок ---- /*......*/ 
11 декември 2014 10
Коментари 
../uroci/t1/ex4.php 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
<meta name="generator" content="PSPad editor, www.pspad.com"> 
<title>ДАТА</title> 
</head> 
<body> 
<?php 
/* Този скрипт ще изпише на екрана коя е датата днес. 
Затова ще използваме функцията date(), за да я разберем.*/ 
$today = date("Y-m-d"); 
//А сега ще изпишем датата. 
echo "<CENTER><h1>Днес е: $today.<h1></CENTER>"; 
//И това е всичко. 
?> 
</body> 
</html> 
11 декември 2014 11
Усложняване на 
примера 
../uroci/t1/ex5.php 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
<meta name="generator" content="PSPad editor, www.pspad.com"> 
<title>WWW</title> 
</head> 
<BODY> 
<?php 
$data=date("d-m-Y"); 
$chas=date("H:i:s"); 
$browser=getenv('HTTP_USER_AGENT'); 
$ref=getenv('REMOTE_ADDR'); 
echo ("<b>Здравейте,<br><br>Добре дошли в моя сайт!</b><br>"); 
echo ("Сега е $chas часа, по моя часовник на $data, а Вие дойдохте тук от $ref с 
$browser"); 
?> 
</BODY> 
<HTML> 
11 декември 2014 12
Като обобщение 
 Предимства на 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 
11 декември 2014 13
Като обобщение 
 Недостатъци на PHP: 
 В по-старите версии на езика по подразбиране съществува функционалност, 
чрез която крайните потребители могат да подават направо променливи към 
PHP скрипта (register_globals). Настройката по подразбиране е премахната от 
версия 4.2.0, но съществуват все още много стари приложения, които 
предполагат употребата на тази функция. 
 PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в PHP 6. 
 PHP не поддържа именни пространства - т.е. всички функции се намират в едно 
именно пространство. 
 Съществуват много функции на библиотеки с идентична функционалност. 
 Няма изградена конвенция за именуване и подреждане на аргументите на 
вградените функции в PHP, което прави необходимо постоянно консултиране с 
документация при работа с PHP. 
 PHP няма вградена поддръжка на нишки (threads), което прави обработката на 
големи масиви от данни много трудна: страницата не се зарежда преди целият 
масив от данни да е преработен и ако потребителят прекъсне зареждането й (и 
уеб сървърът разрешава прекъсване на заявката), прекъсва и обработката на 
данните. 
 Обръщенията към неинициализирани променливи и елементи на масив са 
разрешени в PHP, което прави възможно допускането на трудни за откриване 
правописни грешки. 
11 декември 2014 14
Като допълнение – малко HTML 
http://www.w3schools.com/tags/default.asp ----tags 
HTML Forms – Basic Tags 
<form action="demo_form.asp" method="post/get"> <input type="text" 
name="email" size="40" maxlength="50"> 
<input type="password"> 
<input type="checkbox" checked="checked"> 
<input type="radio" checked="checked"> 
<input type="submit" value="Send"> 
<input type="reset"> 
<input type="hidden"> 
<select> 
<option>Apples</option> 
<option selected="selected">Bananas</option> 
<option>Cherries</option> 
</select> 
<textarea name="comment" rows="60" cols="20"></textarea> 
</form> 
11 декември 2014 15
Като допълнение – малко HTML(2) 
 HTML Basic Document 
<!DOCTYPE html> 
<html> 
<head> 
<title>Title of document goes 
here</title> 
</head> 
<body> 
Visible text goes here... 
</body> </html> 
 Basic Tags 
<h1>Largest Heading</h1> 
<h2> . . . </h2> 
<h3> . . . </h3> 
<h4> . . . </h4> 
<h5> . . . </h5> 
<h6>Smallest Heading</h6> 
<p>This is a paragraph.</p> 
<br> (line break) 
<hr> (horizontal rule) 
<!-- This is a comment --> 
11 декември 2014 16
Като допълнение – малко HTML(3) 
 Formatting 
<b>Bold text</b> 
<code>Computer code</code> 
<em>Emphasized text</em> 
<i>Italic text</i> 
<kbd>Keyboard input</kbd> 
<pre>Preformatted text</pre> 
<small>Smaller text</small> 
<strong>Important text</strong> 
<abbr> (abbreviation) 
<address> (contact information) 
<bdo> (text direction) 
<blockquote> (a section quoted from 
another source) 
<cite> (title of a work) 
<del> (deleted text) 
<ins> (inserted text) 
<sub> (subscripted text) 
<sup> (superscripted text) 
 Styles/Sections 
<style type="text/css"> 
h1 {color:red;} 
p {color:blue;} 
</style> 
<div>A block-level section in a 
document</div> 
<span>An inline section in a 
document</span> 
11 декември 2014 17
Като допълнение – малко HTML(4) 
 Links 
Ordinary link: <a href="http://www.example.com/">Link-text goes 
here</a> 
Image-link: <a href="http://www.example.com/"><img src="URL" 
alt="Alternate Text"></a> 
Mailto link: <a href="mailto:webmaster@example.com">Send e-mail</ 
a> 
Bookmark: 
<a id="tips">Tips Section</a> 
<a href="#tips">Jump to the Tips Section</a> 
 Images 
<img src="URL" alt="Alternate Text" height="42" width="42"> 
11 декември 2014 18
Като допълнение – малко HTML(5) 
 Unordered list 
<ul> 
<li>Item</li> 
<li>Item</li> 
</ul> 
 Ordered list 
<ol> 
<li>First item</li> 
<li>Second item</li> 
</ol> 
 Definition list 
<dl> 
<dt>Item 1</dt> 
<dd>Describe item 1</dd> 
<dt>Item 2</dt> 
<dd>Describe item 2</dd> 
</dl> 
 Tables 
<table border="1"> 
<tr> 
<th>table header</th> 
<th>table header</th> 
</tr> 
<tr> 
<td>table data</td> 
<td>table data</td> 
</tr> 
</table> 
11 декември 2014 19
Литература 
 Official website -- http://www.php.net/; 
 PHP at the Open Directory Project -- 
http://www.dmoz.org/Computers/Programming/Languages/PHP/ 
; 
 PHP Reference Manual ­-- 
http://www.php.net/manual/en/index.php; 
 PHP CLI (Command Line Interface) web site -- http://www.php-cli. 
com/; 
 PHP Tutorial -- http://phpforms.net/tutorial/tutorial.html; 
 PHP overview -- 
http://www.macosnext.com/component/content/article/2320.html 
; 
11 декември 2014 20

B1 t1 php_basics

  • 1.
  • 2.
    съдържание  историятана PHP;  основните концепции;  цели на програмирането с PHP;  някои предимства;  недостатъци;  и особености на PHP. 11 декември 2014 2
  • 3.
    основни въпроси Основни свойства на PHP. Синтаксис;  Особености на PHP – предимства и недостатъци. 11 декември 2014 3
  • 4.
    1.Основни свойства на PHP. Синтаксис  1994 година Размус Лердорф - скриптов език, “Personal Home Page Tools”;  за създаване на интерактивни и динамични web сайтове;  гъвкав, компактен, лесен за изучаване и използване, предлагащ всички възможности за създаване на динамичен, съвременен сайт.  По късно - “Hypertext Preprocessor”;  но основната идея - простотата на използване е запазена;  може би???-- най-лесния език за изучаване и прилагане. 11 декември 2014 4
  • 5.
    1.Основни свойства на PHP. Синтаксис <?php echo "Здравейте"; ?>  програмните езици:  скриптови;  и компилируеми;   client side(JS) и server side (PHP). 11 декември 2014 5
  • 6.
    2.Особености на PHP– предимства и недостатъци  Предимства:  гъвкавост при включване в HTML документи;  най-голяма е близостта със C (смесица от Perl, Java и C );  удобни възможности за изпълняване на сложни математически изчисления;  изпълняване на мрежови функции;  възможностти за обработка на електронна поща;  работа с обикновени изрази и други.  най-голямата сила на PHP е във възможностите му за работа с бази данни  MySQL, PostgreSQL, Oracle, Sybase, mSQL и други. 11 декември 2014 6
  • 7.
    Първият скрипт ../uroci/t1/ex2.php <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <TITLE>Здравейте!</TITLE> </HEAD> <BODY> Първият ми PHP скрипт<br> <?php echo ('<h2>Здравей, Свят и мили Хора! </h2>'); 11 декември 2014 7 ?> </BODY> </HTML>  запишете този файл (като ex2.php);  Сложете го на сървър, поддържащ PHP;  Извикайте го в браузъра си.  Резултатът е – поздравлението.
  • 8.
    ???!!!  Примерътдемонстрира как може да се вгради скриптовия код в HTML.  PHP кодът се поставя между <?php ….. и ?>;  Така сървърът разбира, че трябва да подаде това съдържание на интерпретатора за PHP;  друг вариант - <? ...?>.  всяка инструкция трябва да завършва с точка и запетая;  за да изпишете текст на екрана - вградените функции echo или print;  изразите в PHP се ограждат с единични - ‘’ или двойни - “” кавички. 11 декември 2014 8
  • 9.
    ..обратната задача ../uroci/t1/ex3.php  всичко, което подадем като аргумент на echo ще бъде изведено на екрана (вграждане на HTML): <?php echo "<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <TITLE>Здравей, свят!</TITLE> </HEAD> <BODY> Първият ми PHP скрипт<br><br> <b>Здравей, Свят и мили ХОРА!</b> </BODY> </HTML>"; ?> Резултатът от този код ще бъде абсолютно същия. 11 декември 2014 9
  • 10.
    ???!!!  Обратнатанаклонена черта;  ="Content-Type" CONTENT="text/html; charset=UTF-8“;  Два начина на запис;  echo ("<b>Здравей, свят!</b>");  echo ('<b>Здравей, свят!</b>');  Parse error:  echo ("<b>Този скрипт се казва "Здравей, свят!"</b>")  Без “Parse error” - обратната наклонена черта;  echo ("<b>Този скрипт се казва "Здравей, свят!"</b>");  Обратно наклонената черта - може да послужи и за вкарване на нов ред (n ), на табулация (t) и др.  Коментари;  За ред ---- //  За Блок ---- /*......*/ 11 декември 2014 10
  • 11.
    Коментари ../uroci/t1/ex4.php <!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title>ДАТА</title> </head> <body> <?php /* Този скрипт ще изпише на екрана коя е датата днес. Затова ще използваме функцията date(), за да я разберем.*/ $today = date("Y-m-d"); //А сега ще изпишем датата. echo "<CENTER><h1>Днес е: $today.<h1></CENTER>"; //И това е всичко. ?> </body> </html> 11 декември 2014 11
  • 12.
    Усложняване на примера ../uroci/t1/ex5.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title>WWW</title> </head> <BODY> <?php $data=date("d-m-Y"); $chas=date("H:i:s"); $browser=getenv('HTTP_USER_AGENT'); $ref=getenv('REMOTE_ADDR'); echo ("<b>Здравейте,<br><br>Добре дошли в моя сайт!</b><br>"); echo ("Сега е $chas часа, по моя часовник на $data, а Вие дойдохте тук от $ref с $browser"); ?> </BODY> <HTML> 11 декември 2014 12
  • 13.
    Като обобщение Предимства на 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 11 декември 2014 13
  • 14.
    Като обобщение Недостатъци на PHP:  В по-старите версии на езика по подразбиране съществува функционалност, чрез която крайните потребители могат да подават направо променливи към PHP скрипта (register_globals). Настройката по подразбиране е премахната от версия 4.2.0, но съществуват все още много стари приложения, които предполагат употребата на тази функция.  PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в PHP 6.  PHP не поддържа именни пространства - т.е. всички функции се намират в едно именно пространство.  Съществуват много функции на библиотеки с идентична функционалност.  Няма изградена конвенция за именуване и подреждане на аргументите на вградените функции в PHP, което прави необходимо постоянно консултиране с документация при работа с PHP.  PHP няма вградена поддръжка на нишки (threads), което прави обработката на големи масиви от данни много трудна: страницата не се зарежда преди целият масив от данни да е преработен и ако потребителят прекъсне зареждането й (и уеб сървърът разрешава прекъсване на заявката), прекъсва и обработката на данните.  Обръщенията към неинициализирани променливи и елементи на масив са разрешени в PHP, което прави възможно допускането на трудни за откриване правописни грешки. 11 декември 2014 14
  • 15.
    Като допълнение –малко HTML http://www.w3schools.com/tags/default.asp ----tags HTML Forms – Basic Tags <form action="demo_form.asp" method="post/get"> <input type="text" name="email" size="40" maxlength="50"> <input type="password"> <input type="checkbox" checked="checked"> <input type="radio" checked="checked"> <input type="submit" value="Send"> <input type="reset"> <input type="hidden"> <select> <option>Apples</option> <option selected="selected">Bananas</option> <option>Cherries</option> </select> <textarea name="comment" rows="60" cols="20"></textarea> </form> 11 декември 2014 15
  • 16.
    Като допълнение –малко HTML(2)  HTML Basic Document <!DOCTYPE html> <html> <head> <title>Title of document goes here</title> </head> <body> Visible text goes here... </body> </html>  Basic Tags <h1>Largest Heading</h1> <h2> . . . </h2> <h3> . . . </h3> <h4> . . . </h4> <h5> . . . </h5> <h6>Smallest Heading</h6> <p>This is a paragraph.</p> <br> (line break) <hr> (horizontal rule) <!-- This is a comment --> 11 декември 2014 16
  • 17.
    Като допълнение –малко HTML(3)  Formatting <b>Bold text</b> <code>Computer code</code> <em>Emphasized text</em> <i>Italic text</i> <kbd>Keyboard input</kbd> <pre>Preformatted text</pre> <small>Smaller text</small> <strong>Important text</strong> <abbr> (abbreviation) <address> (contact information) <bdo> (text direction) <blockquote> (a section quoted from another source) <cite> (title of a work) <del> (deleted text) <ins> (inserted text) <sub> (subscripted text) <sup> (superscripted text)  Styles/Sections <style type="text/css"> h1 {color:red;} p {color:blue;} </style> <div>A block-level section in a document</div> <span>An inline section in a document</span> 11 декември 2014 17
  • 18.
    Като допълнение –малко HTML(4)  Links Ordinary link: <a href="http://www.example.com/">Link-text goes here</a> Image-link: <a href="http://www.example.com/"><img src="URL" alt="Alternate Text"></a> Mailto link: <a href="mailto:webmaster@example.com">Send e-mail</ a> Bookmark: <a id="tips">Tips Section</a> <a href="#tips">Jump to the Tips Section</a>  Images <img src="URL" alt="Alternate Text" height="42" width="42"> 11 декември 2014 18
  • 19.
    Като допълнение –малко HTML(5)  Unordered list <ul> <li>Item</li> <li>Item</li> </ul>  Ordered list <ol> <li>First item</li> <li>Second item</li> </ol>  Definition list <dl> <dt>Item 1</dt> <dd>Describe item 1</dd> <dt>Item 2</dt> <dd>Describe item 2</dd> </dl>  Tables <table border="1"> <tr> <th>table header</th> <th>table header</th> </tr> <tr> <td>table data</td> <td>table data</td> </tr> </table> 11 декември 2014 19
  • 20.
    Литература  Officialwebsite -- http://www.php.net/;  PHP at the Open Directory Project -- http://www.dmoz.org/Computers/Programming/Languages/PHP/ ;  PHP Reference Manual ­-- http://www.php.net/manual/en/index.php;  PHP CLI (Command Line Interface) web site -- http://www.php-cli. com/;  PHP Tutorial -- http://phpforms.net/tutorial/tutorial.html;  PHP overview -- http://www.macosnext.com/component/content/article/2320.html ; 11 декември 2014 20