Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.
Книга «Профессиональное программирование на PHP»
Версия для печати и PDA
Книга «Профессиональное программирование на PHP» адресована опытным PHP-программистам и разработчикам веб-приложений, проектирующим крупные веб-системы для решения сложных задач. Рассматривается пятая версия PHP и новые объектно-ориентированные возможности языка, однако многие рекомендации вполне применимы и для предыдущей версии PHP. Описываемые идеи и стратегии повышения скорости и надежности кода, позволят усовершенствовать код, написанный практически на любом языке высокого уровня. В книге собраны идеи, описаны основные проблемы, а в качестве примеров использованы конкретные случаи. По мнению автора, учиться легче всего на примере, поэтому книга полна практических примеров, что обеспечивает реализацию всех обсуждаемых идей. Примеры не слишком полезны без контекста, поэтому все коды в книге настоящие, решающие реальные задачи. Здесь нет примеров с названиями таких классов, как Foo и Bar, примеры взяты из настоящих открытых проектов, чтобы читатель мог видеть идеи в реальном исполнении.
Структура книги «Профессиональное программирование на PHP»
Издание состоит из пяти самостоятельных частей, что позволит читателю легко перейти к нужной главе. Однако рекомендуется прочитать книгу от начала до конца, так как многие примеры строятся по нарастающей – сначала обсуждается, как написать хорошую программу на PHP, затем рассматриваются специфические методики, регулировка производительности, а в конце – расширение языка. Такой формат базируется на представлении автора о том, что основной обязанностью профессионального программиста является написание рабочей программы и что легче создать хорошую программу с первого раза, чем исправлять плохую.
Методики реализации и разработки
Стили кодирования. Здесь представлены условные обозначения, используемые в данной книге при разработке программ. Обсуждается важность написания совместимых, хорошо документированных программ.
Объектно-ориентированное программирование с использованием типовых проектов, детализирует особенности объектно-ориентированного программирования PHP 5. Возможности показаны в контексте изучения общих типовых проектов. Представлен квалифицированный обзор как новых возможностей объектно-ориентированного программирования в PHP 5, так и идей, лежащих в основе принципа объектно-ориентированного программирования. Материал предназначен как для начинающих, так и для опытных программистов.
Обработка ошибок, содержит процедурные и объектно-ориентированные методы обработки ошибок в PHP, особое внимание уделяется новым возможностям обработки ошибок на основе исключительных ситуаций.
Реализация средствами PHP: шаблоны и Web, расскажет вам про системы шаблонов – инструментальные средства, которые упрощают отделение логики представления от логики приложения. Сравниваются преимущества и недостатки завершенных и специально создаваемых систем шаблонов. В качестве примера использовалась система Smarty.
Реализация средствами PHP: автономные сценарии, посвящена методике написания самостоятельных сценариев и сетевых программ на PHP. В настоящее время очень немногие веб-приложения не имеют серверного компонента. Возможность повторного использования имеющихся PHP скриптов для написания пакетных заданий, shell сценариев и не веб-приложений является решающей и делает язык полезным в условиях предприятия.
Блочное тестирование, показывает как использовать модульные тестирующие стратегии и примеры реализации гибких комплектов модульного тестирования с помощью phpUnit. Блочное тестирование является средством для проверки выполнения программой поставленных перед ней задач.
Управление средой разработки, рассматривает управление кодом в больших проектах и содержит обширный вводный курс по использованию CVS – Concurrent Versioning System для управления PHP проектами. Управление кодом не является главной задачей для большинства разработчиков, тем не менее, это важно.
Проектирование API интерфейса, представляет руководство по созданию основания кода, которое является управляемым, гибким и легко совмещается с другими проектами.
Кэширование
Поверхностная настройка производительности, содержит информацию о внешних по отношению к PHP стратегиях кэширования, кэшировании промежуточного кода и прокси-кэшировании. Использование стратегии кэширования, несомненно, является наиболее эффективным путем увеличения производительности и масштабируемости приложения.
Кэширование данных, рассматривает возможные пути внедрения стратегий кэширования в PHP код. Обсуждается, как и когда интегрировать кэширование в приложение, создание полнофункциональных систем кэширования на основе нескольких серверов хранения данных.
Повторное использование вычислений, описывает методики повышения эффективности отдельных алгоритмов и процессов с помощью кэширования промежуточных данных. Здесь формулируется и рассматривается на практических примерах общая теория, лежащая в основе повторного использования вычислений.
Распределенные приложения
Взаимодействие с базами данных, посвящена стратегиям объединения PHP и систем баз данных, которые являются основным компонентом практически каждого динамического работающего интернет-сайта.
Аутентификация пользователей и безопасность сеансов, описывает методы управления аутентификацией пользователя и организация защиты клиент-серверных соединений. Основное внимание уделено хранению зашифрованной информации сеансов в файлах cookies, а также полной реализации системы единой регистрации.
Поддержка сеансов, продолжает обсуждение сеансов пользователя, в частности расширение Session и написание нестандартных обработчиков сеансов.
Создание распределенной среды, расскажет вам, как создавать масштабируемые приложения, которые выходят за пределы отдельной машины. Рассматриваются детали построения и управления кластером машин для рационального и эффективного управления кэшированием и системами баз данных.
RPC: взаимодействие с удаленными службами, посвящена двум наиболее распространенным протоколам для построения веб-служб: XML-RPC и SOAP. Веб-службы – неологизм для обозначения служб, которые облегчают обмен информацией между машинами через среду WEB.
Производительность
Оценка производительности: тестирование приложения в целом. Здесь рассматриваются различные комплекты эталонного тестирования, которые позволяют оценить производительность и стабильность приложения. Эталонное тестирование приложения позволяет убедиться, что приложение может выдерживать трафик, для которого оно предназначено, а также идентифицировать компоненты, являющиеся потенциально узкими местами приложения.
Профилирование, рассматривает принцип работы и необходимость профилирования, содержит подробные учебные материалы по использованию профайлера APD – Advanced PHP Debugger для проверки кода. После использования методик эталонного тестирования для идентификации крупномасштабных потенциальных "бутылочных горлышек" в приложении можно использовать инструменты профилирования для выделения специфических проблемных участков в программе.
Сравнительное тестирование производительности: оценка блоков кода и функций. Здесь рассматриваются методики измерения, а также внедрение и оценка нестандартных тестовых комплектов. Невозможно сравнить два фрагмента кода, не оценив тщательно их различия.
Расширяемость
Устройство PHP и Zend Engine, представляет технический обзор внутренней работы PHP, взаимодействие с PHP таких приложений, как веб-сервер, и выполнение сценариев в Zend Engine. Знание работы PHP изнутри поможет сделать правильный конструкторский выбор с учетом сильных и слабых сторон данного языка.
Расширение PHP: часть I. Это подробное введение в написание PHP-расширений на языке C. Материал охватывает перенос имеющегося PHP кода в C и написание расширений для обеспечения доступа PHP к сторонним C-библиотекам.
Расширение PHP: часть II. Здесь продолжается обсуждение, начатое в предыдущей главе. Рассматриваются такие сложные темы, как создание классов в коде расширений и использование возможностей потоков и сеансов.
Написание SAPI интерфейсов и расширение Zend Engine, рассматривает возможности внедрения PHP в приложения и расширение Zend Engine для изменения базового поведения языка.
Все примеры, приведенные в книге «Профессиональное программирование на PHP», написаны и протестированы в Linux и должны работать без модификаций в Solaris, OS X, FreeBSD или любом другом клоне Unix. Большинство сценариев должно с минимальными изменениями работать в Windows, хотя некоторые из используемых утилит могут быть не вполне переносимыми, особенно утилиты pcntl, описанные в главе 5.