Главная Обратная связь Поможем написать вашу работу!

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Переваги та недоліки мови PHP



PHP (англ. PHP: Hypertext Preprocessor PHP: гіпертекстовий препроцесор), попередня назва: Personal Home Page Tools — скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. PHP — проект відкритого програмного забезпечення.

PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта. На відміну від скриптової мови JavaScript, користувач не бачить PHP-коду, бо браузер отримує готовий html-код. Це є перевага з точки зору безпеки, але погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконуються вже на стороні клієнта.

PHP — мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>).

Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.

Наявність інтерфейсів до багатьох баз даних в PHP вбудовані бібліотеки для роботи з MySQL, PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase, Sybase.

через стандарт відкритого інтерфейсу зв'язку з базами даних (Open Database Connectivity Standard — ODBC) можна підключатися до всіх баз даних, до яких існує драйвер.

Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP — мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що в наш час є мало не найпопулярнішою мовою для створення веб-застосунків (скриптів).



Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу — Linux хоч і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

Ухвалення стратегії Open Source і безплатне розповсюдження початкових текстів РНР надало неоціниму послугу користувачам. Додатково, користувачі РНР в усьому світі є свого роду колективною службою підтримки, і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.

Ефективність є дуже важливим чинником у програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl. Проте хоч би що робили розробники PHP, виконувані файли, отримані за допомогою компіляції, працюватимуть значно швидше — в десятки, а іноді і в сотні разів. Але продуктивність PHP достатня для створення цілком серйозних веб-застосунків.



Змінні

Основою будь-якого програмування є змінні. PHP, як і деякі інші UNIX-скриптові мови, не потребує їх опису. Існує три стилі оформлення змінних у PHP:

- короткий стиль. Змінні записуються у вигляді: $variable. Використовується в більшості випадків. Змінна, яка створюється програмним кодом, записується таким чином. Можливо також використання такого стилю для добування змінної із ФОРМИ, якщо ввімкнено register_globals у файлі конфігурації php.ini.

- середній стиль: $_POST['varaible'],$_GET['variable'], $_REQUEST['variable']. Використовується для отримання даних з полів ФОРМИ. В залежності від типу передачі даних, встановлюється POST або GET або REQUEST для обох випадків. Дані змінні називаються також глобальними.

- довгий стиль: $HTTP_POST_VARS['variable'],

$HTTP_GET_VARS['variable'] Найповніший стиль запису і найменш використовуваний. Починаючи з PHP 5.0.0 ці змінні можна вимкнути. Починаючи з PHP 6 ці змінні недоступні. Використовувати змінні такого типу не рекомендовано задля кращої сумісності із майбутніми версіями PHP.

Приклад запису змінної з десятковим дробом та рядкової змінної: $variable = 0.00; $variable1 = 'Hello, PHP-Master!'; $variable2 = "Hello, PHP-Coder!";

З точки зору системи типізації, PHP є мовою програмування з динамічною типізацією. Немає необхідності явного визначення типу змінних, хоча така можливість існує. В разі звернення до змінної, інтерпретатор PHP трактує її тип відповідно до контексту. За необхідності можливе приведення змінної до певного типу за допомогою відповідних конструкцій мови. Це може знадобитись, якщо зважити, що значення змінної можуть трактуватись по-різному в залежності від її типу. Також можливе визначення типу відповідної змінної на певному етапі виконання сценарію. Імена змінних чутливі до регістру символів.



Типи даних

До базових типів належать булеві дані, цілі та дійсні числа із плаваючою комою, а також рядки. Булеві дані виражають істинність значення. Цілі числа можуть бути подані у вісімковому, десятковому та шістнадцятковому вигляді. Розмір цілого числа може змінюватись залежно від платформи, як правило, розрядність становить 32 біти. PHP не підтримує беззнакові цілі числа. Дійсні числа із плаваючою комою можуть бути подані в десятковій або експоненційній формі. Для кожної змінної можна надати власний тип данних. Для цього існує декілька видів:

Робота з рядками

