Более подробно о PHP вы можете узнать из специализированной литературы, например, из книги "PHP: полезные приемы", готовящейся в настоящее время к выходу в свет в издательстве "Горячая линия — Телеком". При подготовке данной главы использовались материалы из этой книги.
Ниже будет рассказано об основах PHP. Весь нижеследующий текст рассчитан на тех, кто имеет хотя бы общее представление о программировании и может понять принципы работы с PHP на основании сравнения его с другими языками. Если такового опыта у вас нет, то для изучения PHP воспользуйтесь специальной литературой или Интернет-публикациями — к сожалению, делать книгу об Интернете еще и учебником по программированию у нас возможности нет.
Основы языка
Синтаксис PHP прост. Программы на PHP встраиваются в текст web-страницы так же, как и сценарии на JavaScript, VBScript, — окаймляясь угловыми скобками с указанием языка:
Переменная а равна 1
эквивалентен коду
,
однако первый вариант меньше нагружает процессор компьютера, на котором расположен интерпретатор PHP.
Из сказанного также следует, что все программы на PHP, расположенные на одной web-странице, представляют из себя одну большую программу, — несмотря на то, что они разделяются блоками обычного текста страницы. Именно поэтому переменная, обьявленная в расположенном в начале страницы коде, сохраняет свое значение не только до ее конца, но и во всех присоединяемых с помощью команды include файлах. Вот, к примеру, демонстрация этого — рис. 19.1.
Рис. 19.1. Пример PHP-кода. Посмотрите внимательно на код (окна слева) и итог его выполнения (окно браузера справа). Обратите внимание, что переменная a, которой присвоено значение еще в первом программном блоке левой страницы, сохранила его не только в других ее блоках, но и в программе, расположенной во включаемой с помощью команды include страницы.
Однако помните, что если вы создаете функцию на PHP (попросту вставляя в программу инструкцию Function имя () {…команды функции…} с целью потом ее вызывать командой имя ), то переменные, обьявленные в ней, по умолчанию имеют установленное значение только внутри функции. Кроме того, также по умолчанию переменные, обьявленные вне функции, в ней самой никакого значения не имеют. Подробнее о функциях и о переменных в них читайте в руководстве по PHP, например, с того же сайта http://php.spb.ru.
Обычно web-сервер настраивается так, что на предмет наличия программ на PHP просматриваются файлы, имеющие расширение. php, phtml, остальные же файлы передаются в браузер пользователя без поиска в них команд PHP. Делается так для более быстрой работы сервера, а также для обеспечения возможности установки на сервере разных интерпретаторов (например, SSI — Server Side Includes, в технологии, в какой-то мере предшествовавшей PHP), так как тогда каждому из интерпретаторов назначаются свои расширения для обработки соответствующих файлов.
Так как PHP-код полностью исполняется на web-сервере, то в страницах, выдаваемых браузеру, он будет отсутствовать, и если кто заинтересуется вашим опытом программирования, то вам придется отправлять ему этот код по почте, так как при просмотре сайта каким-нибудь образом узнать исходный PHP-код его страниц нельзя.
Работа с формами
Значения переменных можно передавать между различными страницами сайта — с помощью использования форм. Формой называется конструкция, состоящая из поименованных элементов особых типов, заключенных между HTML-тэгами
и . В качестве элементов формы могут выступать поля ввода текста, кнопки, выпадающие меню, переключатели, квадратики для отметки галочкой — checkbox'ы, а также картинки формата jpg или gif.
Наиболее важным свойством формы является то, что в ее заголовке — в открывающем тэге
можно указать адрес какого-либо файла, и тогда при его загрузке в программный код этого файла, если он будет там присутствовать, передадутся значения всех переменных, установленных в этой форме — в частности, значения всех элементов формы, как если бы эти значения были установлены в программе, расположенной в самом загружаемом файле. Таким образом можно передавать значения переменных между различными web-страницами, используя их в программном коде. Имена переменных соответствуют тем именам, которые были даны элементам формы в их тэгах, а значения — соответственно значениям этих элементов: для поля ввода текста — введенному тексту, для переключателя или checkbox'а — True при отмеченном и False при неотмеченном, для рисунка — координаты указателя мыши относительно верхнего левого угла изображения, для выпадающего меню (элемент <
select name="имя">
). Последнее приводит к тому, что в адресе страницы с выведенными описаниями альбомов присутствуют переменные (см. рис. 19.3), т. е. если посетитель занесет этот адрес в «Избранное», то при последующих возвращениях на сайт по этой ссылке (например, для дальнейшей загрузки песен выбранных альбомов) ему не придется вновь выбирать альбомы на заглавной странице, как это было бы в случае использования метода post, не помещающего имена переменных и их значения в строку адреса (что выглядит красивее). Кнопка, вызывающая переход на страницу, указанную в параметре action заголовка формы, должна иметь тип submit:
Загрузив заглавную страницу сайта www.harchikov.ru, можно легко изучить ее структуру.
|
Читать дальше