РНР 5 в подлиннике

Страница 10 из 554


20 Содержание

Проблемы с русскими буквами..............................................................................594

Определение границ строки....................................................................................595

Коррекция функции imageTtfBBox().......................................................................595

Пример......................................................................................................................597

Ссылки..............................................................................................................................599

Резюме................................................................................................................................599

ЧАСТЬ V. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА РНР...................................................................................................601

Глава 31. Организация библиотек..............................................................603

Подключение файла библиотеки....................................................................................604

Корневой каталог библиотек...................................................................................604

Несколько путей поиска..........................................................................................605

Файл конфигурации.................................................................................................606

Преимущества использования путей подключения..............................................606

Разрешение конфликтов имен........................................................................................607

Проблема именования функций.............................................................................607

Пространства имен...................................................................................................608

Соглашения PEAR...........................................................................................................609

Соглашение 1: классы вместо пространств имен.................................................609

Функции библиотеки..........................................................................................610

Переменные в библиотеке..................................................................................610

Константы в библиотеке.....................................................................................610

Пространство имен self........................................................................................611

Соглашение 2: формат библиотеки............................. ...........................................611

Соглашение 3: использование подкаталогов.........................................................613

Автоматическая загрузка классов...................................................................................614

Библиотека поддержки автозагрузки......................................................................615

Каталог модуля.....................................................................................................617

PEAR: преобразование имени класса в имя файла..............................................617

Неприятная особенность require once................................................................621

Собираем все вместе................................................................................................622

Пример использования всех библиотек.................................................................623

Главный файл скрипта.....................................................................................................624

Недостатки глобальных переменных......................................................................624

Использование функций.........................................................................................625

Интерфейс библиотеки....................................................................................................626

Наследование и расширение модулей............................................................................627

Совместимость РНР 5 и РНР 4......................................................................................629

Резюме...............................................................................................................................629

Глава 32. Классы и сокрытие данных........................................................630

Новые возможности РНР 5.............................................................................................630

Класс как тип данных......................................................................................................631

Создание нового класса...................................................................................................632

Отличие классов от библиотек................................................................................633

Содержание__21_

Работа с классами.............................................................................................................634

Создание объекта некоторого класса.....................................................................634

Доступ к свойствам объекта....................................................................................634

Доступ к методам.....................................................................................................635

Создание нескольких объектов...............................................................................636

Перегрузка преобразования в строку.....................................................................637

Инициализация и разрушение........................................................................................638

Конструктор..............................................................................................................638

Параметры по умолчанию...................................................................................639

Старый способ создания конструктора.............................................................640

Деструктор.................................................................................................................640

Вопрос освобождения ресурсов..........................................................................640

Описание деструктора.........................................................................................642

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

Циклические ссылки...........................................................................................645

Проблема циклических ссылок..........................................................................647

Решение проблемы циклических ссылок..........................................................648

Принудительное удаление объектов..................................................................648

Права доступа к членам класса.......................................................................................648

Модификаторы доступа...........................................................................................649

Public: открытый доступ......................................................................................649

Private: доступ только из методов класса...........................................................649

Protected: доступ из методов производного класса...........................................650

Неявное объявление свойств...................................................................................650

Статические члены класса.......................................................................................651

Пример: счетчик объектов..................................................................................651

Пример: кэш ресурсов.........................................................................................652

Общие рекомендации..............................................................................................653

Перехват обращений к членам класса...........................................................................654

Клонирование объектов...................................................................................................656

Переопределение операции клонирования...........................................................657

Запрет клонирования...............................................................................................658

Перехват сериализации....................................................................................................658

Резюме...............................................................................................................................659

Глава 33. Наследование и виртуальные методы..........................................660

Расширение класса...........................................................................................................661

Метод включения.....................................................................................................661

Недостатки метода...............................................................................................662

Несовместимость типов......................................................................................663

Наследование............................................................................................................664

Переопределение методов.......................................................................................665

Модификаторы доступа при переопределении................................................665

Доступ к методом базового класса.....................................................................665

Финальные методы..............................................................................................666

Запрет наследования............................................................................................667

Константы C/.1.S'.S__ и_METHOD_...............................................................667




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006