Что может php


Содержание

Что может php?

Что может PHP?

Всё что угодно. PHP в основном сориентирован на серверный скриптинг, поэтому может делать всё то, что делают CGI-программы: сбор данных форм, динамическую генерацию содержимого страницы или приём и отправку кук. Но PHP может намного больше.

Скрипты PHP применяются в трёх основных сферах.

Серверный скриптинг. Это наиболее традиционная и главная сфера применения PHP. Для выполнения этой работы вам нужны три вещи. Разборщик кода PHP (CGI или серверный модуль), web-сервер и web-браузер. Сервер должен быть запущен и должен иметь соединение с инсталированным PHP. Вы можете получить вывод PHP-программы в web-браузер, просматривая PHP-страницу на сервере. См. инструкции по установке.

Скриптинг командной строки. Вы можете создать и запустить PHP-скрипт на выполнение без сервера или браузера. Для этого необходим только разборщик PHP. Этот тип использования идеально подходит для регулярного выполнения скрипта с помощью cron (в *nix или Linux) или Task Scheduler (в Windows). Эти скрипты можно использовать также для задач простейшего текстового процессинга/обработки. См. раздел об Использовании командной строки PHP.

Клиентские GUI-приложения. PHP, возможно, не самый лучший язык для написания оконных приложений, но, если вы знаете PHP очень хорошо и хотели бы использовать некоторые продвинутые возможности PHP в клиентских приложениях, вы можете также использовать PHP-GTK для создания таких программ. У вас имеется также возможность создавать межплатформенные приложения. PHP-GTK является расширением PHP, отсутствующим в основном дистрибутиве. Если вас интересует PHP-GTK, посетите его web-сайт.

