Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP "немного" иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась! Чёрный квадрат
Приложения делятся на консольные и оконные. Начнём с создания первых, так как это проще. Итак, для начала нужно определиться с тем, что мы будем писать... я предлагаю написать простой MD5 & Base64 Encoder - вещь в хозяйстве нужная и полезная, тем более здесь всё достаточно просто. Для запуска PHP скрипта из командной строки и передачи ему нужных параметров используется следующая конструкция: php.exe [опции] [-f] [параметры]
Вы, наверное, замечали: на некоторых сайтах предлагают оставить свой e-mail для того чтобы подписаться на рассылку. Вы будете получать по почте сведения о новинках сайта, и не нужно будет лезть в Интернет, чтобы посмотреть, не появилось ли там что-то новенькое. Подобный сервис мы сейчас организуем.
Проект наш будет состоять из двух сценариев и базы e-mail'ов. Один сценарий будет служить для подписки/отписки пользователей, а второй, собственно, будет осуществлять рассылку. Сначала напишем сценарий для добавления и удаления почтовых ящиков из базы. Создайте сценарий subscribe.php - для начала разработаем пользовательскую форму:
Окончательные релизы PHP 6 появятся не скоро, но разработчики должны знать к чему готовиться...
Вы уже, наверное, в курсе, что группа разработчиков ядра PHP 6 встречалась в ноябре 2005 года в Париже. Это была захватывающая встреча, на которой разработчики обсудили развитие PHP со своей точки зрения. Прежде чем я начну свой рассказ о принятых решениях, вынужден предупредить – все что здесь перечислено, это не «100% решенные вопросы» и в окончательном релизе PHP 6 дела могут обстоять иначе. Конечно же, все эти моменты будут обсуждаться подробнее, но уже сейчас можно говорить о перспективах.
Для начала надо как-то идентифицировать браузер. Для этого надо выдать ему уникальный идентификатор и попросить передавать его с каждым запросом. Стыдно признаться, но когда я впервые узнал о сессиях, я думал, что это какой-то особый механизм, некий новый способ общения браузера с сервером - "сессии". Что идентификатор сессии передается каким-то особым образом. Но, разочарование было жестоким...
Сессии используют стандартные, хорошо известные способы передачи данных. Собственно, других-то просто и нет. Идентификатор - это обычная переменная. По умолчанию ее имя - PHPSESSID. Задача PHP отправить ее браузеру, чтобы тот вернул ее со следующим запросом. Из уже упоминавшегося раздела FAQ ясно, что переменную можно передать только двумя способами: в cookies или POST/GET запросом. PHP использует оба варианта.
Сессии - это на самом деле очень просто. Надо только понимать, для чего они нужны и как устроены. Ответим сначала на первый вопрос. Возможно Вы знаете, что веб-сервер не поддерживает постоянного соединения с клиентом, и каждый запрос обрабатывается, как новый, без связи с предыдущими.
То есть, нельзя ни отследить запросы от одного и того же посетителя, ни сохранить для него переменные между просмотрами отдельных страниц. Вот для решения этих двух задач и были изобретены сессии. Собственно, сессии, если в двух словах - это механизм, позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса.
Скачайте архив бинарных файлов PHP5 (архивы *.zip) последней стабильной версии, обратившись либо к нашей странице загрузок PHP (Download / PHP), либо к странице загрузок на официальном сайте PHP (php.net). Не скачивайте PHP в виде инсталляционных пакетов (типа *.msi), в данной ситуации они Вам не помогут.
Скачали PHP5 в виде *.zip архива? Тогда продолжим. Откройте корневой каталог Вашего Apache, по умолчанию это должен быть:
C:/Program Files/Apache Group/Apache2/
Создайте в корневом каталоге Apache подкаталог PHP. Например:
Для получения дистрибутива Apache 2.0.xx, обратитесь на страницу загрузок Apache нашего портала (Download / Apache), либо скачайте бинарный инсталляционный пакет (*.msi) с зеркала официального сайта проекта Apache HTTPD здесь. Выбирайте тот файл пакета, который имеет имя подобное apache_2.0.xx-win32-x86-no_ssl.msi (где xx-текущая версия Apache).
Сразу после получения Apache, установите его, процесс установки тривиален и не имеет каких-либо сложных особенностей. Обратите внимание на путь установки Apache (Destination Folder), отнеситесь к выбору директории для установки Вашего Apache с вниманием. Однако мы будем рассматривать конфигурирование Apache и PHP на примере установки в директорию по умолчанию:
C:/Program FIles/Apache Group/
После того, как установка завершена, можете приступать к установке PHP5.
Установка Apache 2.0.xx и PHP5 в Windows
Установка Apache Apache 2.0.xx под Windows и конфигурирование его для использования совместно с PHP 5 достаточно простая задача. Вам не потребуется компилировать исходники Apache и PHP, так как всегда доступны бинарные дистрибутивы для Apache и PHP.
Перед установкой убедитесь, что логин, под которым Вы работаете, входит в группу Administrators. Убедитесь, что 80-й TCP-порт не занят каким-либо другим сервисом или приложением, например, Microsoft IIS. Если 80-й порт занят, измените порт в настройках IIS-a (или другого сервиса) на другой, или же отключите или деинсталлируйте данное приложение.
В РНР существует несколько стандартных функций для работы с классами и объектами. Рассмотрим некоторые функции для работы с классами и объектами в контексте PHP4.
get_class_methods()
Функция get_class_methods() возвращает массив имен методов класса с заданным именем. Синтаксис функции get_class_methods():
array get_class_methods (string имя_класса)
Простой пример использования get_class_methods() - Получение списка методов класса:
Новые возможности объектной модели являются слишком многочисленными. Приведем обзор главных изменений: public/private/protected - модификаторы доступа для методов и свойств
Позволяют управлять доступом к методам и свойствам. Теперь видимость свойств и методов может быть определена ключевыми словами: public, private, protected. Модификатор public позволяет обращаться к свойствам и методам отовсюду. Модификатор private позволяет обращаться к свойствам и методам только внутри текущего класса. Модификатор protected позволяет обращаться к свойствам и методам только текущего класса и класса, который наследует свойства и методы текущего класса.