php

#8. 5 php Чтение файла целиком: file_get_contents

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

#8. 4 php Двоичное чтение файла: fread

Читать содержимое файла необязательно по строкам или символам. Данные из файла могут быть прочитаны в любом необходимом объеме при помощи функции fread. Функция fgets рассматривает файлы как текстовые, а функция fread рассматривает их как двоичные, не обрабатывая специальным образом концы строк и не выполняя никаких других преобразований данных -- файл считается просто последовательностью байт. Синтаксис функции fread приведен ниже.

#8. 3 php Чтение символов: fgetc

Зачастую требуется считать из файла не целую строку, а отдельный символ. Для этого предназначена функция fgetc. Пример 1 демонстрирует использование этой функции для посимвольного чтения и отображения содержимого файла. Следует обратить внимание, что символ конца строки заменяется на тег <BR>. На рисунке 1 приведен результат выполнения этого примера.

#8. 2 php Чтение строк текста: fgets

Для чтения строки текста из файла используется функция fgets, ниже приведен ее синтаксис:

#8. 1 php Открытие файла: fopen

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

#7.14 php Доступ к методам базового класса

При использовании наследования может возникнуть необходимость вызова перекрытого метода базового класса. Например, пусть метод set_name в классе Animal описан следующим образом:

function set_name($text)
{
    $this->name = $text;
}

Одноименный метод в порожденном классе Lion может вызвать этот метод при помощи префикса Animal::, содержащего имя базового класса. Соответствующее описание выглядит следующим образом:

#7.13 php Переопределение методов базового класса. Модификаторы доступа при переопределении. Запрет переопределения (final)

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

Например, в классе Lion, порожденном на основе класса Animal, можно описать метод set_name, который будет преобразовывать буквы имени в заглавные.

#7.12 php Наследование и защищённые методы

Как было показано выше, публичные (public) свойства и методы доступны для вызова извне объекта, а приватные - нет. Но если свойство или метод объявлены как защищенные (protected), доступ к ним разрешен не только изнутри класса, где они описаны, но также изнутри всех классов, порожденных на основе данного.

#7.11 php Наследование классов

Зачастую удобно не разрабатывать новый класс заново, а основать его на каком-либо другом классе. Например, предположим, что разработан класс Vehicle, в котором содержатся разнообразные методы управления транспортным средством, например, start, run, step и stop. Далее, пусть требуется создать классы, описывающие специфические типы транспортных средств, например, Car, Truck, Helicopter, Oceanliner и т.д.

#7. 5 php Конструкторы и деструкторы

Конструкторы объектов

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

Pages

Subscribe to RSS - php