PHP может использоваться на всех крупных операционных системах (ОС), включая Linux, многие варианты Unix (HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS и, возможно, другие. PHP имеет поддержку для большинства существующих web-серверов. Это Apache, Microsoft Internet Information Server, Personal Web Server, Netscape и iPlanet-серверы, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и многие другие. Для большинства этих серверов PHP имеет модули. В других, поддерживающих стандарт CGI, PHP может работать как CGI-процессор.

Итак, с помощью PHP вы получаете свободу выбора ОС и web-сервера. Более того, вы может также выбрать использование процедурного или объектно-ориентированного варианта программирования или их сочетания. Хотя не всякая стандартная возможность OOП реализована в текущей версии PHP, многие библиотеки кодов и большие приложения (включая библиотеку PEAR) написаны только с использованием OOП-кода.

В PHP вы не имеете ограничений в выводе HTML. PHP может выводить изображения, PDF-файлы и даже клипы Flash (используя libswf и Ming), генерируемые на лету. Вы также легко можете выводить любой текст, включая XHTML, и любой другой XML-файл. PHP может автоматически генерировать эти файлы и сохранять их в файловой системе, вместо их распечатки, формируя серверный кэш для вашего динамического содержимого.

Одна из наиболее сильных и привлекательных черт PHP — поддержка им большого количества баз данных (БД). Создать web-страницу, работающую с БД, невероятно легко.

В настоящее время поддерживаются следующие БД:

Adabas D Ingres Oracle (OCI7 и OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm

У нас имеется также абстрактное расширение DBX, позволяющее прозрачно использовать любую БД, поддерживаемую этим расширением. Также PHP поддерживает ODBC, стандарт Open Database Connection, и вы можете подключаться к любой БД, поддерживающей этот всемирный стандарт.

PHP поддерживает взаимодействие с другими службами по таким протоколам, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (под Windows) и множество других. Вы можете также открыть обычный сетевой сокет и взаимодействовать с использованием любого другого протокола.
PHP поддерживает сложный обмен данными WDDX между практически всеми языками программирования Web.
PHP имеет поддержку инстанциации Java-объектов и их прозрачного использования как PHP-объектов. Вы также можете использовать ваше CORBA-расширение для доступа к удалённым объектам.

PHP имеет предельно удобные возможности для работы с текстом, от POSIX Extended или регулярных выражений Perl до разбора документов XML. Для разбора и доступа к XML-документам мы поддерживаем стандарты SAX и DOM. Вы можете использовать наше XSLT-расширения для трансформации XML-документов.

При использовании PHP в области электронной коммерции вы можете использовать функции Cybercash-платежей, CyberMUT, VeriSign Payflow Pro и CCVS для ваших online-программ платежей.

Наконец, но не окончательно, у нас имеются многие другие интересные расширения, функции машины поиска mnoGoSearch, функции IRC Gateway, утилиты сжатия (gzip, bz2), конвертации календарей, перевода .

Как вы видите, одной страницы недостаточно для того, чтобы перечислить все возможности и преимущества PHP. Прочтите раздел об установке PHP, и вы увидите часть справочника по функциям, где разъясняется работа расширений, упомянутых здесь.

Отправить сообщение об ошибке
Если нашли ошибку в тексте выделите ее мышкой и нажмите сочетание клавиш Ctrl+ENTER, укажите правильный текст без ошибки.

Возможности языка PHP

Интеграция с Базами Данных

Вероятно, наиболее сильная и значимая сторона PHP — это уровень взаимодействия с базами данных. Создание веб-приложений, работающих с базой данных, является довольно простым делом.

В современное время, в языке PHP поддерживается интеграция практически со всеми известными базами данных: Adabas, Sybase, Oracle, FilePro, mSQL, Velocis, MySQL, dBase, ODBC, Informix, Solid, Unix dbm, PostgreSQL (pgsql). Очевидно, что список этот будет постоянно пополняться разработчиками. Нет сомнений, что если на Вашем веб-сервере имеется база данных, то это одна из перечисленных. Но даже если на хостинге нет подобного добра, это не проблема. С помощью РНР можно легко эмулировать базу данных, работая с обычными текстовыми файлами. Кроме того, хостинг-провайдеры часто поддерживают библиотеку SQLite для PHP, которая создаёт базы данных в обычных текстовых файлах, но использует язык запросов SQL, что сильно упрощает работу с ней. И не смотря на небольшие минусы, SQLite работает намного быстрее обычных баз данных.

Аутентификация пользователей с помощью PHP

Аутентификация позволяет осуществлять парольный вход в закрытую (защищённую) зону. HTTP-аутентификация в PHP работает только с использованием веб-сервера Apache. При использовании специальных php-функций происходит вызов диалогового окно с вводом логина и пароля. Введенные данные можно легко проверить. Но намного интереснее и удобнее создать самостоятельно защищённую зону и открыть для авторизованных пользователей доступ к этой зоне, для этого язык PHP обладает куда большими возможностями, чем обычная HTTP-аутентификация.

Создание GIF-изображений средствами PHP

Помимо генерации HTML вывода (кода и текста), PHP позволяет создавать изображения в форматах GIF, JPEG или PNG. Для использования этой возможности, нужно добавить в PHP библиотеку GD. Библиотека GD добавляет функции обработки изображений, а также некоторые другие интересные функции, например, превращение текста в картинку.

Функции PHP для работы с FTP-серверами

Это очень полезные функции, с помощью которых можно создать свой FTP-клиент и файловый менеджер, которые позволят полностью управлять файлами на удалённом сервере. РНР даёт полный контроль над файлами, например, можно задать ограничение на размер загружаемого файла или его расширение, записывать и читать информацию из файла, изменять права доступа к файлу и так далее.

PHP может работать с HTTP cookie. Cookie (куки, кукисы) нужны для сохранения данных в клиентском браузере. Таким образом, можно идентифицировать пользователей, посещающих Ваш веб-сайт. Файлы cookie устанавливаются функцией setcookie(). Cookie является частью заголовка HTTP и, поэтому, функция setсookie() должна вызваться до вывода информации в браузер посетителя. С помощью PHP можно легко считать cookie-файл из браузера и манипулировать им как угодно.

Регулярные выражения в PHP

Регулярные выражения необходимы для сложного анализа строк в PHP. Я думаю, это одни из самых нужных функций в РНР. С помощью этих функций, с текстом можно делать всё что угодно. Например, ни один краулер (веб-паук), который нужен для сканирования содержимого веб-сайтов, не может обойтись без подобных функций.

Обработка ошибок в PHP

Обрабатывать ошибки PHP может как на глобальном уровне, так и на локальном. Можно даже полностью отключить показ сообщений об ошибках (кроме критических) пользователю (это важно сделать в готовом проекте, который уже запущен на веб-сервере), или создать функцию для отправки сообщения об ошибке на e-mail администратора, например. Можно настроить PHP скрипты таким образом, что ошибки будут перехватываться, и затем скрипты будут принимать решения о дальнейших действиях.

Электронная почта и PHP

Помимо многих прочих в PHP функций для работы с электронной почтой, есть одна стандартная функция для отправки почты — mail(). Чтобы отправить e-mail, достаточно указать адрес и текст сообщения.

PHP — это круто!

На личном опыте могу сказать что сайт, созданный на РНР скриптах, очень быстр и эффективен в своей работе. PHP прекрасно подходит для создания высоко-нагруженного и многофункционального портала. Но для нормального функционирования такого портала нужна элементарная внимательность, качественная настройка веб-сервера и грамотно составленный программный код.

Итак, мы рассмотрели основные возможности языка PHP, и по мере его дальнейшего изучения, Вы сможете легко создавать очень сложные скрипты.

Возможности скриптового языка PHP для разработки интернет-приложений

PHP является языком программирования с открытым исходным кодом, разработанным для написания сценариев, которые исполняются на стороне WEB-сервера.

PHP означает «Препроцессор Гипертекста» (Hypertext Preprocessor). Синтаксис языка основан на Perl, Java и С. PHP представляет собой достаточно простой язык, он легок в изучении. Достоинством PHP является то, что он предоставляет WEB-мастерам возможность создания динамических (сгенерированных) HTML-страниц.

Основным преимуществом PHP перед такими языками как С и Perl является то, что с помощью PHP могут создаваться HTML-страницы с командами PHP, внедренными в HTML-документ.

Скрипты PHP исполняются на стороне сервера в отличие от скриптов, исполняемых на стороне клиента, в частности, скриптов на JavaScript. WEB-сервер может быть настроен таким образом, чтобы процессор PHP обрабатывал HTML-страницы: при этом пользователи не могут знать, статические или динамические HTML-страницы они получают.

Язык сценариев PHP позволяет в короткие сроки разрабатывать качественные WEB-приложения, которые в будущем могут поддерживаться и при необходимости легко модифицироваться.

PHP прост для изучения и одновременно является мощным инструментом профессиональных программистов. Изучить PHP не трудно даже в том случае, если Вы слышите о нем первый раз в жизни. Уже несколько часов, потраченных на изучение PHP, будут достаточны для написания простых скриптов на PHP.

PHP доминирует среди языков программирования для Интернета и при этом постоянно совершенствуется.


Язык сценариев PHP обладает чрезвычайно большими возможностями. Основная область применения PHP- создание скриптов, исполняемых сервером. Благодаря этому скрипт на PHP может выполнять то, что исполняют программы CGI. В частности, PHP позволяет обрабатывать данные форм, принимать и отсылать файлы cookies, а также генерировать динамические HTML-страницы. Кроме этого, скриптовый язык PHP обеспечивает выполнение огромного множества других задач WEB-программирования.

Три основные области применения PHP.

1. Написание скриптов, исполняемых на стороне сервера. Это ключевая область применения PHP. Для реализации задачи необходим WEB-сервер, браузер, а также парсер PHP, который может быть в виде серверного модуля или программы CGI. Для просмотра результатов исполнения в браузере скриптов, написанных на PHP, необходим WEB-сервер и установленный на нем PHP.

2. Написание скриптов, которые могут исполняться в командной строке независимо от WEB-сервера и даже браузера. Для реализации такой задачи необходим только парсер PHP. Такие скрипты широко используются для обработки текстов. Кроме того, указанный способ запуска применяется для регулярно исполняемых скриптов, в частности, с помощью планировщиков задач Task Scheduler под Windows или cron под Linux или *nix.

3. Разработка приложений GUI, которые исполняются на стороне клиента. Существуют скриптовые языки программирования, специально разработанные для таких задач, однако такая возможность для PHP очень удобна для WEB-мастеров, активно работающих с PHP и знающих его в совершенстве. Для этого может использоваться PHP-GTK. Аналогичным образом могут создаваться также кроссплатформенные приложения. PHP-GTK не включается в дистрибутив PHP, а является расширением PHP.

Язык программирования PHP используется под самыми разными операционными системами, в том числе Microsoft Windows, GNU Linux, Unix, Mac OS X, RISC OS, OS/2 и многих других. PHP поддерживает все наиболее распространенные WEB-серверы, в частности, Apache, Personal Web Server, Microsoft Internet Information Server, Netscape, Oreilly Website Pro, iPlanet, OmniHTTPd, Xitami, Caudium, и другие. Чаще всего PHP включается в дистрибутив сервера в качестве модуля. В поставках некоторых серверов, которые поддерживают CGI-стандарт, PHP работает как процессор CGI.

Таким образом, PHP предоставляет свободу выбора как WEB-сервера, так и операционной системы. PHP также позволяет выбирать объектно-ориентированным и процедурным программированием или сочетать и то, и другое.

PHP поддерживает функции перевода, календарных вычислений, функции обработки сжатых файлов (bz2, gzip), функции IRC Gateway, функции mnoGoSearch (функции поисковой машины) и многие другие функции.

Средства обработки текстовой информации также входят в PHP, в частности, парсер XML-документов и регулярные выражения POSIX Extended или Perl . Стандарты SAX и DOM используются для XML-парсинга XML. XSLT-расширение используется для преобразования XML-документов.

Язык сценариев PHP позволяет не только создавать HTML-код. PHP также позволяет формировать файлы PDF, изображения и даже создавать «на лету» Flash-ролики, для чего могут использоваться Ming и libswf. Кроме того, PHP позволяет выдавать XML, XHTML-файлы и любые другие текстовые данные. Язык PHP позволяет выполнять автоматическую генерацию указанных файлов. Вместо того, чтобы отдавать сгенерированные файлы клиенту, PHP позволяет сохранять их на сервере в его файловой системе, формируя при этом на стороне сервера кеш с динамическим содержанием.

С помощью таких протоколов, как HTTP, POP3, NNTP, SNMP, LDAP, IMAP, COM (под Windows) и других протоколов язык PHP поддерживает совместимость с другими сервисами. Доступ к удаленным объектам может осуществляться путем использования расширения CORBA. PHP позволяет «напрямую» работать с сетевыми сокетами. Этот язык также поддерживает стандарт WDDX (стандарт обмена сложными структурами данных) и объекты Java, позволяя использовать такие объекты в качестве PHP-объектов.

Одно из главных преимуществ PHP — это поддержка баз данных в широком диапазоне их разнообразия. PHP позволяет без труды написать скрипт, который использовал бы базы данных. Базы данных, которые поддерживаются PHP в настоящее время:

Adabas D, dBase, Direct MS-SQL, Empress, FilePro (только чтение), FrontBase, Hyperwave,

IBM DB2, Informix, Ingres, InterBase, mSQL, MySQL, ODBC, Oracle (OCI7 и OCI8), Ovrimos, PostgreSQL, Solid, Sybase, Unix dbm, Velocis.

PHP также поддерживает абстрактный уровень работы с DBX, который обеспечивает работу с любой базой данных, которая использует DBX. Помимо этого, поддержка работы с Open Database Connection Standard (ODBC) позволяет работать с любой базой данных, которая поддерживает стандарт ODBC, являющийся признанным стандартом во всем мире.

Бесплатные уроки программирования на PHP. Интерпретируемый язык программирования PHP. Уроки для начинающих разработчиков сайтов и веб-страниц.

Что такое PHP? Для чего используют язык программирования PHP?

Привет, посетитель сайта ZametkiNaPolyah.ru! Рубрика веб-программирование и раздел PHP давненько мной не обновлялись и я решил сегодня исправить этот недостаток, написав пост для тех, кто только думает начать погружаться с головой в веб-разработку. Первая публикация будет вводной и, скорее всего, неинтересной для людей, которые знакомы со сферой веб. Мы поговорим о том, что такое PHP и для чего его используют язык программирования PHP.

Что такое PHP? Для чего используют язык программирования PHP?

Данная запись нужна скорее не для того, чтобы ответить на вопрос: «что такое PHP?», а для того, чтобы помочь начинающему веб-разработчику определиться со сферой применения PHP, сделать выбор и ответить для себя на вопрос: «а нужно ли мне изучать PHP?». Ведь направлений для интернет-разработчика очень много и серверное программирование, в котором как раз таки и используется PHP, — это лишь одно из них.

Что такое PHP? Интерпретируемый язык программирования PHP

Эта публикация поможет разобраться вам с вопросом: «что такое PHP?» и с чем его едят, точнее, где и для чего используется PHP. PHP – это язык программирования, основной сферой применения PHP является сфера веб-разработки. Многие сайты в сети Интернет написаны на языке PHP.

PHP или Personal Home Page Tools (инструменты для создания персональных веб-страниц) – это интерпретируемый язык программирования, получивший широкое распространение в сфере веб-разработки. На данный момент практически любой хостинг поддерживает язык программирования PHP. Язык программирования PHP довольно прост в освоение и, пожалуй, это и есть самая главная причина его популярности.

Personal Home Page Tools – устаревшее название языка программирования PHP. С выходом PHP версии 3.0 вместе с расширением функциональности языка изменилась и расшифровка акронима PHP, которая актуальна и по сей день: PHP: hypertext Preprocessor. Язык PHP популярен не только из-за относительно низкого порога вхождения, но и из-за того, что с версии 3.0 PHP стал модульным языком и в его развитии стали принимать участия сторонние разработчики, которые начали создавать различные модули и расширения для этого языка.

Язык программирования PHP интерпретируемый, а это означает, что для того, чтобы работали программы, написанные на PHP, нужна специальная программа интерпретатор, которая должна конвертировать PHP код в машинный код, который «понимает» процессор компьютера. За счет того, что язык программирования PHP интерпретируемый, программы, написанные на это языке кроссплатформенные, другими словами они будут работать на любой операционной системе.

Основным недостатком любого интерпретируемого языка программирования, в том числе и языка PHP, является меньшая производительность по сравнению с компилируемыми языками, так как ресурсы компьютера тратятся на интерпретатор, который преобразует PHP в машинный код.

Выводы: ответ на вопрос: «Что такое PHP?» довольно прост: PHP – это интерпретируемый язык программирования, который получил широкое применение в сети Интернет.

Мы дали ответ читателю на вопрос: «Что такое PHP?». Теперь нужно дать ответ на вопрос: «а стоит ли мне изучать PHP?». На этот вопрос каждый ответит для себя сам, а два следующих раздела должны помочь это сделать.

Для чего используется язык программирования PHP

Надеемся, что мы довольно подробно и внятно ответили на вопрос: «что такое PHP?» и теперь можем поговорить о том, где используется PHP, чтобы вы могли решить для себя: а стоит ли изучать PHP и что это вам даст. Язык PHP используется в веб-программировании, вернее, в серверном веб-программировании. PHP – самый популярный скриптовый язык программирования в сфере веб-разработки и создания сайтов на стороне сервера. Большинство динамических сайтов в своей основе используют язык программирования PHP.

Популярность использования языка PHP для создания сайтов, как мы уже говорили, определяется тем, что язык PHP довольно прост в освоение и не требует от разработчиков столь большого объема знаний, как например, C или C++. Использование PHP в сфере веб-разработки и его популярность обусловлена тем, фактом, что у PHP есть множество встроенных функций, позволяющих работать различными веб-серверами (HTTP сервер), серверами баз данных и файловой системой сервера.

Язык PHP используется для создания сайтов, на языке программирования PHP написано множество фреймворков и CMS, но, что бы вы не думали, что это простая игрушка, стоит сказать, что Facebook и Википедия используют PHP.

Еще PHP используется для создания GUI приложений (графический интерфейс пользователя), хотя и не получил в данном направлении такого широкого распространения.

Выводы: язык программирования PHP используется в области серверной веб-разработки. Его популярность в данной сфере обусловлена простотой самого языка и огромным количеством встроенных функций, которые облегчают работу с веб-серверами, СУБД и файловыми системами.

Чем открыть файл с расширением .php

Мы ответили на вопросы: что такое PHP и для чего используют PHP. Теперь ответим на последний вопрос: «Чем открыть файл с расширением .php?». PHP – это интерпретируемый язык программирования, следовательно, для работы программ на PHP нужен интерпретатор. Чтобы интерцептор понимал, что код в файле написан именно на PHP, у файлов должно быть расширение .php.

Для открытие файлов с расширением .php есть множество редакторов, одни из них платные, другие бесплатные. Некоторые имеют больший функционал, некоторые меньший. Хотя файл с расширением .php можно открыть даже обычным Блокнотом, а затем отредактировать его, и программа будет прекрасно работать, если, конечно, не будет ошибок в коде.

Приведем несколько редакторов, которые на наш взгляд довольно удобны и функциональны для написания программ на PHP:

  • бесплатный HTML и PHP редактор Notepad++;
  • IDE NetBeans. Это даже не редактор, а целая среда для разработки на PHP, которая изначально создавалась для Java программистов;
  • бесплатный редактор от Adobe Brackets;
  • завершает этот список редактор Sublime Text 3, который, к сожалению, платный.
Илон Маск рекомендует:  GetMem - Функция Delphi

Все эти редакторы имеют подсветку синтаксиса PHP и авто дополнение PHP кода, а так же различные плагины и расширения, которые значительно облегчают работу PHP-разработчика.

Итак, мы ответили на три вопроса, которые часто задают новички и люди, которые еще только хотят погрузиться в мир веб-технологий и веб-разработки:

  1. Что такое PHP?
  2. Где используется PHP?
  3. Чем открыть файл с расширением PHP?

Надеемся, что ответы на эти вопросы помогут вам ответить на четвертый вопрос: стоит ли изучать PHP и для чего это надо.

Программирование на языке PHP для чайников. Часть 1

Предлагаю вашему вниманию краткое руководство по языку PHP для чайников в нескольких частях. Гарантирую, написать свой первый рабочий PHP код вы сможете уже после прочтения этой серии статей (или в процессе чтения). Язык PHP один из самых простых в освоении языков программирования, это серверный (исполняется на стороне сервера) язык сценариев (интерпретируемый язык).

Используется он для создания веб-проектов. Может использоваться прямо в HTML коде. И хотя результат работы скрипта часто выводится непосредственно в браузере клиента, для работы PHP не достаточно только одного браузера. То-есть вам не получится запустить index.php файл прямо в браузере, как вы уже наверняка делали с файлом index.html. Для работы PHP сценариев и веб-страниц созданных с применением PHP потребуется веб-сервер.

Если у вас еще нет хостинг площадки для вашего сайта, тогда рекомендую поэкспериментировать с PHP сценариями на локальном сервере, предназначенном для тестирования проектов. Для организации локального сервера в операционной системе Windows (WAMP, Windows-Apache-MySQL-PHP) могут быть полезны пакеты: Денвер, XAMPP, AppServ, OpenServer и т.д. После установки этих пакетов, вы получите уже настроенный и готовый к использованию сервер, а управляться он будет через удобное меню самой программы. Также, существуют и отдельные реализации APACHE, MySQL и PHP для операционной системы Windows, но настраивать их придется уже самостоятельно через конфигурационные файлы и не будет никакого меню с галочками. Для запуска, перезапуска и остановки такого сервера можно будет использовать пакетные файлы *.bat или *.cmd (батник) с командами запуска, перезапуска или остановки служб APACHE и MySQL. Третий и самый непростой для новичка вариант — это виртуальная машина с установленной и настроенной операционной системой Linux (LAMP, Linux-Apache-MySQL-PHP). Готовые образы таких «виртуалок» часто встречаются в Интернете, так что вам могут понадобиться только знания настройки программ типа VirtualBox или VMware.


Подготовка к программированию на языке PHP для чайников

  1. PHP код следует помещать в файле index.php, сам файл должен быть размещен в корневом каталоге сайта, расположенного на веб-сервере.
  1. Весь код на языке PHP должен быть заключен между дескрипторами или сокращенный вариант , но веб-сервер может быть не сконфигурирован для использования сокращенного варианта такой записи, поэтому предпочтителен первый вариант.
  2. Вставлен PHP код может быть в любое место HTML кода.
  3. Комментирование в PHP коде осуществляется следующим образом:
  1. Для того, чтобы посмотреть ваш код, откройте веб-браузер и в адресной строке введите: http://localhost/www/MyEX/index.php

Вывод данных на экран с помощью языка PHP для чайников

  1. Вывод данных в окно (клиентскую область веб-браузера) с помощью PHP можно выполнить посредством оператора echo. Этот оператор позволяет вывести данные различных типов: числа, символьные строки и т.д.
  2. Синтаксис оператора вывода:
  1. Строковые данные заключаются в двойные или одинарные кавычки. В двойных кавычках код интерпретируется PHP. Все, что заключено в одинарные кавычки выводится без какой бы ни было интерпретации. Пример:

Пример $x кода

Пример $x кода

  1. Для вывода более подробной информации о переменной, которая может понадобиться при отладке программы, служит функция var_dump(). Ее синтаксис:
  1. В списке переменных указывается одно или несколько имен переменных. Эта функция ничего не возвращает. Пример:
  1. Менее информативной, чем var_dump(), функцией вывода сведений о переменных является:
  1. Для переменных типа «массив» эта функция выводит список вида индекс => элемент.

Переменные языка РНР для чайников

  1. Переменные – контейнеры для хранения данных. Данные, сохраняемые в переменной, называют значением этой переменной.
  2. Переменная имеет имя – последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания, начинающаяся обязательно с символа доллара ($), за которым должна следовать буква или символ подчеркивания.
  3. Правильные имена переменных: $_tel, $tmp, $my_, $address_234_45.
  4. Неправильные имена переменных: $234tel, my address, $tel:234.
  5. РНР является регистро-ависимым языком относительно имен переменных и констант. Однако ключевые слова могут использоваться в любом регистре.

Типы данных языка РНР и преобразование данных для чайников

Тип данных Пример Описание значений
Строковый или символьный (string) «Привет всем»
«123456»
«25 рублей»
Последовательность символов, заключенная в кавычки
Целочисленный, числовой (integer) -234
25
Число или последовательность цифр, перед которыми может быть указан знак числа
Числовой с плавающей точкой (float) 5.47
21.4
35E-3
Число с дробной частью (35Е2 означает 3500)
Логический (булевый, boolean) true
false
Этот тип имеет два значения: true (истина, да), false (ложь, нет)
NULL null Этот тип данных имеет одно значение — null
Массив (Array) Этот тип данных имеет одно множество значений, которые могут быть различных типов
Объект (Object) Программный объект, определяемый своими свойствами
  1. Для того, чтобы узнать какой тип переменной, нужно воспользоваться функцией:
  1. Для явного задания типа можно воспользоваться одним из двух способов:

Константы языка PHP для чайников


  1. Константой называется именованная величина, которая не изменяется в процессе выполнения программы (скрипта).
  2. В отличие от переменных, вы не можете изменять значения констант, которые были им присвоены при их объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).
  3. В РНР константы определяются функцией define(). Вот ее синтаксис:

$name — имя константы.
$value — значение константы.
$case_sen — необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).

  1. Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Пример:

