Понеделник, 11 Декември 2023г.
Базов синтаксис. Изпращане на данни към браузъра. Писане на коментари
чуй новината

РНР е език за скриптове, вграден в HTML, което означава, че можете да смесвате РНР и HTML код в един и същи файл. Така че, за да започнете да програмирате с РНР, започнете с проста Web страница. Скрипт 1.1 е пример за HTML5 документ без украшения и съдържание, който ще се използва като основата за повечето Web страници в  разглежда формално HTML5; вижте ресурс, посветен на тази тема за повече информация). Моля, отбележете също така, че шаблонът използва кодиране UF-8, тема, разгледана в следващото странично каре.

За да добавите РНР код към страницата, поставете го между етикети за РНР:

<?php

?>

Скрипт 1.1 Базова HTML5 страница

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Page Title</title>
  6. </head>
  7. <body>
  8. <!-- Script 1.1 - template html - ->
  9. </body>
  10. </html>

Запознаване с кодирането
Кодирането е обширна тема, но това, което трябва да разберете най-вече е следното: кодирането, което използвате в един файл, диктува какви символи могат да бъдат представени (и следователно, какви езици могат да бъдат използвани). За да селектирате кодиране, трябва първо да потвърдите, че текстовият ви редактор или интегрираната среда за разработване (IDE) - това приложение, което използвате за създаване на HTML и РНР скриптове - може да запише документите с използване на това кодиране. Някои приложения ви позволяват да зададете кодирането в зоната за предпочитания или опции; други задават кодирането, когато записвате файла.
За да посочите кодирането на браузъра, ето съответния meta етикет: cmeta charset="utf-8">
Частта charset=utf-8 казва, че се използва кодиране UTF-8, съкратено за 8-битов формат за трансформации Unicode. Unicode е начин за надеждно представяне на всеки символ от всяка азбука. Версия 9.0.0 на Unicode

- поддържа над 128 000 символа!
Ако искате да създадете многоезична Web страница, начинът ви за работа е UTF-8.

Скрипт 1.2. Този първи РНР скрипт не върши нищо, но демонстрира как се пише скрипт на РНР. Той също така ще бъде «ползван като тестов скрипт, преди да -•авлезем в усложнения код на РНР.
1    <!doctype html>
2    <html lang="en''>
3    <head>
4    <meta charset="utf-8">
5    <title>Basic PHP Page</ title>
6    </head>
7    <body>
8    <!-- Script 1.2 - first.php - - >
9    <p>This is standard HTML.</ P>
10    <?php
11    ?>
12    </body>
13    </html>

Всичко, написано между тези етикети, ще бъде третирано от Web сървъра като РНР, което означава, че кодът ще се обработва от интерпретаторът за РНР. Всеки текст, който е извън от РНР етикетите, се изпраща незабавно към браузъра като обикновен HTML. Тъй като РНР най-често се използва за създаване на съдържание, извеждано в браузъра, етикетите на РНР обикновено се поставят някъде в тялото на страницата.
Освен поставянето на РНР код между РНР етикетите, вашите РНР файлове трябва да имат и съответно разширение. Разширението указва на сървъра да третира скрипта по специален начин - и поточно, като РНР страница. Повечето Web сървъри използват .html за стандартни HTML страници и .php за РНР файлове.
Преди да навлезем в стъпките разберете, че трябва предварително да имате работеща РНР инсталация1. Това би могло да бъде в поместен сайт или на собствения ви компютър, след като изпълните инструкциите от Приложение А, „Инсталация".
За да направите базов РНР скрипт:
1. Създайте нов документ в текстовия си редактор или ЮЕ, който ще наречете first.php (Скрипт 1.2).
Обикновено няма значение какво приложение използвате, било то Adobe Dreamweaver (модерна IDE), Sublime Text (чудесен и популярен редактор на гладък текст) или vi (редактор на гладък текст под Unix, който няма графичен интерфейс). Въпреки това някои текстови редактори и IDE правят писането и отстраняването на бъгове от HTML и РНР по-лесно (за разлика от тях, Notepad под Windows прави някои неща, които затрудняват кодирането: не използвайте Notepad!) 

