b1 t1 php_basics
TRANSCRIPT
Общи сведения за PHP
Тема 1
15 април 2023 2
съдържание
историята на PHP; основните концепции; цели на програмирането с PHP; някои предимства; недостатъци; и особености на PHP.
15 април 2023 3
основни въпроси
Основни свойства на PHP. Синтаксис;
Особености на PHP – предимства и недостатъци.
15 април 2023 4
1.Основни свойства на PHP. Синтаксис 1994 година Размус Лердорф - скриптов
език, “Personal Home Page Tools”; за създаване на интерактивни и динамични
web сайтове; гъвкав, компактен, лесен за изучаване и
използване, предлагащ всички възможности за създаване на динамичен, съвременен сайт.
По късно - “Hypertext Preprocessor”; но основната идея - простотата на използване е
запазена; може би???-- най-лесния език за изучаване
и прилагане.
15 април 2023 5
1.Основни свойства на PHP. Синтаксис
<?phpecho "Здравейте";?>
програмните езици: скриптови; и компилируеми;
client side(JS) и
server side (PHP).
15 април 2023 6
2.Особености на PHP – предимства и недостатъци Предимства:
гъвкавост при включване в HTML документи; най-голяма е близостта със C (смесица от Perl,
Java и C ); удобни възможности за изпълняване на сложни
математически изчисления; изпълняване на мрежови функции; възможностти за обработка на електронна поща; работа с обикновени изрази и други.
най-голямата сила на PHP е във възможностите му за работа с бази данни
MySQL, PostgreSQL, Oracle, Sybase, mSQL и други.
15 април 2023 7
Първият скрипт ../uroci/t1/ex2.php
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=UTF-8"><TITLE>Здравейте!</TITLE></HEAD>
<BODY>Първият ми PHP скрипт<br>
<?phpecho ('<h2>Здравей, Свят и мили
Хора!</h2>');?>
</BODY>
</HTML>
запишете този файл (като ex2.php);
Сложете го на сървър, поддържащ PHP;
Извикайте го в браузъра си.
Резултатът е –поздравлението.
15 април 2023 8
???!!! Примерът демонстрира как може да се
вгради скриптовия код в HTML.
PHP кодът се поставя между <?php ….. и ?>; Така сървърът разбира, че трябва да подаде това
съдържание на интерпретатора за PHP; друг вариант - <? ...?>. всяка инструкция трябва да завършва с точка и
запетая; за да изпишете текст на екрана - вградените
функции echo или print; изразите в PHP се ограждат с единични - ‘’ илидвойни - “” кавички.
15 април 2023 9
..обратната задача ../uroci/t1/ex3.php
всичко, което подадем като аргумент на echo ще бъде изведено на екрана (вграждане на HTML):
<?phpecho "<HTML><HEAD><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-
8\"><TITLE>Здравей, свят!</TITLE></HEAD><BODY>Първият ми PHP скрипт<br><br><b>Здравей, Свят и мили ХОРА!</b></BODY></HTML>";?>
Резултатът от този код ще бъде абсолютно същия.
15 април 2023 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) и др. Коментари;
За ред ---- // За Блок ---- /*......*/
15 април 2023 11
Коментари../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>
15 април 2023 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>
15 април 2023 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
15 април 2023 14
Като обобщение Недостатъци на PHP:
В по-старите версии на езика по подразбиране съществува функционалност, чрез която крайните потребители могат да подават направо променливи към PHP скрипта (register_globals). Настройката по подразбиране е премахната от версия 4.2.0, но съществуват все още много стари приложения, които предполагат употребата на тази функция.
PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в PHP 6.
PHP не поддържа именни пространства - т.е. всички функции се намират в едно именно пространство.
Съществуват много функции на библиотеки с идентична функционалност. Няма изградена конвенция за именуване и подреждане на аргументите
на вградените функции в PHP, което прави необходимо постоянно консултиране с документация при работа с PHP.
PHP няма вградена поддръжка на нишки (threads), което прави обработката на големи масиви от данни много трудна: страницата не се зарежда преди целият масив от данни да е преработен и ако потребителят прекъсне зареждането й (и уеб сървърът разрешава прекъсване на заявката), прекъсва и обработката на данните.
Обръщенията към неинициализирани променливи и елементи на масив са разрешени в PHP, което прави възможно допускането на трудни за откриване правописни грешки.
15 април 2023 15
Като допълнение – малко HTMLhttp://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>
15 април 2023 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 -->
15 април 2023 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>
15 април 2023 18
Като допълнение – малко HTML(4)
LinksOrdinary 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:[email protected]">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">
15 април 2023 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>
15 април 2023 20
Литература 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;