Различия между константами и переменными в языке PHP для чайников

  1. У констант нет приставки в виде знака доллара ($).
  2. Константы можно определить только с помощью функции define(), а не присваиванием значения.
  3. Константы могут быть определены и доступны в любом месте без учета области видимости.
  4. Константы не могут быть определены или аннулированы после первоначального объявления.
  5. Константы могут иметь только скалярные значения.

В этой статье я перечислил базовые понятия языка PHP для чайников. Теперь пора ознакомиться с конструкциям этого языка и перейти, непосредственно, к программированию. Об этом моя следующая статья — PHP программирование для чайников.

Почему многие программисты считают PHP плохим языком? — отвечают эксперты

За время существования PHP его не пинал только ленивый. Множество мемов, нелестных отзывов и прочей критики в его адрес. Мы решили спросить у экспертов, за что же так не любят PHP и почему его считают плохим языком.

Рустам Кильдиев , руководитель отдела разработки BigData компании «Иннодата»

Причин много, пройдём по основным. Появился он в середине 90-x годов, когда не было развитой инфраструктуры и возможностей для его изучения, следствием этого стало появление массы программистов, не изучивших его полностью и не имеющих базы в компьютерных науках, коротко говоря, пишущих не очень качественный код. Язык имеет динамическую типизацию и вообще очень прост, т.е. имеет крайне низкий порог входа, что усиливало выше описанный эффект.

