php

#7.15 php ООП Позднее статическое связывание. Отличия self:: и static::. Использование static:: в нестатическом контексте

Ранее в этой главе обсуждалось, что для доступа к статическому члену или константе класса из этого класса используется конструкция self::. Ключевое словоself всегда вычисляется как ссылка на тот класс, в котором определена использующая его функция. Поэтому в результате выполнения кода

#7.10 php ООП Упаковка и распаковка объекта (сериализация, десериализация). Перехват сериализации, методы __sleep() и __wakeup()

Сериализацией называется преобразование ("упаковка") объекта в какой-либо формат, удобный для хранения и передачи. Это может использоваться, например, для передачи объектов по сети, сохранения состояния приложения между запусками для каждого из пользователей и т.д. Обратный процесс распаковки объекта называется десериализацией.

В PHP для упаковки объекта используется функция serialize, которая получает объект в качестве параметра и возвращает строку:

#7. 9 php ООП Копирование объектов: clone, __clone()

Копирование объектов

При выполнении строки

$lion = new Animal;

в переменной $lion сохраняется ссылка на объект класса Animal. Если присвоить переменную $lion какой-то другой переменной:

$lion2 = $lion

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

#7. 8 php ООП Перехват обращений к членам класса

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

#7. 7 php ООП Статические свойства и методы. Константы класса

Статические свойства и методы

Свойства и методы называют статическими, если для обращения к ним не требуется создавать экземпляр класса (объект), т.е. не требуется вызывать конструктор через new():

#7. 6 php Алгоритм сбора мусора. Циклические ссылки

Алгоритм сбора мусора

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

При удалении объекта происходит следующее:

Стивен Хольцнер - преподаватель, автор, человек

Значения для сообщества этого сайта

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

#8.10 Работа с файлами в PHP - итоги

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

#8. 9 php Запись файла целиком: file_put_contents

Для формирования файла необязательно открывать его, записывать данные и закрывать. Существует сокращенный способ (аналогично чтению файла целиком) для выполнения этой операции - использование функции file_put_contents. Ее синтаксис приведен ниже:

#8. 8 Добавление к файлу: fwrite

В предыдущем разделе был создан новый текстовый файл:

Просто
строка
текста.

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

Pages

Subscribe to RSS - php