Главная страница IT-студия  
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создание сайтов. Авторы: Кузнецов М.В., Симдянов И.В. Головоломки на PHP для хакера (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры . Авторы: Кузнецов М.В., Симдянов И.В. PHP. Народные советы. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование: ступени карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Security & Cracking Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
Консультации от известных специалистов и авторов многих книг

Информационный портал
«SoftTime-INFO»




| Наши книги | Объектно-ориентированное программирование на PHP

Объектно-ориентированное программирование на PHP

Представляем Вашему вниманию книгу "Объектно-ориентированное программирование на PHP", написанную сотрудниками нашей студии Кузнецовым Максимом Валерьевичем и Симдяновым Игорем Вячеславовичем.

Начинающие и опытные программисты часто задаются вопросом: что дает объектно-ориентированное программирование? Освоив его, получу ли я какое-то конкурентное преимущество по сравнению с другими разработчиками? Если для объектно-ориентированных языков программирования, таких как Java или C++, ответ однозначен, то в Web-среде, больше ориентированной на процедурный стиль, ответить на этот вопрос не так просто.
Между тем все большее количество библиотек переходит на объектно-ориентированный интерфейс, вынуждая разработчиков обращаться к объектно-ориентированным возможностям PHP. Введение в пятой версии PHP полноценной объектно-ориентированной модели еще больше подогревает интерес к этой методологии.
Книга, которую вы держите в руках, позволяет найти ответ на вопросы: зачем нужно объектно-ориентированное программирование в PHP, когда его следует применять, а когда его применение не целесообразно и даже вредно.
Зачастую использование объектно-ориентированного подхода к месту и не к месту не обязательно делает проект успешным. Программирование новичка в стиле объектно-ориентированного программирования часто напоминает передвижение по минному полю — если не знать где мины, достичь конца проекта невозможно. Само по себе объектно-ориентированное программирование не является панацеей — это рабочая технология, которая позволяет:


  • увеличить процент повторно используемого кода
  • оперировать при программировании понятиями и объектами реального мира (договор, заключение договора, распечатка договора, поиск договора), а не низкоуровневыми компьютерными терминами (файлы, строка, стандартный поток вывода), что позволяет создавать более крупные проекты с меньшим количеством ошибок и в более сжатые сроки.

Предлагаемая книга рассматривает объектно-ориентированное программирование применительно к PHP, раскрывая его методологическую часть. Будет определено, в каком случае следует взять за основу объектно-ориентированный подход в PHP, а в каком — лучше от него отказаться. На примере построения большого Web-приложения (CMS) демонстрируется, как добиться повторного использования кода в реальных проектах.

Исходные коды всех приложений, рассмотренных в книге "Объектно-ориентированное программирование на PHP". Новые версии набора класса SoftTime FrameWork, а также сопутствующих Web-приложений можно обнаружить в разделе Downloads.

Страница, посвящённая книге на сайте издательства

Заказать книгу в интернет-магазине Ozon

Содержание

Оглавление
Введение
Благодарности

Глава 1. Введение в объектно-ориентированное программирование

1.1. Причины возникновения объектно-ориентированной технологии
1.2. Какая программа является объектно-ориентированной?
1.3. О важности обозначений
1.4. Терминология
1.5. Повторное использование кода
1.6. Недостатки объектно-ориентированного подхода
1.7. Объектно-ориентированное программирование в PHP

Глава 2. Объекты и классы

2.1. Объявление класса
2.2. Абстрактные типы данных. Создание объекта
2.3. Инкапсуляция. Спецификаторы доступа
2.4. Методы класса. Член $this
2.5. Динамическое создание методов и членов
2.6. Рекурсивные методы
2.7. Является ли переменная объектом?
2.8. Использование методов без объектов
2.9. Дамп объекта
2.10. Вложенные объекты
2.11. Массив объектов
2.12. Преобразование объекта в массив
2.13. Возвращение методом нескольких значений
2.14. Необязательные аргументы методов
2.15. Присваивание одного объекта другому
2.16. Сравнение объектов друг с другом
2.17. Уничтожение объекта

Глава 3. Специальные методы классов

3.1. Конструктор. Метод __construct()
3.2. Параметры конструктора
3.3. Закрытый конструктор
3.4. Деструктор. Метод __destruct()
3.5. Создание реальных объектов
3.6. Автозагрузка классов. Функция __autoload()
3.7. Проверка существования класса
3.8. Определение принадлежности объекта к классу
3.9. Аксессоры. Методы __set() и __get()
3.10. Проверка существования члена класса. Метод __isset()
3.11. Уничтожение члена класса. Метод __unset()
3.12. Динамические методы. Метод __call()
3.13. Проверка существования метода
3.14. Интерполяция объекта. Метод __toString()
3.15. Экспорт переменных. Метод __set_state()

Глава 4. Инкапсуляция, наследование, полиморфизм

4.1. Инкапсуляция
4.2. Наследование
4.3. Конструкторы, деструкторы и наследование
4.4. Спецификаторы доступа и наследование
4.5. Перегрузка методов
4.6. Определение имени базового класса
4.7. Полиморфизм
4.8. Файловая постраничная навигация
4.9. Постраничная навигация и поиск
4.10. Постраничная навигация для директории
4.11. Постраничная навигация для базы данных
4.12. Изменение формата постраничной навигации
4.13. Абстрактные классы
4.14. Абстрактные методы

Глава 5. Интерфейсы

5.1. Создание интерфейса
5.2. Интерфейсы и наследование классов
5.3. Реализация нескольких интерфейсов
5.4. Проверка существования интерфейса
5.5. Наследование интерфейсов
5.6. Реализует ли объект интерфейс?

Глава 6. Статические и константные элементы класса

6.1. Статические члены класса
6.2. Эмуляция транзакций при помощи статических членов
6.3. Наследование и статические члены
6.4. Статические методы класса
6.5. Константы класса
6.6. Предопределенные константы
6.7. Самоидентификация объектов
6.8. Final-методы класса
6.9. Final-классы

Глава 7. Клонирование и серилизация объектов

7.1. Клонирование объекта
7.2. Управление процессом клонирования. Метод __clone()
7.3. Клонирование вложенного класса
7.4. Серилизация объектов
7.5. Передача объектов через сессию
7.6. Сохранение объектов в СУБД MySQL
7.7. Управление серилизацией. Методы __sleep() и __wakeup()
7.8. Автоматическое сохранение объекта в СУБД MySQL

Глава 8. Обработка ошибок и исключения

8.1. Синтаксис исключений
8.2. Интерфейс класса Exception
8.3. Генерация исключений в функциях
8.4. Стек обработки исключительной ситуации
8.5. Генерация исключений в классах
8.6. Генерация исключений в иерархиях классов
8.7. Использование объекта класса Exception в строковом контексте
8.8. Создание собственных исключений
8.9. Создание новых типов исключений
8.10. Перехват исключений производных классов
8.11. Что происходит, когда исключения не перехватываются?
8.12. Вложенные контролируемые блоки
8.13. Повторная генерация исключений

Глава 9. Отражения

9.1. Иерархия классов отражения
9.2. Отражение функции. Класс ReflectionFunction
9.3. Отражение параметра функции. Класс ReflectionParameter
9.4. Отражение класса. Класс ReflectionClass
9.5. Отражение объекта. Класс ReflectionObject
9.6. Отражение метода класса. Класс ReflectionMethod
9.7. Отражение члена класса. Класс ReflectionProperty
9.8. Исключения механизма отражения
9.9. Отражение расширения. Класс ReflectionExtension
9.10. Вспомогательный класс Reflection

Глава 10. Набор классов. Framework

10.1. Требования к набору классов
10.2. HTML-форма и ее обработчик
10.3. Обработка исключительных ситуаций
10.4. Базовый класс field
10.5. Текстовое поле. Класс field_text
10.6. Класс form
10.7. Пример HTML-формы
10.8. Поле для пароля. Класс field_password
10.9. Поле для ввода английского текста. Класс field_text_english
10.10. Поле для ввода целых чисел. Класс field_text_int
10.11. Поле для ввода электронной почты. Класс field_text_email
10.12. Текстовая область. Класс field_textarea
10.13. Скрытое поле. Класс field_hidden
10.14. Скрытое поле для целых значений. Класс field_hidden_int
10.15. Флажок. Класс field_checkbox
10.16. Список. Класс field_select
10.17. Переключатели. Класс field_radio
10.18. Поле для загрузки файла на сервер. Класс field_file
10.19. Заголовок. Класс field_title
10.20. Параграф. Класс field_paragraph
10.21. Выбор даты и времени. Класс field_datetime
10.22. Обзор элементов управления

Глава 11. Создание системы управления сайтом (CMS)

11.1. Структура системы управления сайтом (CMS)
11.2. Общие файлы системы администрирования
11.3. Ограничение доступа к системе администрирования
11.4. Блок новости
11.4.1. База данных
11.4.2. Система администрирования
11.4.3. Система представления
11.5. Управления статьями и меню
11.5.1. База данных
11.5.2. Система администрирования
11.5.3. Система представления

Заключение

Приложение 1. Предопределенные классы

П1.1. Библиотека php_mysqli
П1.1.1. Создание базы данных
П1.1.2. Создание и заполнение таблицы
П1.1.3. Заполнение связанных таблиц
П1.1.4. Вывод данных
П1.1.5. Повторное чтение результирующей таблицы
П1.1.6. Количество строк в таблице
П1.1.7. Удаление данных
П1.1.8. Сортировка
П1.1.9. Параметризация SQL-запросов
П1.2. Класс dir
П1.3. Библиотека SPL
П1.3.1. Итераторы
П1.3.2. Интерфейс Iterator
П1.3.3. Класс DirectoryIterator
П1.3.4. Класс FilterIterator
П1.3.5. Класс LimitIterator
П1.3.6. Рекурсивные итераторы

Приложение 2. Список функций для работы с классами и объектами

Приложение 3. Описание компакт-диска

Рекомендуемая литература

HTML, XML, CSS, JavaScript и Flash
PHP и Perl
СУБД MySQL
Интернет и Web-сервер Apache
Регулярные выражения
UNIX-подобные операционные системы
Методология программирования

Русская версия English

 
  Rambler's Top100 Яндекс.Метрика Яндекс цитирования