Рядки ділять на два класи — рядки, що підлягають аналізу, та ті, що не підлягають. Перший клас досліджується інтерпретатором на наявність посилань на інші змінні, і за умови їхньої наявності робиться підстановка значень у відповідне місце. Крім того, клас дозволяє проводити маніпуляції з керівними символами. Символ рядка може мати лише одне з 256 значень, але є можливість працювати з багатобайтовими символами. Доступ до символів рядка можливий з використанням синтаксису, схожого на доступ до елементів масивів.

Недоліки PHP

· Незручність дизайну мови

· Змінні з символом «$»

· Складні назви поширених функцій (html_entities_decode, mysql_select_db, nl2br тощо)

· Не підтримується Unicode в версіях до 6.0

· Непередбачуваність нових версій PHP.

 

Критика

У статті «PHP: a fractal of bad design» представлений докладний і ґрунтовний огляд проблем в дизайні мови програмування PHP. Автор показує винятковість PHP як одної з найбільш неопрацьованих мов, проблеми в якій носять систематичний характер. Зокрема у статті продемонстровані проблеми в самій мові, бібліотеці функцій, структурах, механізмах роботи з даними, екосистемі, засобах зневадження. Вказані недоробки в безпеці, надійності, цілісності та передбачуваності.

Якщо розглядати безпеку, то як приклад спочатку порочної практики наводиться розрізненість засобів для чищення та нормалізації даних перед їхнім використанням у різних операціях, що є прекрасною підмогою для виникнення в застосунках вразливостей, що дозволяють здійснити підстановку SQL-коду або вбудовування JavaScript на сторінку. Згадки також заслуговує підхід "небезпечний за умовчанням", який тільки останнім часом став переглядатися розробниками PHP, наприклад, причиною безлічі вразливостей є використання register_globals і підтримка виконання зовнішнього коду за URL в директиві include. З проблем у самому інтерпретаторі відзначається спроба виправити в 2007 році цілочисельну вразливість через перевірку "if (size > INT_MAX) return NULL;"; помилка в реалізації функції crypt() в PHP 5.3.7 через яку можна було зайти з будь-яким паролем; DoS-уразливість в PHP 5.4, пов'язана з виділенням пам'яті на підставі переданого користувачем значення в HTTP-заголовку Content-Length.

 

Додаткові можливості

Мова явно підтримує HTTP cookies відповідно до специфікацій Netscape. Це дозволяє проводити встановлення та читання невеликих сегментів даних на стороні клієнта.

PHP надає можливість організації роботи з користувачем протягом сеансів (сесій). В сесії можна зберігати різні дані, включаючи об'єкти.

 

Опис програми

2.4.1 Загальні відомостіСайт-програма дає можливість будь-якому зареєстрованому користувачу прийняти участь в турнірі по комп’ютерній грі FIFA 14. Участник спокійно може зайти на сайт, вибрати потрібний для себе турнір, зареєструватися і перемагати!Для написання даної програми були використані мови програмування PHP, HTML та CSS та система управління вмістом, на якому створювалися форми. За допомогою адміністративного середовища яке представляє WordPres я розробив даний програмний проект. Адміністративне середовище представляє нам панель із наборов деяких важелів, за допомогою яких ми можемо виконувати будь які корективні функції над проектом.. 2.4.2 Технічні засобиМінімальні технічні характеристики компьютера для коректної роботи програми:

· процесор типу Intel Pentium III 1Ггц і вище;

· оперативна пам'ять 128 Мб і вище;

· вільного місця на жорсткому диску 100 Мб;· ОС Windows XPCD-ROM.

Висновок за розділом

З усього вище сказаного ми можемо зробити висновок, що подібні сайти для проведення турнірів значно спрощують життя для геймерів та звичайних гравців, які можут без напружень заходити і грати проти найсильніших гравців України та Росії, а СМС WordPress дає змогу легко розробити подібний сайт.

 

 


3 РОЗРОБКА ЗАГАЛЬНОЇ КОНЦЕПЦІЇ І АЛГОРИТМІВ РОБОТИ


Просмотров 2878

Эта страница нарушает авторские права




allrefrs.ru - 2021 год. Все права принадлежат их авторам!