В 2000-х начался бурный рост количества интернет сайтов. Благодаря своей скриптовой сущности именно PHP стал лидером в этой области. К 2010-м годам руками той самой «плохой» массы программистов была написана львиная доля интернета. Быстрее, чем на «пыхе», сайт не «накалякаешь». PHP, если просмотреть линию от создания до сегодняшнего дня, также имел отставание в технологическом и синтаксическом развитии, относительно своих ровесников, например, Java. Да и огромная часть интернета написана и продолжает писаться на версии PHP 4 (2000 г.), несмотря на наличие версии 7.

Язык очень своеобразен, просто вдумайтесь, в нём нет адекватного стек-трейса из коробки. Т.е. в него не заложен инструмент отладки и разбора ошибок. Просто пишите и сразу в продакшн. Свойства языка и «слава» писавших на нём и создали такой эффект. Плюс эффект активно нагнетает элита мира разработчиков, пишущих на намного более современных, сложных, развитых, одним словом «крутых» языках, таких как Python (последних версий), Scala, Go и т.п. Но не стоит забывать, что всегда надо иметь баланс между технологическим удовольствием и бизнес-ценностью инструмента работы.

Павел Романченко , технический директор центра инновационных технологий и решений «Инфосистемы Джет»

Потому что в языке отсутствует дизайн. Язык не развивался и не проектировался целенаправленно. Многие решения принимались хаотично, что называется, «по месту».

Например, названия функций неконсистентны, т.е., глядя в название одной функции работы со строками, нельзя предугадать название другой.

Результаты плохого проектирования видны всюду: mysql_real_escape_string , сломанный оператор == и т.д.

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

Кирилл Меженцев , программист группы разработки карты рассрочки «Совесть»

Не любить PHP очень легко. Если вы спросите у разработчиков, чем именно плох PHP, то вряд ли получите внятный ответ. Ссылаться могут на общеизвестные проблемы или на неудачный синтаксис, который не понравился человеку. В своё время PHP имел ряд проблем, но их не избежали и многие другие языки. Однако благодаря своей простоте язык стал популярным (Wikipedia, первый Facebook), а вместе с популярностью массовым стало и знание о его проблемах. За годы, с новыми релизами, часть проблем закрылась, но память жива. PHP стал просто удачным мальчиком для битья.

Юрий Пономарев , консультант по программным продуктам Oracle Центра технической поддержки компании РДТЕХ

Многие считают PHP плохим из-за трёх вещей:

  1. Всё, что написано, может быть истолковано несколькими способами.
  2. Если есть что-то очень медленно и плохо написанное на процедурных языках с долгой историей, то это так или иначе можно найти на PHP.
  3. Черепашья скорость отладки и поиска багов.

Али Рагимов , главный специалист отдела разработки программного обеспечения, Okko

Мне кажется, всё дело в происхождении языка. Изначально PHP был разработан как простой скриптовый язык, чтобы каждый человек мог легко написать для себя домашнюю страницу. Тогда аббревиатура PHP расшифровывалась как Personal Home Page. Со временем язык стал развиваться, но по-прежнему оставался простым и доступным. Так как порог вхождения был низким, это привлекало большое количество людей, которые до этого не были знакомы с разработкой. Сталкиваясь с вопросами и проблемами, люди преимущественно шли на форумы в ожидании, что кто-то даст им готовое решение — вместо того, чтобы самостоятельно глубоко изучить документацию.

Таким образом, PHP-сообщество на 90% состояло из людей, которые пишут, не задумываясь и вставляя в свои проекты куски непонятного кода — главное, чтобы работало. Многие из тех, кто разобрался в скриптинге получше, вели блоги о программировании и даже записывали видеокурсы, которые зачастую содержали такие подходы и такой код, которые были непригодны для использования в реальных проектах. А люди, которые могли развернуть WordPress и установить в него плагины, и вовсе считали себя экспертами.

Именно простота языка и недостаточная глубина знаний сообщества вокруг него и создали PHP дурную славу.

