Відмінності між версіями «4 Основи PHP»
(Створена сторінка: PHP відноситься до PHP Hypertext Preprocessor. Це серверна мова сценаріїв, впроваджена в HTML-документах...) |
Vorobel (Обговорення • внесок) м |
||
(3 проміжні версії 3 користувачів не показані) | |||
Рядок 1: | Рядок 1: | ||
− | |||
PHP відноситься до PHP Hypertext Preprocessor. Це серверна мова сценаріїв, впроваджена в HTML-документах. Тільки вихід із сценаріїв відправляється наклієнта. Кінцеві користувачі не бачать сценарій. | PHP відноситься до PHP Hypertext Preprocessor. Це серверна мова сценаріїв, впроваджена в HTML-документах. Тільки вихід із сценаріїв відправляється наклієнта. Кінцеві користувачі не бачать сценарій. | ||
PHP є широко використовуваною мовою для динамічної веб-розробки. Наприклад, якщо ви хочете вести облік оцінки користувачів і забезпечити зворотний зв'язок, виможете зробити це за допомогою кількох рядків коду. | PHP є широко використовуваною мовою для динамічної веб-розробки. Наприклад, якщо ви хочете вести облік оцінки користувачів і забезпечити зворотний зв'язок, виможете зробити це за допомогою кількох рядків коду. | ||
− | |||
− | |||
− | |||
− | |||
− | + | '''Базовий синтаксис''' | |
− | + | Весь код PHP повинен бути розміщений всередині <?php і ?>. Оператор '''echo''' виводить текст. Приклад простих PHP-сценаріїв: | |
+ | <pre> | ||
+ | <?php | ||
+ | $a = 1; | ||
+ | echo $a; | ||
?> | ?> | ||
+ | </pre> | ||
− | відображатиме значення $, що становить 1 | + | Даний код відображатиме значення $a, що становить 1. |
− | <? | + | <pre> |
+ | <?php | ||
+ | $a = 5; | ||
+ | echo "Цей текст відображається $a = " . $a; | ||
+ | ?> | ||
+ | </pre> | ||
− | + | Даний приклад відображатиме все, що між подвійними лапками в тому числі значеня змінних. | |
− | + | На PHP можна робити різні речі: створювати документи HTML, створювати зображення (будувати графіки, обробляти малюнки), управляти файлами на сервері, працювати з різними базами даних та багато іншого. Але основи PHP одні: код повинен починатися з дескриптора <?php і закінчуватися дескриптором ?>. Текст, розташований між цими дескрипторами, PHP-інтерпретатор буде обробляти як код PHP. | |
− | + | У PHP, як і в інших мовах програмування можна використовувати змінні. Всі імена змінних починаються з символу долара ($), за яким має слідувати один або кілька символів. Імена змінних можуть включати тільки букви, цифри і символ підкреслення. Ім'я змінної має починатися з літери або з символа підкреслення. Імена змінних чутливі до регістру, тобто символи верхнього та нижнього регістрів розрізняються (наприклад, змінні $ t і $ T - це дві різні змінні).Оголошувати змінну можна в будь-якому місці коду, але до першого місця її використання. Наприклад: | |
− | + | <pre> | |
− | + | <?php | |
− | + | $name = "Ім'я"; | |
− | + | $_number = 10; | |
+ | $text = "Тут буде текст, наприклад, 'я вивчаю основи PHP' або ще який-небудь"; | ||
+ | echo ($ text); | ||
+ | ?> | ||
+ | </pre> | ||
− | У PHP | + | У PHP змінну можна не тільки створити, але і видалити. Видаляються змінні за допомогою оператора unset(), наприклад |
− | + | ||
− | + | unset ($var_name); | |
+ | unset ($name, $_number, $text); | ||
− | + | Також в PHP можна використовувати константи. Константи створюються за допомогою оператора define, загальний формат | |
− | + | define ("імя_константи", "значення_константи"); | |
− | + | Наприклад | |
− | + | define ("NAME", "ім'я"); | |
+ | define ("SITE", "www.uk.wikipedia.org"); | ||
+ | define ("NUMBER", 17); | ||
− | + | Є негласна угода відповідно, з яким імена констант записують прописними буквами латинського алфавіту, наприклад, NAME, TEXT, VALUE. Якщо його дотримуватися, то це значно полегшить життя при розробці програм. Константам не можна давати імена, які є ключовими словами PHP (наприклад, імена операторів). | |
+ | В PHP є безліч вбудованих констант, які можна використовувати. Наприклад, __FILE__ (два знака підкреслення до і два знаки підкреслення після) - містить ім'я програми, яка виконується в даний момент; PHP_VERSION - версія PHP. | ||
− | + | PHP-скрипти зазвичай обробляються інтерпретатором в порядку , що забезпечує кросплатформеність розробленого додатка: | |
− | + | 1. Лексичний аналіз вихідного коду і генерація лексем; | |
− | + | 2. Синтаксичний аналіз отриманих лексем; | |
− | + | 3. Генерація байт-коду; | |
+ | 4. Виконання байт-коду інтерпретатором (без створення виконуваного файлу). | ||
− | + | Для збільшення швидкодії додатків можливе використання спеціального програмного забезпечення, так званих акселераторів. Принцип їх роботи полягає в кешуванні одного разу згенерованого байт-коду в пам'яті і/або на диску, таким чином, з процесу роботи додатка виключаються етапи 1-3, що в загальному випадку веде до значного прискорення роботи. | |
− | + | Важливою особливістю є те, що розробнику немає необхідності піклуватися про розподіл і звільнення пам'яті. Ядро PHP реалізує засоби для автоматичного керування пам'яттю; вся виділена пам'ять повертається системі після завершення роботи скрипта. | |
− | |||
− | + | '''Розширення''' | |
− | + | Інтерпретатор складається з ядра і модулів, "розширень", що представляють собою динамічні бібліотеки. Розширення дозволяють доповнити базові можливості мови, надаючи можливості для роботи з базами даних, сокетами, динамічною графікою, криптографічними бібліотеками, документами формату PDF і тому подібним. Будь-який бажаючий може розробити своє власне розширення і підключити його. Існує величезна кількість розширень, як стандартних, так і створених сторонніми компаніями і ентузіастами, проте в стандартне постачання входить лише декілька десятків добре зарекомендували себе. Безліч розширень доступно в репозиторії PECL. | |
− | |||
− | + | '''Параметри настройки''' | |
− | + | Інтерпретатор PHP має спеціальний конфігураційний файл - php.ini, що містить безліч налаштувань, зміна яких впливає на поведінку інтерпретатора.Є можливість відключити використання ряду функцій, змінити обмеження на використовувану скриптом оперативну пам'ять, час виконання, обсяг завантажуваних файлів, налаштувати журналирование помилок , роботу з сесіями і поштовими сервісами, підключити додаткові розширення, а також багато іншого. Під час виконання скрипта ці параметри можуть бути змінені командою ini_set. | |
− | |||
− | В PHP є | + | '''Режими інтерпретатора''' |
+ | |||
+ | Існує кілька способів використання інтерпретатора PHP: | ||
+ | |||
+ | 1. В якості модуля до веб-серверу за допомогою SAPI або ISAPI (наприклад, для Apache модуль mod_php). Веб-сервер запускається із завантаженим модулем і при зверненні до php-скрипту він виконується в оточенні процесу веб-сервера. Це найбільш поширений метод використання PHP в силу більш простої конфігурації. | ||
+ | |||
+ | 2. В якості CGI. У цьому випадку, при виклику скрипта веб-сервер викликає / usr / bin / php-cgi / path / to / script.php. При цьому створюється новий процес і скрипт виконується в оточенні php-cgi, яке, в залежності від налаштувань, може сильно відрізнятися від оточення процесу веб-сервера. Більш сучасними варіантами є FastCGI і SCGI. На відміну від постійного виклику інтерпретатора як в CGI, у FastCGI / SCGI інтерпретатор PHP перезапускається не при кожному запиті, а тільки якщо всі поточні FastCGI-процеси вже в роботі, які звільнившись також не завершаться, а будуть чекати нових завдань. Однак ці процеси опитуються один раз в певний Scan-інтервал, згідно налаштуванням. Процеси, що перевищили час життя, час простою або відпрацювали задану кількість запитів, будуть завершуватися примусово, якщо їх кількість не нижче мінімально зазначеного для класу (віртхоста). | ||
+ | |||
+ | 3. В якості скрипта командного рядка, що є виконуваним файлом, який викликається користувачем з командного рядка; скрипт виконується в оточенні викликав користувача. У цьому випадку можливе використання PHP для створення клієнтських GUI-додатків і вирішення адміністративних завдань в операційних системах UNIX, Linux, Microsoft Windows, Mac OS X і AmigaOS. Однак, в такій якості він не набув поширення, віддаючи пальму першості Perl, Python і VBScript |
Поточна версія на 17:26, 20 червня 2013
PHP відноситься до PHP Hypertext Preprocessor. Це серверна мова сценаріїв, впроваджена в HTML-документах. Тільки вихід із сценаріїв відправляється наклієнта. Кінцеві користувачі не бачать сценарій.
PHP є широко використовуваною мовою для динамічної веб-розробки. Наприклад, якщо ви хочете вести облік оцінки користувачів і забезпечити зворотний зв'язок, виможете зробити це за допомогою кількох рядків коду.
Базовий синтаксис
Весь код PHP повинен бути розміщений всередині <?php і ?>. Оператор echo виводить текст. Приклад простих PHP-сценаріїв:
<?php $a = 1; echo $a; ?>
Даний код відображатиме значення $a, що становить 1.
<?php $a = 5; echo "Цей текст відображається $a = " . $a; ?>
Даний приклад відображатиме все, що між подвійними лапками в тому числі значеня змінних.
На PHP можна робити різні речі: створювати документи HTML, створювати зображення (будувати графіки, обробляти малюнки), управляти файлами на сервері, працювати з різними базами даних та багато іншого. Але основи PHP одні: код повинен починатися з дескриптора <?php і закінчуватися дескриптором ?>. Текст, розташований між цими дескрипторами, PHP-інтерпретатор буде обробляти як код PHP.
У PHP, як і в інших мовах програмування можна використовувати змінні. Всі імена змінних починаються з символу долара ($), за яким має слідувати один або кілька символів. Імена змінних можуть включати тільки букви, цифри і символ підкреслення. Ім'я змінної має починатися з літери або з символа підкреслення. Імена змінних чутливі до регістру, тобто символи верхнього та нижнього регістрів розрізняються (наприклад, змінні $ t і $ T - це дві різні змінні).Оголошувати змінну можна в будь-якому місці коду, але до першого місця її використання. Наприклад:
<?php $name = "Ім'я"; $_number = 10; $text = "Тут буде текст, наприклад, 'я вивчаю основи PHP' або ще який-небудь"; echo ($ text); ?>
У PHP змінну можна не тільки створити, але і видалити. Видаляються змінні за допомогою оператора unset(), наприклад
unset ($var_name); unset ($name, $_number, $text);
Також в PHP можна використовувати константи. Константи створюються за допомогою оператора define, загальний формат
define ("імя_константи", "значення_константи");
Наприклад
define ("NAME", "ім'я"); define ("SITE", "www.uk.wikipedia.org"); define ("NUMBER", 17);
Є негласна угода відповідно, з яким імена констант записують прописними буквами латинського алфавіту, наприклад, NAME, TEXT, VALUE. Якщо його дотримуватися, то це значно полегшить життя при розробці програм. Константам не можна давати імена, які є ключовими словами PHP (наприклад, імена операторів).
В PHP є безліч вбудованих констант, які можна використовувати. Наприклад, __FILE__ (два знака підкреслення до і два знаки підкреслення після) - містить ім'я програми, яка виконується в даний момент; PHP_VERSION - версія PHP.
PHP-скрипти зазвичай обробляються інтерпретатором в порядку , що забезпечує кросплатформеність розробленого додатка:
1. Лексичний аналіз вихідного коду і генерація лексем;
2. Синтаксичний аналіз отриманих лексем;
3. Генерація байт-коду;
4. Виконання байт-коду інтерпретатором (без створення виконуваного файлу).
Для збільшення швидкодії додатків можливе використання спеціального програмного забезпечення, так званих акселераторів. Принцип їх роботи полягає в кешуванні одного разу згенерованого байт-коду в пам'яті і/або на диску, таким чином, з процесу роботи додатка виключаються етапи 1-3, що в загальному випадку веде до значного прискорення роботи.
Важливою особливістю є те, що розробнику немає необхідності піклуватися про розподіл і звільнення пам'яті. Ядро PHP реалізує засоби для автоматичного керування пам'яттю; вся виділена пам'ять повертається системі після завершення роботи скрипта.
Розширення
Інтерпретатор складається з ядра і модулів, "розширень", що представляють собою динамічні бібліотеки. Розширення дозволяють доповнити базові можливості мови, надаючи можливості для роботи з базами даних, сокетами, динамічною графікою, криптографічними бібліотеками, документами формату PDF і тому подібним. Будь-який бажаючий може розробити своє власне розширення і підключити його. Існує величезна кількість розширень, як стандартних, так і створених сторонніми компаніями і ентузіастами, проте в стандартне постачання входить лише декілька десятків добре зарекомендували себе. Безліч розширень доступно в репозиторії PECL.
Параметри настройки
Інтерпретатор PHP має спеціальний конфігураційний файл - php.ini, що містить безліч налаштувань, зміна яких впливає на поведінку інтерпретатора.Є можливість відключити використання ряду функцій, змінити обмеження на використовувану скриптом оперативну пам'ять, час виконання, обсяг завантажуваних файлів, налаштувати журналирование помилок , роботу з сесіями і поштовими сервісами, підключити додаткові розширення, а також багато іншого. Під час виконання скрипта ці параметри можуть бути змінені командою ini_set.
Режими інтерпретатора
Існує кілька способів використання інтерпретатора PHP:
1. В якості модуля до веб-серверу за допомогою SAPI або ISAPI (наприклад, для Apache модуль mod_php). Веб-сервер запускається із завантаженим модулем і при зверненні до php-скрипту він виконується в оточенні процесу веб-сервера. Це найбільш поширений метод використання PHP в силу більш простої конфігурації.
2. В якості CGI. У цьому випадку, при виклику скрипта веб-сервер викликає / usr / bin / php-cgi / path / to / script.php. При цьому створюється новий процес і скрипт виконується в оточенні php-cgi, яке, в залежності від налаштувань, може сильно відрізнятися від оточення процесу веб-сервера. Більш сучасними варіантами є FastCGI і SCGI. На відміну від постійного виклику інтерпретатора як в CGI, у FastCGI / SCGI інтерпретатор PHP перезапускається не при кожному запиті, а тільки якщо всі поточні FastCGI-процеси вже в роботі, які звільнившись також не завершаться, а будуть чекати нових завдань. Однак ці процеси опитуються один раз в певний Scan-інтервал, згідно налаштуванням. Процеси, що перевищили час життя, час простою або відпрацювали задану кількість запитів, будуть завершуватися примусово, якщо їх кількість не нижче мінімально зазначеного для класу (віртхоста).
3. В якості скрипта командного рядка, що є виконуваним файлом, який викликається користувачем з командного рядка; скрипт виконується в оточенні викликав користувача. У цьому випадку можливе використання PHP для створення клієнтських GUI-додатків і вирішення адміністративних завдань в операційних системах UNIX, Linux, Microsoft Windows, Mac OS X і AmigaOS. Однак, в такій якості він не набув поширення, віддаючи пальму першості Perl, Python і VBScript