 |
|
 |
 |
|
|
Функция предназначена для рекурсивного спуска по всем вложенным поддиректориям корневой директории и замене заданной подстроки во всех встреченых файлах.
Код рекурсивной фукнции scan_dir(), которая обходит директории |
|
|
|
Данная глава посвящена одному из важнейших аспектов РНР - средствам файлового ввода/вывода. Как нетрудно предположить, входные и выходные потоки данных интенсивно используются при разработке web-приложений. Не ограничиваясь простым чтением/записью файлов, РНР предоставляет в распоряжение программиста средства просмотра и модификации серверной информации, а также запуска внешних программ. Этим средствам и посвящена настоящая глава. |
|
|
|
Иногда нам приходится часто
изменяемые элементы программы или самой страницы выносить в
отдельный файл, а потом его динамически включать в документ... Это
может быть список часто изменяемых переменных или, например, меню.
Включить эти файлы нам поможет функция include(). Она имеет
единственный аргумент, который должен являться путем к необходимому
(включаемому) документу. |
|
|
|
Класс - это набор переменных и функций, работающих с этими переменными. Класс определяется с использованием следующего синтаксиса...... |
|
|
|
Название – это результат глубокого осмысления процессов среды, в который будет существовать субъект. Только программист, который полностью понимается систему как единое целое, может придумать полностью отвечающее ситуации название. Если название соответствует, то все части соответствуют друг другу, связи ясны, понимание ситуации присутствует, и то, что люди ожидают от названия будет соответствовать действительности. |
|
|
|
Теперь для каждого типа графики создадим свой класс-наследник от Graph, т.е. конкретизируем, что за картинку мы хотим создать. В нашей ситуации мы хотим создать графики столбцовой, круговой и линейной диаграмм. Для этого создадим классы Barchart, Piechart и Linechart соответственно. В дальнейшем для создания новых типов графиков следует просто создать соответсвующий новый класс. |
|
|
|
Эта статья, как Вы уже скорее всего поняли из названия, посвящена тому, как можно использовать XML для хранения данных, которые будут использоваться из скриптов, написанных на PHP. Бедем считать, что Вы уже знаете, что такое XML и с чем его едят. Примеры к статье Вы можете скачать отсюда . Наш план такой. Сначала мы узнаем, какие функции есть для работы с XML в PHP и как ими пользоваться. Чтобы это лучше понять, мы рассмотрим небольшой скрипт, который будет отображать структуру нашего XML-документа. |
|
|
|
Статья описывает методику сложного форматирования изображений на PHP под нужный формат независимо от их начальных размеров и ориентации, но всегда выдаёт изображения строго определённого размера. В скрипте используются функции обработки изображений библиотеки GD. Скрипт будет полезен для новостных сайтов и фотогалерей. |
|
|
 |
 |
 |
 |
Класс - это набор переменных и функций, работающих с этими переменными.
Класс определяется с использованием следующего синтаксиса:
Здесь определен класс с именем Cart, который состоит из ассоциативного
массива товаров в корзине и двух функций, добавляющих и убирающих товары
из этой корзины.
Чтобы не было путаницы в дальнейшем, назовем классом
определение типа, а объектом - конкретную реализацию класса
(переменную).
| Внимание |
|
Следующие предупреждения верны для PHP 4.
Имя stdClass является внутренним для Zend
и зарезервировано. Вы не можете назвать класс stdClass в PHP.
Функции __sleep и __wakeup в классах PHP являются \"волшебными\". Вы
не должны использовать эти имена в любых ваших классах, до тех пор,
пока не захотите использовать \"волшебные\" свойства, связанные с
ними. Далее приводится более подробная информация.
PHP резервирует все функции, чьи имена начинаются с __, как
\"волшебные\". Рекомендуется не использовать такие функции до тех пор,
пока вы не захотите записать \"волшебные\" свойства.
|
Примечание: В PHP 4 для переменных var
допускаются только константные инициализации. Для инициализации
переменной неконстантным значением, вам нужно инициализировать функцию,
автоматически вызываемую при создании объекта. Такая функция называется
конструктором (см. ниже).
Классы - это типы, то есть они идентичны встроенным типам.
Вы создаете переменную выбранного типа посредством
оператора new.
Здесь создаются объекты $cart и $another_cart, оба класса Cart. Функция
add_item() объекта $cart вызывается для добавления 1 штуки товара с
номером 10 к $cart. 3 штуки товара номер 0815 добавляются к $another_cart.
И $cart и $another_cart включают функции add_item(), remove_item() и
переменную items. Это - различные функции и переменные. Вы можете думать
об объектах, как о каких-то похожих каталогах в файловой системе. Так, в
файловой системе могут находиться различные файлы README.TXT, поскольку
они могут быть в разных каталогах. Как и в каталогах, где вы вводите
полный путь для достижения файла из корневого каталога, вы определяете
полное имя функции, которую хотите вызвать. В терминах PHP 4, корневой
каталог - это глобальное пространство имен, разделитель пути есть символ
->. Таким образом, имена $cart->items и $another_cart->items
указывают на две разные переменные. Напоминаем, что переменная именуется
$cart->items, а не $cart->$items, так как у переменной в PHP только
один знак доллара.
Внутри определения класса вы не знаете, под каким именем объект будет
доступен в вашей программе: на момент описания класса Cart неизвестно, что
позже объект будет поименован $cart или $another_cart. Таким образом, вы
не можете записать $cart->items внутри самого класса Cart. Вместо этого
для получения возможности указывать на свои собственные функции и
переменные, класс может использовать псевдо-переменную $this которая может
быть озвучена как \"мой собственный\" или \"текущий объект\". Таким образом,
\'$this->items[$artnr] += $num\' можно прочесть как \"добавить $num штук к
счетчику товара $artnr в моем массиве товаров\" или \"добавить $num штук к
счетчику товара $artnr в текущем объекте\". |
|