Использование PHP на практике
PHP как язык программирования, специально разработанный для написания web-приложений, исполняющихся на Web-сервере: основные преимущества, краткая история. Рассмотрение и характеристика версий PHP, отличия. Анализ деятельности ТОО "Камаз-комплект".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 23.01.2013 |
Размер файла | 65,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
PHP (Hypertext Preprocessor - Препроцессор Гипертекста)- это широко используемый язык сценариев общего назначения с открытым исходным кодом.
PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.
Огромным плюсом PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.
Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.
PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.
PHP - кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.
Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.
PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.
Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL - оптимальный вариант для создания интернет-сайтов различной сложности.
Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web -программирования.
PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста») -- скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостеров. Входит в LAMP -- «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).
В области программирования для Сети PHP -- один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.
Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.
Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.
Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.
История языка PHP
Создателем и основным инициатором создания языка РНР был Расмус Лердорф (Rasmus Lerdorf) -- разработчик программного обеспечения, член группы разработчиков Apache и незаурядный человек, известный в кругах разработчиков во всем мире. Расмус разработал первую версию языка РНР для своего личного использования в конце 1994 года. Это была оболочка CGI которая позволяла отслеживать информацию о том, кто обращается на его персональный узел. На проделанную им работу обратили внимание многие пользователи, узнавшие о ней либо случайно, либо услышав мнение других пользователей, и попросили поделиться полученными результатами. В ответ на эти просьбы в следующем году Расмус собрал и выпустил программный паяет, получивший название Personal Home Page Tools (известный также как РНР Construction Kit -- конструкторский набор РНР). Вскоре после этого под названием PHP/FI была выпущена версия 2 указанного программного обеспечения. Эта версия включала компонент FI.
PHP/FI
В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl -- интерпретатора скриптов -- перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter -- «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML-текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.
В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C -- PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.
PHP 3
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), два разработчика из израильского института технологий (Technion), переписали код с нуля: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета расположенного в Хайфе, Израиль. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.
Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP -- аббревиатура, содержащая рекурсивный акроним (англ. PHP: Hypertext Preprocessor -- «PHP: Препроцессор Гипертекста»).
К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
PHP4
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.
Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Обновления PHP 4 будут выпускаться только до конца 2007 года. До этого же времени будет осуществляться официальная поддержка четвертой версии. Далее до 8 августа 2008 года по мере необходимости будут появляться только критические обновления безопасности. С 9 августа четвертая версия PHP войдет в историю.
PHP5
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx, даже несмотря на то, что уже имеется dev-версия PHP 6.
PHP6
Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.
Основные понятия
Чего можно добиться, используя эти статьи?
Прочтя их, вы сможете строить реальные, динамические сайты. Если вам доводилось строить web-сайты с использованием одного только html, то вам ясны ограничения такого подхода. Пользователи не могут взаимодействовать с таким сайтом никаким осмысленным образом.
Что собой предствавляет PHP?
PHP - это серверный язык создания сценариев(или стороны сервера), разработанный специально для Web. В HTML-страницу можно внедрить код PHP, который будет выполняться при каждом её посещении. Код PHP интерпритируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы.
Разработка PHP была начата в 1994 г. и вначале выполнялась одним человеком, Расмусом Лердорфом. Этот язык был принят рядом талантливых людей и претерпел три основные редакции, пока не стал широко используемым и зрелым продуктом, с которым мы имеем дело сегодня. К январю 2001 г. он использовался почти в пяти миллионах до менов во всём мире и их число продолжает быстро расти. Количество доменов, в которых в настоящее время используется PHP, можно выяснить на странице разработчиков - www.php.net/usege.php.
PHP - это продукт с открытым исходным кодом. У пользователя имеется доступ к исходному коду.(самое интересное, что у посетителя страницы такой возможности нет). Его можно использовать, изменять и свободно распространять другими пользователями или организациями. Первоночально PHP являлось сокращением от Personal Home Page(Персональная домашняя страница), но затем это название было изменено.
В настоящее время основной версией PHP является четвёртая. Эта версия характеризуется несколькими существенными усовершенствованиями языка, которые рассматриваются в следующем разделе.
Что нового в PHP 4?
Если вы ранее использовали PHP, то несложно будет заметить ряд важных усовершенствований четвёртой версии:
- PHP 4 работает значительно быстрее предшествующих версий.
- PHP всегда можно было использовать как эффективный модуль сервера Apache.
К числу конкурентов PHP относятся Perl, Active Server Pages (ASP) от Microsoft, Java Server Pages (JSP) и Allaire Cold Fusion. PHP обладает множеством преимуществ по сравнению с этими продуктами, в числе которых:
- Высокая производительность;
- Наличие интерфейсов ко многим различным системам баз данных;
- Встроенные библиотеки для выполнения многих задач, связанных с Web;
- Низкая стоимость;
- Простота изучения и использования;
- Переместимость;
- Доступность исходного кода.
Цели и задачи практики
Цель:
Целью прохождения практики является формирование и развитие у студента профессионального мастерства на основе изучения опыта работы конкретных организаций, учреждений, предприятий (далее - организаций), привитие навыков самостоятельной работы будущим специалистам в условиях реально функционирующего производства.
Задачи практики:
¦ Изучение студентом производственно-экономической деятельности и системы управления той организации, которая определена в качестве места прохождения практики - базы практики.
¦ Ознакомление студента с опытом работы персонала организации - базы практики.
Общие сведения о базе практики
ТОО «КАМАЗ-КОМПЛЕКТ» в целях создания оптимальных условий для водителей, а также повышения качества оказания автомобильных услуг и услуг запчастей для автомобилей создан центр ТОО «КАМАЗ-КОМПЛЕКТ». В настоящее время компания служит «местом оптовой продажи всех видов деталей, компонентов и принадлежностей для автомобилей» для водителей.
ТОО «КАМАЗ-КОМПЛЕКТ» расположен в Жезказгане по улице СарыАрка, д. 8
Заведующая компании является Гульнар Бекжановнаю
Организация работ на базе практики
На сегодняшний день в ТОО «КАМАЗ-КОМПЛЕКТ»:
· принимаются заказы всех видов деталей б компонентов и принадлежностей для автомобилей по оптовой цене компания работает ежедневно кроме воскресения с 9:00 по 18:00.
Методы работ на базе практики
Синтаксис
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.
Простейшая программа Hello world на PHP выглядит следующим образом:
<?php
echo 'Hello, world!';
?>
PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo 'Hello, world!'; ?>
</body>
</html>
Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как <? ?> и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <? ?> и <% %> могут быть выключены в конфигурационном файле php.ini).
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).
PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if/else и циклов.
PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).
Типы данных
PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).
К скалярным типам данных относятся:
· целый тип (integer),
· вещественный тип данных (float, double),
· логический тип (boolean),
· строковый тип (string),
· специальный тип NULL.
К нескалярным типам относятся:
· «ресурс» (resource),
· массив (array),
· объект (object),
К псевдотипам относятся:
· mixed один или несколько необязательных параметров,
· number число (integer либо float)
· callback (string или анонимная функция)
· void отсутствие параметров
Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от ?2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double), также, зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7?10?308 до ±1.7?10+308).
PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.
Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().
Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.
Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный хеш. Возможно неожиданное поведение при использование цикла for со счетчиком вместо foreach. Так, например, при сортировке массива с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.
Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:
function($args..$argsN) use($ctxVar,$ctxVar1) { definition ; }
callback тип может быть представлен:
· строкой (интерпретируется как название функции);
· массивом где нулевой и первый элемент строки (интерпретируется как название статичной функции в классе);
· массивом где нулевой элемент объект, а первый строка (интерпретируется как метод у объекта).
Для проверки является ли значение вызываемым следует использовать is_callable($var)
Обращение к переменным и функциям
Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. Например:
$a = 'I am a'; // Запись значения в переменную $a
echo $a; // Вывод переменной $а
$b = 'a';
echo $$b; // Вывод переменной $а (дополнительный $ перед переменной $b)
echo ${'a'}; // Вывод переменной $a
function_name(); // Вызов функции function_name
$c = 'function_name';
$c(); // Вызов функции function_name,
$d = 'Class_name';
$obj = new Class_name; // Создание объекта класса Class_name
$obj = new $d(); // Создание объекта класса Class_name
$obj->b; // Обращение к полю b объекта
$obj->$b; // Обращение к полю a объекта, так как $b = 'a'
$obj->$c(); // Вызов метода function_name() объекта, так как $c = 'function_name'
В PHP echo и print не являются функциями[18] (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.
Суперглобальные массивы
Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивы global. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.). Все суперглобальные массивы, кроме $GLOBALS и $_REQUEST, имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны (за исключением области видимости: массивы с «длинными» именами не являются супергло$GLOBALS. Массив всех глобальных переменных (в том числе и пользовательских).
$_SERVER (устаревший аналог -- $HTTP_SERVER_VARS)
Содержит переменные окружения, которые операционная система передаёт серверу.
$_ENV (уст. $HTTP_ENV_VARS)
Текущие переменные среды (англ. Environment variables). Их набор специфичен для платформы, на которой выполняется скрипт.
$_GET (уст. $HTTP_GET_VARS)
Содержит параметры GET-запроса, переданные в URI после знака вопроса «?».
$_POST (уст. $HTTP_POST_VARS)
Ассоциативный массив значений полей HTML-формы при отправке методом POST. Индексы элементов соответствуют значению атрибута name элементов управления HTML-формы.
$_FILES (уст. $HTTP_POST_FILES)
Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс, идентичный значению атрибута «name» в форме, и, в свою очередь, также является массивом со следующими элементами:
· ['name'] -- исходное имя файла на компьютере пользователя.
· ['type'] -- указанный агентом пользователя MIME-тип файла. PHP не проверяет его, и поэтому нет никаких гарантий, что указанный тип соответствует действительности.
· ['size'] -- размер файла в байтах.
· ['tmp_name'] -- полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.
· ['error'] -- код ошибки. Если файл удачно загрузился, то этот элемент будет равен 0 (UPLOAD_ERR_OK).
$_COOKIE (уст. $HTTP_COOKIE_VARS)
Ассоциативный массив с переданными агентом пользователя значениями куки.
$_REQUEST
Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.
$_SESSION (уст. $HTTP_SESSION_VARS)
Содержит данные сессии бальными).
Объектно-ориентированное программирование
PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.
Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП -- инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.
Классы в PHP имеют ряд специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.
Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.
class C1 extends C2 implements I1, I2
private $a;
protected $b;
function __construct($a, $b)
{
parent::__construct($a, $b);
$this->a = $a;
$this->b = $b;
}
public function plus()
{
return $this->a + $this->b;
}
/* ............... */
}
$d = new C1(1, 2);
echo $d->plus(); // 3
Начиная с пятой версии PHP, объекты передаются по ссылке:
class a
{
public $color = 'red';
}
$a = new a();
echo $a -> color; // red
$b = $a;
$b -> color = 'blue';
echo $a -> color; // blue
«Paamayim Nekudotayim» или просто «двойное двоеточие». Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. «Paamayim Nekudotayim» на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали[19] именно это обозначение. «Paamayim Nekudotayim» действительно значит «двойное двоеточие» на иврите. Это обозначение не менялось ни разу в течение всего времени разработки PHP.
<?php
class MyClass {
const CONST_VALUE = 'Значение константы';
}
// Использование :: вне объявления класса
echo MyClass::CONST_VALUE;
?>
Особенности интерпретатора
PHP-скрипты обычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:
1. лексический анализ исходного кода и генерация лексем,
2. синтаксический анализ полученных лексем,
3. генерация байт-кода,
4. выполнение байт-кода интерпретатором (без создания исполняемого файла).
Для увеличения быстродействия приложений возможно использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1--3, что в общем случае ведёт к значительному ускорению работы.
Важной особенностью является то, что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта.
Расширения
Интерпретатор состоит из ядра и подключаемых модулей, «расширений», представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и тому подобным. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.
Параметры настройки
Интерпретатор PHP имеет специальный конфигурационный файл -- php.ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое. Во время выполнения скрипта эти параметры могут быть изменены командой ini_set.
Режимы интерпретатора
Существует несколько способов использования интерпретатора PHP:
1. В качестве модуля к веб-серверу посредством SAPI или ISAPI (например, для Apache модуль mod_php). Веб-сервер запускается с загруженным модулем и при обращении к php-скрипту он выполняется в окружении процесса веб-сервера. Это наиболее распространённый метод использования PHP в силу следующих причин:
o он наиболее удобен для отладки, так как ошибки PHP выводятся на экран (если данный режим включен в настройках), тогда как в режиме CGI ошибка приводит к генерации HTTP-кода 500 и дополнительную информацию необходимо искать в логах веб-сервера;
o имеется возможность менять некоторые настройки PHP «на лету» с помощью файла .htaccess, без перезагрузки веб-сервера;
o в режиме CGI нет возможности воспользоваться HTTP-аутентификацией.
o обладает более высокой скоростью работы.
2. В качестве CGI. В этом случае, при вызове скрипта веб-сервер вызывает /usr/bin/php-cgi /path/to/script.php. При этом создаётся новый процесс и скрипт выполняется в окружении php-cgi, которое, в зависимости от настроек, может сильно отличаться от окружения процесса веб-сервера. Более современным вариантом является FastCGI. Несмотря на то, что препроцессор PHP все равно будет перезапускаться при каждом запросе[27][28], преимуществом данного варианта перед предыдущим является более высокая степень безопасности, потому как PHP работает как отдельное приложение со своими правами.
3. В качестве скрипта командной строки, являющегося исполняемым файлом, который вызывается пользователем из командной строки; скрипт выполняется в окружении вызвавшего пользователя. В этом случае возможно использование PHP для создания клиентских GUI-приложений[29] и решения административных задач в операционных системах UNIX, Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако, в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript
Альтернативные реализации
В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб-приложений, создано несколько альтернативных компиляторов близкого к PHP языка. Так в феврале 2010 года компания Facebook открыла свой компилятор PHP -- HipHop (HPHP, Hyper-PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.
Техника безопасности
1. Рабочее место пользователя ПК по отношению к световым проёмам должно располагаться так, чтобы естественный свет падал сбоку, преимущественно слева.
2. Искусственное освещение в эксплуатации ПК должно осуществляться системой общего равномерного освещения. В случаях преимущественной работы с документами допускается применение системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов).
3. Следует ограничивать прямую блёклость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и т.д.), находящихся в поле зрения, должна быть не более 200 кд/м3.
4. Для обеспечения нормируемых значений освещённости в помещениях для использования ПЭВМ следует проводить чистку стёкол оконных рам и светильников не реже двух раз в год и проводить своевременную замену перегоревших ламп.
5. Площадь на одно рабочее место в ПК должна составлять не менее 6,0 м3, а двух не менее 20,0 м3.
6. Производственные помещения, в которых для работы используются ПК, не должны граничить с помещениями, в которых уровни шума и вибрации превышают нормируемые значения (механические цеха, мастерские и т.п.).
Не следует размещать рабочие места с ПЭВМ вблизи силовых кабелей и вводов, высоковольтных трансформаторов, технологического оборудования, создающего помехи в работе ПЭВМ.
7. Полимерные материалы, используемые для внутренней отделки интерьера помещений с ПК, должны быть разрешены для применения органами и учреждениями Госсанэпиднадзора.
8. Помещения, где размещаются места с ПЭВМ, должны быть оборудованы защитным заземлением в соответствии с техническими требованиями по эксплуатации.
9. Помещения с ПК должны оборудоваться системами отопления, естественной вентиляцией, системами кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией.
10. Поверхность пола в помещениях должна быть ровной, нескользкой, удобной для очистки и влажной уборки, обладать антистатическими свойствами.
11. Оконные проёмы в помещениях использования ПК должны быть оборудованы регулированными устройствами типа: жалюзи, занавесей.
12. В производственных помещениях, в которых работа с использованием ПЭВМ является вспомогательной, температура, относительная влажность и скорость движения воздуха на рабочих местах должны соответствовать действующим санитарным нормам микроклимата производственных помещений.
13. В помещениях, оборудованных ПЭВМ, проводится ежедневная влажная уборка и систематическое проветривание после каждого часа работы на ЭВМ.
14. Временные допустимые уровни ЭМП, на рабочих местах пользователей:
Таблица
Наименование параметров |
ВДУ |
||
Напряжённость электрического поля |
в диапазона частот 5Гц-2кГц |
25 В/м |
|
в диапазона частот 2кГц-400кГц |
2,5 В/м |
||
Плотность магнитного потока |
в диапазона частот 5Гц-2кГц |
250 нТл |
|
в диапазона частот 2кГц-400кГц |
25 нТл |
||
Напряжённость электростатического поля |
15 кВ/м |
15. Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учётом его количества и конструктивных особенностей (размер ПК, клавиатуры и д.р.), характера выполняемой работы.
16. Конструкция рабочего стола (кресла) должна обеспечивать поддержание рациональной рабочей позы при работе на ПК, позволять изменять позу с целью снижения статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления.
Рабочий стул (кресло) должен быть подъёмно-поворотным и регулируемым по высоте и углам наклона сиденья и спинки, а также расстоянию спинки от переднего края сиденья, при этом регулировка каждого параметра должна быть независимой, легко осуществляемой и иметь надёжную фиксацию.
17. Экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600-700 мм, но не ближе 500 мм с учётом размеров алфавитно-цифровых знаков и символов. Конструкция ПЭВМ должна обеспечивать возможность поворота корпуса в горизонтальной и вертикальной плоскости, с фиксацией в заданном положении, для обеспечения фронтального наблюдения экрана ВДТ.
18. Схемы размещения рабочих мест должны учитывать расстояния между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), которое должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.
19. Шкафы и сейфы, стеллажи для хранения дисков, дискет, комплектующих, деталей и запасных блоков ПК, инструменты в бюро технического обеспечения следует располагать в подсобных помещениях. При отсутствии подсобных помещений допускается размещение шкафов, сейфов и стеллажей в помещениях непосредственного использования ПК при соблюдении требований к площади помещений.
20. Клавиатуру следует располагать на поверхности стола на расстоянии 100-300мм от края, обращённого к пользователю, или специальной подставке, регулируемой по высоте рабочей поверхности, отделённой от основной столешницы.
21. Помещения с ПК должны быть оснащены аптечкой первой помощи и углекислотными огнетушителями.
программирование web приложение
Список используемой литературы
1.Дмитрий Котеров, Алексей Костарев PHP. В подлиннике -- Спб.: «БХВ-Петербург», 2005. -- С. 1120. -- ISBN 5-94157-245-Х.
2.Костарев А. Ф. PHP 5 -- Спб.: «БХВ-Петербург», 2008. -- С. 1104. -- ISBN 978-5-9775-0315-0.
3.Мэтт Зандстра PHP: объекты, шаблоны и методики программирования, 3-е издание = PHP Objects, Patterns and Practice, Third Edition -- М.: «Вильямс», 2010. -- С. 560. -- ISBN 978-5-8459-1689-1.
4.Кристиан Дари, Эмилиан Баланеску PHP и MySQL: создание интернет-магазина = Beginning PHP and MySQL E-Commerce: From Novice to Professional -- М.: «Вильямс», 2010. -- ISBN 978-5-8459-1602-0.
5.Джейсон Ленгсторф PHP и jQuery для профессионалов = Pro PHP and jQuery -- М.: «Вильямс», 2010. -- С. 352. -- ISBN 978-5-8459-1693-8.
6.Стив Суэринг, Тим Конверс, Джойс Парк PHP и MySQL. Библия программиста, 2-е издание = PHP 6 and MySQL 6 Bible -- М.: «Диалектика», 2010. -- С. 912. -- ISBN 978-5-8459-1640-2.
7.Квентин Зервас Web 2.0: создание приложений на PHP = Practical Web 2.0 Applications with PHP -- М.: «Вильямс», 2009. -- С. 544. -- ISBN 978-5-8459-1590-0.
8.Кузнецов Максим, Симдянов Игорь PHP 5/6 -- Спб.: «БХВ-Петербург», 2009. -- С. 1024. -- ISBN 978-5-9775-0304-4.
9.Кузнецов Максим, Симдянов Игорь Объектно-ориентированное программирование на PHP -- Спб.: «БХВ-Петербург», 2007. -- С. 608. -- ISBN 978-5-9775-0142-2.
10.Эд Леки-Томпсон, Алек Коув, Стивен Новицки, Хьяо Айде-Гудман PHP 5 для профессионалов = Professional PHP 5 -- М.: «Диалектика», 2006. -- С. 608. -- ISBN 0-7645-7282-2.
11.Кузнецов Максим, Симдянов Игорь Самоучитель PHP 5/6 -- 3-е изд., перераб. и доп.. -- Спб.: «БХВ-Петербург», 2009. -- С. 672. -- ISBN 978-5-9775-0409-6.
12.Кузнецов Максим, Симдянов Игорь PHP . Практика создания Web-сайтов -- 2-е изд. перераб. и доп.. -- Спб.: «БХВ-Петербург», 2008. -- С. 1264. -- ISBN 978-5-9775-0203-0.
13.Кузнецов Максим, Симдянов Игорь Головоломки на PHP для хакера -- 2-е изд. перераб. и доп.. -- Спб.: «БХВ-Петербург», 2008. -- С. 544. -- ISBN 978-5-9775-0204-7.
14.Кузнецов Максим, Симдянов Игорь PHP на примерах -- 2-е изд. перераб. и доп.. -- Спб.: «БХВ-Петербург», 2011. -- С. 400. -- ISBN 978-5-9775-0445-4.
Размещено на Allbest.ru
Подобные документы
Характеристика языков программирования: краткая история, хронология. Основные виды языков программирования: ассемблер; бейсик. Создание и использование формул в Excel. Применение операторов в формулах. Использование функций в Excel. Сайт дома отдыха.
отчет по практике [139,1 K], добавлен 03.06.2011История появления языка HTML5, список и краткое описание категорий его функциональных возможностей. Новые возможности этого стандарта, предназначенные для создания интерактивных веб-приложений с максимальным использованием мультимедийного контента.
курсовая работа [84,6 K], добавлен 17.02.2015Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.
монография [4,8 M], добавлен 13.03.2008Применение языков программирования в web-разработках. Создание документа с поддержкой гипертекста с помощью HTML. Использование JavaScript для программного доступа к объектам приложений. Perl - процедурный язык программирования; псевдообъектный язык PHP.
курсовая работа [260,9 K], добавлен 07.07.2013Язык Java как простой, обьектно-ориентированный, многопоточный язык программирования, разработанный компанией Sun Microsystems для расширения возможностей сети Internet. Типы данных, лексика и управляющие структуры данного языка программирования.
презентация [46,1 K], добавлен 25.04.2014Технология CORBA для написания распределенных приложений, ее предназначение, преимущества и правила использования. Язык IDL и его использование в качестве универсальной нотации для определения границ объекта и для подержания наследования интерфейсов.
лабораторная работа [25,3 K], добавлен 30.06.2009Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Факторы, влияющие на пропускную способность в беспроводных сетях. Использование скриптового языка программирования PHP для разработки базы данных интернет-магазина, его основные преимущества. Современные методы и средства тестирования web-приложений.
дипломная работа [3,5 M], добавлен 10.07.2015Рассмотрение и ознакомление с одним из наиболее используемых языков программирования - С++. Его применение в процессе работы со строковыми типами данных и символами. Исследование кодов написания программ в режиме разработки консольного приложения.
курсовая работа [6,1 M], добавлен 20.01.2016Язык программирования C#, его основные особенности, преимущества и недостатки. Краткая характеристика, плюсы и минусы платформы .NET. Перемещение элементов из listBox1 в listBox2. Удаление выделенного элемента и удаление всех элементов из ListBox2.
отчет по практике [1,8 M], добавлен 07.08.2013