Однако всё это в прошлом. PHP уже давно содержит в себе интерфейсы, абстрактные классы, трейты и другие вещи, позволяющие реализовывать парадигмы ООП и использовать паттерны проектирования. А в последних версиях PHP появилась типизация аргументов функций и методов, возвращаемых значений и свойств классов. PHP также имеет свой пакетный менеджер, множество современных мощных фреймворков, таких как Symfony и Laravel, и массу других интересных проектов, написанных очень качественно. Сейчас, в 2020, лично я не вижу причин считать PHP «плохим» языком программирования.

Дмитрий Казаков , руководитель отдела веб-разработки RU-CENTER

Началось всё, как обычно, много лет назад, когда бизнес только начал осваивать интернет. Серьёзные проекты писались за серьёзные деньги, но большинству заказчиков хотелось получить какой-нибудь сайт за мелкий прайс, желательно вообще бесплатно. Так началась эпоха wordpress и joomla. Так как все разработчики, согласные делать проекты за нормальные деньги, уже были заняты на этих самых проектах за нормальные деньги, то сайтоделием на CMS занялись случайные люди, со временем начавшие отождествлять себя с программированием и PHP как языком этих CMS. Общий, весьма низкий технический уровень этого сообщества прицепом потянул за собой в бездну репутацию PHP как инструмента, а дефицит кадров в отечественном IT не позволял гнать несвежими тряпками таких разработчиков. В конце концов PHP стал синонимом «дёшево и быстро», а ведь никто из программистов не хочет «дёшево», оправдывая это придирками к архитектуре языка.

На самом же деле, если внимательно посмотреть на PHP, будет сложно найти существенные отличия от остальных C-подобных скриптовых языков. В конце концов, не бывает плохих языков — бывают плохие программисты.

Павел Цытович , тренер по разработке и архитектуре ПО в Luxoft

Почему многие программисты считают PHP плохим языком программирования? В основном это связано с неоднозначностью, которая присутствует при написании программ на этом языке. На просторах Сети нашёл следующий код:

Как вы думаете, что он напечатает? В таких языках, как Java, C++ или C#, есть аналогичный оператор условное выражение. Там он напечатает ‘train’. А в PHP результат будет ‘horse’!

Второй момент, который вызывает сложности с PHP, – это диагностика ошибок. Если вы открываете файл, то для этого есть функция fopen() . При невозможности открыть файл, сообщение об ошибке будет выведено в поток. Мы можем его подавить, используя символ @ , т.е. записать @fopen() . Однако, даже при наличии этого оператора, если в настройках php.ini вы указали опцию scream.enabled=true , это приведёт к печати сообщения об ошибке, даже если вы используете в коде оператор @ .

Третий момент связан с неоднозначностью оператора == . Вот на этом ресурсе есть хорошая таблица, какие результаты он возвращает.

Вся проблема в том, что этот оператор «не придирается» к типам данных. Так выражение вида 123 == «123foo» вернёт TRUE , а вот выражение «123» == «123foo» уже вернёт FALSE . Этот оператор пытается сделать приведение типа и в первом выражении просто преобразует строку “123foo” в число 123, когда в других языках программирования мы бы получили ошибку, что логично. А второе выражение просто сравнивает строки. Всё это порождает неоднозначность, с которой очень сложно совладать начинающим программистам на PHP. Хороший язык программирования не должен оставлять места трактовке тех или иных конструкций, а должен быть последовательным везде и всегда.

И четвертый момент, почему считают данный язык программирования плохим, – это тот момент, что он создавался как язык шаблонов, который встраивается в HTML-код с помощью тегов . В итоге это приводило к смешению программного кода и данных, что в больших системах недопустимо. Понятно, что потом появились «лучшие практики», как надо писать и как не надо писать скрипты PHP, но для начинающих разработчиков это и сегодня представляет определенную сложность.

В защиту языка программирования PHP хочется сказать, что по-своему это мощный язык программирования, который нашел своё место в веб-приложениях. На нём написано достаточно много веб-приложений, начиная от Facebook и заканчивая системой умного дома Majoromo, CMS Drupal и другими.


Дмитрий Гацура , руководитель отдела разработки компании «СёрчИнформ»

Его считают плохим те, кто на нём не пишет, либо, кто столкнулся с некачественным исполнением поставленной задачи. Те разработчики, кто не стремятся изучить документацию языка и не следуют рекомендациям, пишут на нём действительно очень слабо. Это бросает тень на всё сообщество. PHP — язык с низким порогом вхождения. Это одновременно сильная и слабая его сторона. Достаточно знать азы программирования, поставить интерпретатор и можно писать хоть в «Блокноте». По умолчанию конфигурация интерпретатора PHP не выводит детальной информации о предупреждениях и ошибках, что на начальном этапе изучения (использования) языка может сформировать у программиста неверные принципы написания кода.

Язык по сути развязывает руки разработчику: делай, что хочешь. А когда многое дозволено, приходится быть предельно аккуратным и дисциплинированным. PHP хорошо справляется с поставленными перед ним задачами по веб-разработке. Это универсальная рабочая лошадка, на языке написана большая часть сайтов в интернете. У него есть объективные слабые стороны, и связаны они с тем, что PHP развивался в трендах и тенденциях более чем пятнадцатилетней давности. В частности его проблема в том, что он тянет с 1997 года ворох проблем, например реализацию ООП, проблемы с сигнатурами функций в стандартной библиотеке, двойственный метод использования стандартных расширений (ООП или процедурный) и т.д. У PHP накопился багаж того, что нужно переделать. И эта работа ведется, многие исторически накопленные проблемы решаются.

Евгений Потапов , генеральный директор ITSumma

Во-первых, нужно изначально иметь в виду, что у языков программирования, даже общего назначения, есть свои устоявшиеся сферы применения. Если рассматривать PHP, то прежде всего это веб-разработка. Значит и сравнивать, насколько плох или хорош PHP, логично с другими языками для веб-разработки.

Тут нужна небольшая историческая справка. Изначально Web разрабатывали на «том, что было» (C, а потом Perl через CGI). Затем, особенно в энтерпрайз секторе, значительное распространение получила Java и следом C# (ответ Microsoft). Это созданные большими корпорациями, хорошо спроектированные, можно так сказать, серьёзные языки программирования.

В то же время PHP начинал как проект энтузиаста (даже расшифровывался как Personal Home Page), как набор скриптов на Perl.
Но в то же время он имел большие плюсы: очень низкий порог входа, отсутствие необходимости в тяжеловесных виртуальных машинах, простота создания несложных сайтов.

Обратная сторона этих плюсов — уровень компетенции комьюнити, собравшегося вокруг PHP, был значительно ниже по сравнению с другими языками.

Web стремительно развивался. А за ним развивался и PHP, так как это был чуть ли не единственный язык для построения неэнтерпрайзного Web.

С определенной версии это стал вполне современный язык (с некоторым наследием), в среднем, ничем не хуже, чем любые другие аналоги.

Но вот этот «Personal Home Page» осадок остался.

Во-вторых, когда PHP запустил волну популярности динамически программируемых языков, в Web зашли такие языки, как, например, Python, Ruby или NodeJS. Тут уже началась «гонка вооружений» между ними. На старте эти языки (и связанные библиотеки и фреймворки) учитывали недостатки PHP и выглядели значительно привлекательнее. Тут уже начались холивары между комьюнити. В принципе каждый язык занял свою нишу. PHP же итеративно догоняет по функциональными возможностям нововведения в других языках. И на текущем этапе плохим языком его назвать уж точно нельзя. Скорее — промышленным стандартом в не-энтерпрайз Web.

Резюмируя, можно сказать, что такое отношение к PHP вызвано его историей и конкуренцией с регулярно появляющимися «самыми прорывными» свежими языками.

Что может php?

В области программирования для сети Интернет PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений [7] . Основные из них:

  • автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
  • взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, ИнтерфейсPDO);
  • автоматизированная отправка HTTP-заголовков;
  • работа с HTTP-авторизацией;
  • работа с cookies и сессиями;
  • работа с локальными и удалёнными файлами, сокетами;
  • обработка файлов, загружаемых на сервер;
  • работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в декабре 2012 года PHP находился на 6 месте среди языков программирования. [5] К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.

Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).

Создание GUI-приложений

Хотя PHP и не слишком распространён в данном качестве, его можно использовать и для создания GUI-приложений.

Для создания кроссплатформенных приложений служат пакеты PHP-GTK и PHP-Qt, представляющие собой обёртки для соответствующих популярных библиотек виджетов.