2.    Създайте базов HTML документ:
<!doctype html>
<html lang="en">
<head>
<meta charset="ut£-8">
<title>Basic PHP Page</title> </head>
<body>
<!-- Script 1.2 - first.php
<p>This is standard HTML.</p> </body>
</html>

Това е базова страница на HTML5. Едно от хубавите неща в HTML5 е неговото минимално въвеждане на документ и синтаксис.
3.    Преди затварящият етикет body, поставете етикетите РНР:
<?php
?>
Това са формалните РНР етикети, познати и като етикети в стил XML. Въпреки че РНР поддържа и други типове етикети, препоръчвам да използвате формалния тип.
4.    Запишете файла като first.php. Запомнете, че ако не запишете файла с използване на правилното разширение РНР, скриптът няма да се изпълни правилно. (Само една от причините да не използвате Notepad е в това, че той тайничко добавя разширение .txt към РНР файлове, като по този начин причинява много главоболия).
5.    Поставете файла в съответната директория на вашия Web сървър.
Ако използвате РНР на собствения си компютър (предполагайки, че сте изпълнили указанията за инсталация от Приложение А), просто трябва да преместите, копирате или запишете файла в конкретна папка на компютъра си. Проверете в Приложение А или документацията за конкретния ви Web сървър, за да идентифицирате правилната директория, ако още не знаете коя е тя.
Ако използвате РНР в поместващ сървър (например на отдалечен компютър), ще трябва да използвате приложение Secure File Transfer Protocol (SFTP), за да качите файла в съответната директория. Поместващата ви компания ще ви осигури достъп и цялата останала необходима ви информация.
6.    Изпълнете first.php в браузъра си (А). Тъй като скриптовете РНР трябва да бъдат разбивани от сървъра, вие задължително трябва да имате достъп до тях чрез URL (например, адресът в браузъра трябва да започва с http:// или https://). Не можете просто да ги отворите в браузъра си, както бихте направили с файл в други приложения (в който случай адресът би започвал с file:// или С:\ или нещо подобно).
---------------------------------------------


This is standard HTML.

------------------------------------------
(A) Въпреки че прилича на всяка друга проста HTML страница, това е всъщност скрипт на РНР, и основата за останалата част от примерите
Ако изпълнявате РНР на собствения си компютър, ще трябва да използвате URL като http://localhost/ first.php, http://127.0.0.1 /first.php или http://localhost/~<user>/first. php (в macOS, като използвате действителното си потребителско име за <user>). Ако използвате поместен сайт, ще трябва да използвате http://yourdomain-name/


first.php (например, http://www. example.com/first.php).
7. Ако не виждате резултати като тези от (А), започнете да отстранявате бъгове!
Част от изучаването на всеки език за програмиране е усвояването на отстраняването на бъгове. Това е понякога болезнен, но абсолютно необходим процес. С този първи пример, ако не видите проста, но напълно валидна, Web страница, следвайте тези стъпки:
A.    Потвърдете, че имате работеща РНР инсталация (вижте в Приложение А за инструкции за проверка).
B.    Проверете дали стартирате скрипта през URL. Адресът в браузъра трябва да започва с http. Ако започва с file://, това е проблем (В).
 
С.    Ако получите грешка за неоткрит файл (или подобна на нея), вероятно сте поставили файла в друга директория или сте допуснали грешка при въвеждането на името на файла (или при записването му, или във браузъра си).
А
За да откриете повече информация за HTML, проверете в отличната HTML and CSS: Visual QuickStart Guide (Peachpit, 2013) на Елизабет Кастро, или
Можете да вложите много части от РНР код в един HTML документ (например, можете да преминавате между единия и другия език). Ще видите подобни примери
Можете да декларирате кодирането на външен CSS файл, като добавите @charset "utf-8"; като първи ред във файла. Ако не използвате UTF-8, променете този ред съответно.
 

Изпращане на данни към браузъра
За да създадете динамични Web сайтове с РНР, трябва да знаете как да изпращате данните към браузъра. РНР има множество вградени функции за тази цел; най-често използваните са echo и print. Аз предпочитам echo: echo 'Hello, world!'; echo "What's new?";
Бихте могли да използвате вместо това print, ако предпочитате (името по-оче- видно посочва какво върши тя):
print 'Hello, world!'; print "What's new?";
Както можете да видите от тези примери, можете да използвате или единични, или двойни кавички (но има разлика между двата типа кавички, която ще поясня към края на тази глава). Първата кавичка след името на функцията посочва началото на съобщението, което ще се отпечатва. Следващата съответстваща кавичка (например, следващата кавичка от същия тип като отварящата кавичка) посочва края на отпечатваното съобщение.
Заедно с научаването как да изпращате данни към браузъра, би трябвало също така да сте забелязали, че в РНР всички оператори - ред от изпълнимия код, според терминологията на лаиците - трябва да завършват с точка и запетая. Освен това РНР е независещ от главни и малки букви, когато става въпрос за имената на функциите, така че ECHO, echo, еСНо и т.н. работят еднакво. Разбира се, версията с изцяло малки букви е най-лесна за въвеждане.
 
Нужда от отмяна
Както може да откриете, едно от усложненията с изпращането на данни в браузъра включва поставянето на единични и двойни кавички. И двата долни израза ще предизвикат грешка: echo “She said, "How are you?""; echo 'I'm just ducky.';
Този проблем има две решения. Първо използвайте единични кавички, когато поставяте двойна кавичка, и обратно: echo 'he said, "How are you?"'; echo "I'm just ducky.";
Или можете да отмените проблемния символ, като поставите пред него обратна наклонена черта: echo "She said, V'How are you?\""; echo 'l\'m just ducky.';
Отменената кавичка просто ще бъде отпечатана като всеки друг символ. Разбирането на употребата на обратната наклонена черта за отмяна на символ е важна концепция, и тя ще бъде разгледана по-задълбочено в края на тази глава.

Сврипт 1.3 Като използва print или echo, може да изпраща данни в браузъ

1    <!doctype html>
2    <html lang="en">
3    <head>
4    <meta charset="utf-8">
5    <title>Using Echo</title>
6    </head>

7    <body>
8    <!-- Script 1.3 - second.
    php--->
9    <p>This is standard HTML.</p>
10    <?php
11    echo 'This was generated using PHP' ,
12    ?>
13    </body>
14    </html>

---------------------------------------------------------------

This is standard HTM

This was generated using PHP

-------------------------------------------------------------

(A) Резултатите все още не са блестящи, но тази страница беше отчасти динамично генерирана от РНР.

За да изпратите данни към браузъра:
1.    Отворете first.php (вижте Скрипт 1.2) в текстовия си редактор или IDE.
2.    Между етикетите РНР (редове 10
и 11), добавете просто съобщение (Скрипт 1.3):
echo 'This was generated using PHP!';
Всъщност няма значение какво съобщение сте въвели там, коя функция използвате (echo или print) или какви кавички, в смисъл - само внимавайте ако отпечатвате единична или двойна кавичка като част от съобщението ви (вижте карето „Нужда от отмяна").
3.    Ако искате, промените заглавието на страницата, така че по-добре да описва скрипта (ред 5):
<title> Using Echo</title>
Тази промяна засяга само заглавния ред на прозореца на браузъра.
4.    Запишете файла като second.php, поставете го във вашата Web директория, и го тествайте в браузъра си (А).
Запомнете, че всички РНР скриптове трябва да работят през URL (http:// нещо_си)!
 

5. Ако е необходимо, отстранете бъго-вете в скрипта.
Ако видите грешка от разбор вместо вашето съобщение (В), проверете дали сте отворили и сте затворили кавичките и сте отменили всички проблемни символи (вижте карето). Освен това проверете дали сте приключили всеки оператор с точка и запетая.
Ако видите напълно празна страница, това се дължи вероятно на една от следните две причини:
> Има проблем с вашия HTML. Проверете, като прегледате източника на страницата си и потърсите там за проблеми с HTML (С).
> Възникнала е грешка, но display_ errors е изключено в конфигурацията ви на РНР, така че нищо не се извежда. В този случай, вижте раздела от Приложение А за това как да конфигурирате РНР, така че да може отново да включите display_errors.
СЪВЕТ
Технически echo и print са езикови конструкции, а не функции. Като се има предвид това, не се притеснявайте от това, че ще продължа да ги наричам „функции" за удобство. Освен това, както ще видите по-долу , включвам скобки, когато означавам функции - да кажем, number_format(), а не просто number_format, за да ви помогна да ги разграничавате от променливи и други части на РНР. Това е просто моя собствена малка конвенция.
Можете, и често ще, използвате echo и print за изпращане на HTML код към браузъра, например така (D): echo ,<p>Hello, <strong>world</ strong>!</p>';

 

Писане на коментари
Създаването на изпълним РНР код е само част от процеса на програмиране (неоспоримо това е най-важната част). Вторият, но все още критичен аспект на всяко програмно начинание е документирането на вашия код.
В HTML можете да добавите коментари с използване на специални етикети:
<! -- Тук се помества коментар. —>
РНР коментарите се различават по това, че те изобщо не се изпращат в браузъра, което означава, че няма да бъдат видими за крайния потребител, даже и когато той разглежда основния код на HTML.
# Това е коментар.
Вторият използва две наклонени черти: // Това също е коментар.
И двата карат РНР да игнорира всичко, което следва, до края на реда (където натискате Return или Enter). Следователно тези два коментара са само за един ред. Те също често се използват за поставяне на коментар върху един и същи ред с някакъв РНР код: print 'Hello!'; // Say hello. Трети стил позволява коментарите да продължават върху няколко реда: /*Това е по-дълъг коментар който продължава на два реда*/
РНР поддържа три синтаксиса за коментари. Първият използва знака диез или хаш (#):
Запознаване с празните пространства
С РНР изпращате данни - например HTML етикети и текст - към браузъра, който, на свой ред, визуализира тези данни като Web страницата, която се вижда от крайния потребител. Следователно, това, което често правите с РНР е създаването на HTML източник на Web страница. Като имате това предвид, съществуват три области от забележимо празно пространство (допълнителни пространства, табулации и празни редове): във вашите РНР скриптове, в основния ви HTML код и във визуализираната Web страница. Обикновено РНР не обръща внимание на празното пространство, което означава, че можете да поставяте празни места в кода си така както искате, за да направите скрип-товете си по-четливи. HTML също обикновено не обръща внимание на празните места. По-точно, единственото празно място в HTML, което засяга визуализираната страница, е единичният интервал (няколко интервала пак се визуализират като един). Ако вашият HTML източник има текст на няколко реда, това не означава, че той ще се появи на няколко реда във визуализираната страница ((E) и (F)).
За да промените разстоянията във визуализирана Web страница, използвайте HTML етикетите <br> (прекъсване на ред) и <рх/р> (абзац). За да промените разстоянията на изходния HTML, създаден с РНР, можете
Да използвате echo или print върху няколко реда или
Да отпечатате символ за нов ред (\п) вътре в двойните кавички, което е еквивалентно на Enter или Return.

Скрипт 1.4 Тези основни коментари лемонстрират трите синтаксиса за коментар, които можете да използвате в РНР.
i 1    <!doctype html>
2    chtml lang=''en''>
3    <head>
4    cmeta charset = "utf-8">
5    ctitle>Commentsc/title>
е    c/head>
7    cbody>
8    c?php
9    
10    # Script 1.4 - comments.php
11    # Created March 16, 2011
12    # Created by Larry E. Ullman
13    # This script does nothing much.
14    
15    echo 'cp>This is a line of text.cbr>This is another line of text.c/p>1;
16    
17    /*
18    echo 'This line will not be
    executed.1/
19    */
20    
21    echo "<p>Now I'm done.</p>"; // End of PHP code.
22    
23    ?>
24    c/body>
25    c/html>
За да коментирате скриптовете си:
1. Започнете нов РНР документ в текстовия си редактор или IDE, който да бъде наречен comment.php, като започнете с първоначалния HTML (Скрипт 1.4).
cldoctype html>
•chtml lang="en">
<head>
cmeta charset = "utf-8"> <title>Comments</title> </head>
<body>
Добавете първоначалния РНР етикет и напишете първите си коментари:
<?php
#    Script 1.4 - comments.php
#    Created April 23, 2017
#    Created by Larry E. Ullman
#    This script does nothing much.
Един от първите коментари, които съдържа всеки скрипт, е въвеждащ блок, посочващ датата на създаването, датата на промяната, създател, информацията за връзка със създателя, предназначение на скрипта и т.н. Някои хора предполагат, че коментарите в стил мида (#) изпъкват по-добре в скрипта и следователно са най-добри за този тип маркировки.