Для тех, кого интересует программирование с использованием Windows API, существует две альтернативы. Во-первых, это open source пакет WinBinder home page. Его ядро представляет собой написанное на C расширение php — php_winbinder.dll. В состав WinBinder включён также визуальный редактор форм (см. скриншот), написанный с использованием самого WinBinder. Но, по сути, WinBinder является простой обёрткой к WinAPI, и программирование с его использованием — достаточно низкоуровневое.

Второй альтернативой является интегрированная среда Devel Studio, ориентированная, прежде всего, на начинающих программистов.Visual PHP для Windows, обзор DevelStudio на хабрахабре

Также существует реализация PHP для .NET/Mono под названием Phalanger. Результатом компиляции PHP кода в Phalanger может быть любое .NET-приложение, будь то серверное или десктопное.

История

В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»).

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1% (приблизительно 50 тысяч) всех интернет-доменов мира. [3]

Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зеев Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года. [3]

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. С этой версии акроним php расшифровывается как «PHP: hypertext Preprocessor», вместо устаревшего «Personal Home Page».

Илон Маск рекомендует:  Фон в CSS

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зеев Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.

Шестая версия PHP разрабатывалась [8] с октября 2006 года. Было сделано [9] [10] множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. [11] . Однако в марте 2010 года разработка PHP6 была признана бесперспективной [12] из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.

Синтаксис

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа Hello world на PHP выглядит следующим образом:

PHP исполняет код, находящийся внутри ограничителей, таких как . Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

Помимо ограничителей , допускается использование дополнительных вариантов, таких как и . Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP (конструкции и могут быть выключены в конфигурационном файле php.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора Типы данных

PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

К нескалярным типам относятся:

К псевдотипам [13] относятся:

  • 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 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:

callback тип может быть представлен:

  • строкой (интерпретируется как название функции);
  • массивом где нулевой и первый элемент — строки (интерпретируется как название статической функции класса);
  • массивом где нулевой элемент — объект, а первый — строка (интерпретируется как метод у объекта).

Для проверки является ли значение вызываемым следует использовать is_callable($var)

Обращение к переменным и функциям

Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. [14] Например:

В PHP echo и print не являются функциями [15] (хотя 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.

Начиная с версии 5.4.0 множественное наследование может быть реализовано с помощью механизма особенностей (англ. trait ). Особенности похожи на примеси (англ. mixins ), за исключением того что для них нельзя напрямую создать экземпляр. Повторное использование кода заключено в использовании кода особенности в нескольких классах. Допускается использовать в одном классе несколько особенностей. Механизм особенностей имеет средства разрешения конфликтов имён. При запуске программы код особенности будет «вкомпилирован» в код содержащего его класса.

Классы в PHP имеют ряд специальных методов (англ. magic methods ), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.

Начиная с пятой версии PHP, объекты передаются по ссылке:

«Paamayim Nekudotayim» (иврит: פעמיים נקודתיים) или просто «двойное двоеточие». Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. «Paamayim Nekudotayim» на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали [16] именно это обозначение. «Paamayim Nekudotayim» действительно значит «двойное двоеточие» на иврите. Это обозначение не менялось ни разу в течение всего времени разработки PHP. [17]

Особенности интерпретатора

PHP-скрипты обычно обрабатываются интерпретатором в порядке [1] , обеспечивающем кроссплатформенность разработанного приложения:

Для увеличения быстродействия приложений возможно использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1—3, что в общем случае ведёт к значительному ускорению работы.

Важной особенностью является то, что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта. [18]

Расширения

Интерпретатор состоит из ядра и подключаемых модулей, «расширений», представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и тому подобным. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.

Параметры настройки

Интерпретатор PHP имеет специальный конфигурационный файл — php.ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. [19] Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое. Во время выполнения скрипта эти параметры могут быть изменены командой ini_set. [20]

Режимы интерпретатора

Существует несколько способов использования интерпретатора PHP:

  1. В качестве модуля к веб-серверу посредством SAPI или ISAPI[21] (например, для 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-приложений [22] и решения административных задач в операционных системахUNIX, Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако, в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript

Пасхальные яйца

PHP имеет несколько пасхальных яиц (шуток). Передача специальных GET-параметров любому php-скрипту приводит к выводу различных изображений.

введя это значение в адресную строку браузера можно увидеть различные изображения, в зависимости от версии интерпретатора:

  1. фотография Thies Arntzen (версии 4.1.2, 4.2.2)
  2. фотография таксы (владелец Stig Bakken) (версии 4.3.2, 4.3.3, 4.3.8 — 4.3.10)
  3. фотография чёрного терьера (владелец Zeev Suraski) (версии 4.3.11, 4.4.0 — 4.4.4, 5.1.0, 5.1.2)
  4. фотография кролика (версии 4.3.1, 5.0.0, 5.0.3)
  5. искажённый логотип PHP (версии 5.1.3 — 5.2.13) [23]
  6. фотография игрушечного синего слона с надписью PHP (начиная с версии 5.3.0) [23]

Следующие два значения позволят увидеть стандартный логотип PHP и ZEND, соответственно: [23]

Эти значения можно получить и непосредственно в PHP-скрипте с помощью функций php_logo_guid и zend_logo_guid для логотипа Zend.

Также имеется специальное значение для отображения списка всех авторов PHP (4,5): [23]

Альтернативные реализации

В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб-приложений, создано несколько альтернативных компиляторов, близких к PHP языку. Так в феврале 2010 года компания Facebook открыла [24] [25] свой компилятор PHP — HipHop (HPHP, Hyper-PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.

В таблице представлен список существующих на сегодняшний момент альтернативных реализаций.

Что может php?


Возможности PHP очень большие. Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI. Например, обрабатывать данных форм, генерировать динамические страницы, отсылать и принимать cookies. Но PHP способен выполнять и множество других задач.

Существуют три основных области, где используется PHP.

  • Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что вам понадобится, это парсер PHP (в виде программы CGI или серверного модуля), вебсервер и браузер. Чтобы Вы могли просматривать результаты выполнения PHP-скриптов в браузере, вам нужен работающий вебсервер и установленный PHP. За более подробными сведениями обратитесь к подразделу установка PHP.
  • Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться вне зависимости от вебсервера и браузера. Все, что вам потребуется — парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. Дополнительная информация находится здесь.
  • Создание приложений GUI, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если вы очень хорошо знаете PHP и хотели бы использовать некоторые его возможности в своих клиент-приложениях, вы можете использовать PHP-GTK для создания таких приложений. Подобным образом Вы можете создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом PHP. Если вы заинтересованы, посетите сайт PHP-GTK.

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие, как HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многих других. (Существует даже версия PHP для OS/2. Неизвестно, правда, насколько соответствующая нынешним реалиям). Также в PHP включена поддержка большинства современных вебсерверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server, серверов Netscape и iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и вебсервера. Кроме того, у вас появляется выбор между использованием процедурного или объектно-ориентированного программирования или же их сочетания.

PHP способен не только выдавать HTML. Возможности PHP включают формирование изображений, файлов PDF и даже роликов Flash (с использованием libswf и Ming), создаваемых «на лету». PHP также способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера, вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Создание скрипта, использующего базы данных, — очень просто. В настоящее время PHP поддерживает следующие базы данных:

Что может php?

Освойте бесплатно наиболее простой, быстрый и гибкий способ создавать адаптивные веб-сайты.

Дизайн лендинга

Создавайте дизайн любых сайтов — для себя и на заказ!

Популярное

  • Главная
  • ->
  • Материалы
  • ->
  • Основы основ PHP: обзор для начинающих

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Что нужно знать для создания PHP-сайтов?

Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.

Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!

Создайте свой сайт за 3 часа и 30 минут.

После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.

Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).

Изучите основы HTML и CSS менее чем за 4 часа.

После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.

Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Хотите изучить JavaScript, но не знаете, как подступиться?

После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.


Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.

*Наведите курсор мыши для приостановки прокрутки.

Основы основ PHP: обзор для начинающих

PHP на протяжении многих лет стабильно находится с списке наиболее популярных языков программирования и веб-разработки. Конечно, есть и другие языки, однако повсеместное распространение сайтов на основе движка WordPress во многом послужило дополнительным толчком к еще большему росту популярности данного языка.

Что такое PHP?

PHP расшифровывается как Hypertext PreProcessor (что-то вроде «преобработчик HTML»).

Что это означает? Начнем немного издалека: есть два типа языков. Один тип называется «клиентским», а другой — «серверным».

Это значит, что клиентские языки работают в браузере каждого конкретного человека. Типичным представителем клиентских языков является JavaScript, о котором Вы наверняка слышали и результат работы которого не раз видели.

Если Вы хотите больше узнать о JavaScript, то ознакомьтесь с материалом Основы JavaScript — часть 1.

Все действия и команды, которые мы задаем, скажем, на языке JavaScript, выполняются браузером, что означает, что один и тот же код, написанный нами, обрабатывается в одном случае браузером Internet Explorer, в другом — Firefox, в третьем — Opera, в четвертом — Google Chrome, т.е. тем обозревателем, который использует каждый конкретный человек для просмотра нашей страницы.

Браузер, таким образом, имеет альтернативное название — клиент.

В случае с серверными языками (к которым и относится PHP) мы наблюдаем другую картину.

Наш сайт всегда расположен на каком-либо сервере, т.е. мощном компьютере, специально предназначенном для размещения на нем сайтов многих людей.

Все команды и скрипты, написанные на языке PHP, выполняются именно на сервере, и никак иначе. После того, как PHP-скрипт выполнится на сервере, сервер «отдает» результат своей работы, который мы и видим в браузере.

Здесь важно понимать следующий момент: по исходному коду веб-страницы, который можно посмотреть в любом браузере через опцию вроде «Исходный код страницы» нельзя определить, использовался ли язык PHP для создания данной страницы, или нет.

Илон Маск рекомендует:  Функции msql

Невозможно это сделать как раз потому, что PHP-скрипты обрабатываются на сервере, а в браузер передается уже готовый, обработанный вариант. По сути, только HTML-код.

Разница по сравнению с обычными статичными HTML-страницами заключается в одном дополнительном этапе обработки кода.

В случае с HTML-страницей есть только один этап: браузер обрабатывает HTML-код, т.е. разметку страницы в соответствии с определенными правилами, в результате чего мы и видим веб-страницу в нормальном виде.

В случае с PHP-страницей есть два этапа: сначала так называемый PHP-интерпретатор (обработчик) производит выполнение PHP-кода (в результате этого получается простой HTML-код), а после этого уже браузер обрабатывает результат этой обработки, т.е., по сути, выполняется тот самый этап, который является единственным в случае с HTML-страницей.

Вообще PHP прекрасно работает в паре с HTML. Более того, в HTML-код можно делать вставки PHP-кода, а с помощью PHP выводить HTML-разметку. Важно запомнить следующий простой момент: Не имеет значения, насколько сложен Ваш PHP-код, в конечно итоге «на выходе» он станет обычным HTML.

Для чего использовать PHP?

HTML на 100% статичен. Встраивая же в наши страницы PHP-код, мы можем добиться того, чтобы содержимое одной и той же страницы было различно в зависимости от определенных условий (динамические страницы). За долгие годы своего существования язык PHP зарекомендовал себя как великолепное решение для создания динамических веб-сайтов.

Похож ли PHP на другие языки?

Да. PHP похож на ASP.NET, Perl, JavaScript, C#. Возможно, сейчас Вы и не знаете ни одного из них, однако изучение PHP позволит Вам в будущем с большей уверенностью овладевать и другими языками.

Что нужно, чтобы начать?

Для полноценной работы с PHP на Вашем компьютере нужны следующие вещи:

1. Веб-сервер Apache (он используется в большинстве случаев);
2. Система Управления Базами Данных (СУБД) MySQL (в базе данных хранится наполнение сайта);
3. Установленный интерпретатор PHP;
4. Текстовый редактор, в котором Вы будете писать код;
5. Браузер.

Теперь чуть подробнее о первых трех пунктах.

1. Веб-сервер предназначен для имитации на Вашем компьютере того самого сервера, на котором потом будет размещаться Ваш сайт уже на хостинге в Интернет. Это нужно для того, чтобы у себя на компьютере Вы могли писать любые PHP-скрипты и смотреть, как они работают, вносить в них изменения и правки. Одним словом, это необходимо для так называемой отладки.

2. СУБД MySQL нужна для хранения информации, которая будет на Вашем сайте. В случае с HTML-страницами все содержимое сайта находится непосредственно в них. Каждая страница содержит определенный объем информации (контента).

При использовании PHP для целей хранения полезного информационного наполнения сайта используется, как правило, база данных. В подавляющем большинстве случаев это MySQL.

3. Интерпретатор PHP — это своеобразная программа, которая осуществляет обработку PHP-кода на веб-сервере. Без него мы никак не сможем выполнить наши PHP-скрипты и увидеть результат их работы.

Как же установить все эти компоненты на компьютер?

Существует хорошее решение, которое значительно упрощает этот процесс и не требует от Вас никаких знаний в области настройки веб-сервера, MySQL и PHP-интерпретатора.

Это специальный набор Denwer, в который уже включены все три компонента. Он устанавливается на компьютер как обычная программа и готов к работе без предварительных настроек.

Denwer является идеальным решением в подавляющем большинстве случаев, а для новичков он будет и вовсе спасительной палочкой, так как позволяет приступить к разработке сайтов на PHP без необходимости изучать кучу дополнительной информации по настройке веб-сервера, СУБД MySQL и интерпретатора PHP.

Посмотреть видеоурок по установке и основам работы с Denwer Вы можете здесь: Denwer — установка и основы работы.

Основы

Для того, чтобы сообщить серверу о том, что надо произвести обработку PHP-кода, необходимо использовать следующий синтаксис при добавлении PHP в HTML-документ:

Открытие блока PHP-кода обозначается как » «. Теперь изменим наш код следующим образом:

Обратите внимание, что в данном примере мы написали все в одну линию. Пробелы и переводы строк не играют здесь роли и не окажут влияния на конечный результат.

В примере мы даем серверу команду echo (команда для вывода информации на экран) и указываем, что мы хотим вывести на экран фразу Это PHP в действии. Каждая команда в PHP отделяется от предыдущей знаком точки с запятой в конце этой команды.

PHP более строг к четкому соблюдению синтаксиса и не простит Вам отсутствие точки с запятой, скобки, кавычки и т.п., как это могло бы быть в случае с HTML. PHP в этом случае выдаст сообщение о синтаксической ошибке, которую нужно исправить и укажет строку, где эта ошибка была допущена.

Кстати, в данном случае мы могли и не использовать точку с запятой в конце команды, так как она у нас в данном случае единственная (команда). Однако лучше всегда придерживаться хороших практик при работе с кодом.

Объявление переменных

Переменная в PHP — это своеобразный контейнер, который может содержать определенную информацию. Для того, чтобы создать такой «контейнер», нам нужно его назвать и указать, что в нем должно «лежать». Делается это с помощью знака «$», который означает, что мы имеем дело с переменной. Давайте занесем в переменную с именем test фразу Это PHP в действии.

Результат обработки этот кода будет точно таким же, как и в предыдущем примере. На экран просто будет выведена фраза Это PHP в действии. Однако до этого мы напрямую выводили эту фразу, а сейчас занесли эту фразу в переменную test, после чего дали команду вывести на экран уже значение переменной test.

Каким образом мы можем добавить еще какой-нибудь текст или иную информацию для вывода на экран?

Давайте рассмотрим это на следующем примере:


Как Вы видите, после вывода переменной test идет пробел, затем точка, затем снова пробел. После этого открываются кавычки, сначала идет один пробел, а затем — предложение Меня зовут Дмитрий Науменко., после чего закрываются кавычки.

Давайте пройдем по шагам и посмотрим, что и для чего здесь нужно.

После вывода переменной test мы как бы «прибавляем» к уже существующему выводу дополнительный текст. Делается это с помощью символа точки (.).

Символ точки означает в PHP сложение, но не сложение чисел, а сложение именно текстовой информации, вроде той, с которой мы и работаем. После точки мы указываем в кавычках, что именно мы хотим добавить к выводу, и пишем новое предложение.

Обратите внимание на то, что после открытия кавычек идет пробел. При выводе на экран он будет сохранен, благодаря чему у нас не сольются наши фразы. Т.е. мы получим вы выходе:
Это PHP в действии. Меня зовут Дмитрий Науменко.

Если же убрать тот пробел, то получится:
Это PHP в действии.Меня зовут Дмитрий Науменко.

Также хочу обратить Ваше внимание на пробелы с двух сторон от точки, производящей сложение. Эти пробелы не играют никакой роли и используются только для наглядности и удобства восприятия. Следующий код выдаст нам точно такой же результат:

Поэтому пишите так, как Вам в данном случае удобнее.

Вставка комментариев в код

Первый вопрос — «Для чего они вообще нужны?»

Нужны комментарии для того, чтобы Вы в своем или чужом коде могли делать пометки, примечания, пояснения и т.п. в ходе работы с кодом. Это сейчас Вам кажется, что все понятно и очевидно. Пока Вы отлично помните, зачем нужна эта переменная и что делает вон та функция.

Пройдет не так много времени и без комментариев Вы едва ли сможете разобраться даже в своем собственном коде, не говоря уже о чужих скриптах. Поэтому грамотное использование комментариев — насущная необходимость.

В PHP используются, как правило, два вида комментариев:

Разумеется, комментарии действуют лишь в пределах блоков PHP-кода .

Выводим HTML с помощью PHP

Как я уже упоминал ранее, PHP и HTML отлично работают вместе. То, что мы находимся внутри блока PHP-кода, еще не говорит о том, что мы не можем вывести на экран текст в параграфе или в жирном начертании.

Как Вы уже догадались, результатом работы этого кода будет вывод в браузер данной строки в жирном начертании.

Создаем первую функцию

Прежде всего, несколько слов о том, что такое функция.

Функция — это своеобразная мини-программа, которая выполняет некую полезную работу и выдает нам результат.

Функции имеет смысл использовать в тех случаях, когда нужно производить однотипные, шаблонные действия. В этом случае мы пишем такую мини-программу, что значительно уменьшает объем кода и, соответственно, наших усилий.

Синтаксис при создании функции следующий:

Скажем, если мы хотим написать функцию, подсчитывающую сумму чисел 10 и 5, мы можем сделать так:

Мы создаем функцию с именем sum и в ее теле указываем, что она должна вывести на экран сумму чисел 10 и 5. После этого мы вызываем функцию sum. Вызов функции по сути означает ее выполнение.

В данном примере мы не используем никаких аргументов (см. синтаксис функции выше). Что такое аргументы и для чего они нужны, мы рассмотрим непосредственно на примере. Модифицируем тот код, что у нас есть, сделав его более гибким и функциональным:

Теперь при создании функции sum мы указываем в скобках через запятую два аргумента — $slagaemoe1 и $slagaemoe2. В теле же функции мы складываем и выводим на экран не конкретные цифры, а значения переменных $slagaemoe1 и $slagaemoe2 (т.е. этих самых аргументов).

Теперь нам нужно просто вызвать функцию, при этом передав ей в скобках два аргумента, которые она «ожидает». Мы указываем цифры 10 и 5, в результате чего получаем 15. Передав функции sum другие числа мы, разумеется, получим другой ответ.

Надеюсь, что данный обзор помог Вам понять, что такое PHP и для чего он нужен, какие преимущества он имеет перед статичным HTML и как можно использовать некоторые из его простейших возможностей.

P.S. Хотите двигаться дальше в освоении PHP? Обратите внимание на премиум-уроки по различным аспектам сайтостроения, включая программирование на PHP, а также на бесплатный курс по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить этот мощный язык веб-разработки:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

Лекции по веб-программированию

PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.

Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на веб-сервере.

Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)». Синтаксис языка берет начало от C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление веб-разработчикам возможности быстрого создания динамически генерируемых web-страниц.

Возможности PHP

Существуют три основных области, где используется PHP.

• Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что для этого понадобится, это парсер PHP (в виде программы CGI или серверного модуля), веб-сервер и браузер. Чтобы просматривать результаты выполнения PHP-скриптов в браузере, необходим работающий веб-сервер и установленный PHP.

• Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться вне зависимости от веб-сервера и браузера. Все, что потребуется — парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. Дополнительная информация находится здесь.

• Создание приложений GUI, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если PHP хорошо известен и есть желание использовать некоторые его возможности в своих клиент-приложениях, то можно использовать PHP-GTK для создания таких приложений. Подобным образом можно создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом PHP.

История PHP

Истоки PHP лежат в старом продукте, имевшем название PHP/FI. PHP/FI был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме.

Расмус Лердорф (англ. Rasmus Lerdorf; р. 22 ноября 1968) — датский программист (ныне живущий в Канаде), написавший в 1994 году набор скриптов на Perl/CGI.

Развитие web еще только начиналось, никаких специальных средств для решения таких задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный «Personal Homepages Tools» — («Инструменты для персональных домашних страниц»). Очень скоро потребовалась большая функциональность и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие web-приложения. Расмус Лердорф решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.

PHP/FI (Personal Home Page / Forms Interpreter — Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.

В 1997 выходит PHP/FI 2.0. Вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50 000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.

Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета!

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали не эффективно.

Новый движок, названный ‘Zend Engine’ (www.zend.com) (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.

Шестая версия PHP 6.0 разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.

В 2014 году было проведено голосование, по результатам которого следующая версия получила название PHP 7. Выход новой версии планировался в середине октября 2015 года. В марте 2015 года Zend представили инфографику в которой описаны основные нововведения PHP 7.

3 декабря 2015 года было объявлено о выходе PHP версии 7.0.0.

Архитектура PHP

PHP является интерпретатором с встроенным блоком трансляции, оптимизирующим ход интерпретации.

Использование интерпретатора (а значит и PHP) имеет свои неоспоримые преимущества:

1. Нет необходимости заботится об освобождении выделенной памяти, не нужно закрывать файлы по окончании работы с ними – всю рутинную работу сделает интерпретатор, поскольку программа выполняется под его бдительным контролем;

2. Не нужно думать о типах переменных, а также не нужно объявлять переменную до его первого использования;

3. Отладка программ и обнаружение ошибок существенно упрощаются – интерпретатор полностью контролирует этот процесс;

4. В контексте веб-приложений, интерпретатор также имеет еще очень важное преимущество – нет опасности «зависания» сервера при неправильной работе программы.

Синтаксис PHP

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach , заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа на PHP выглядит следующим образом:

Помимо ограничителей ?> , допускается использование дополнительных вариантов, таких как ?> и .

Переменные и типы данных

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.

Строка может быть определена тремя различными способами.

  • одинарными кавычками
  • двойными кавычками
  • heredoc-синтаксисом

Простейший способ определить строку — это заключить ее в одинарные кавычки (символ ‘). Чтобы использовать одинарную кавычку внутри строки ее необходимо предварить символом обратной косой черты (\), т. е. экранировать. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, необходимо продублировать ее. Нет необходимости экранировать саму обратную косую черту.

Если строка заключена в двойные кавычки («), PHP распознает большее количество управляющих последовательностей для специальных символов:

Последовательность Значение
\n новая строка (LF или 0x0A (10) в ASCII)
\r возврат каретки (CR или 0x0D (13) в ASCII)
\t горизонтальная табуляция (HT или 0x09 (9) в ASCII)
\\ обратная косая черта
\$ знак доллара
двойная кавычка
\[0-7] последовательность символов, соответствующая регулярному выражению, символ в восьмеричной системе счисления
\x[0-9A-Fa-f] последовательность символов, соответствующая регулярному выражению, символ в шестнадцатеричной системе счисления

heredoc-определение (PHP):

Переменные внутри heredoc интерпретируются. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.

В PHP 5.3+ появилась версия heredoc, в которой переменные не интерпретируются. Для этого идентификатор нужно окружить одинарными кавычками. Это называется nowdoc.

Также в PHP 5.3+ идентификатор можно окружить двойными кавычками. Это соответствует варианту без кавычек.

Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().

Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный хеш. Возможно неожиданное поведение при использовании цикла for со счетчиком вместо foreach. Так, например, при сортировке массива с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.

Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:

function($args, $argsN) use ($ctxVar, $ctxVar1) < . >
callback тип может быть представлен:

строкой (интерпретируется как название функции);
массивом где нулевой и первый элемент — строки (интерпретируется как название статической функции класса);
массивом где нулевой элемент — объект, а первый — строка (интерпретируется как метод у объекта).
Для проверки является ли значение вызываемым следует использовать is_callable($var)

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL