Исходный адрес: http://nettuts.com/tutorials/php/10-principles-of-the-php-masters/
Перевод и редактирование: Андрей, если нужно перепечатывать, укажите, пожалуйста, источник.
1. Используйте PHP, когда это уместно – Расмус Лердорф
Никто не понимает, где PHP следует использовать более рационально, чем Расмус Лердорф, создатель PHP. Он выпустил язык PHP в 1995 году. С тех пор PHP стал похож на степной пожар, охвативший весь лагерь разработчиков. Интернет. Однако Расмус создавал PHP не по этой причине. PHP был создан для решения практических задач веб-разработчиков.
Как и многие проекты с открытым исходным кодом, PHP стал популярным. Мотивацию его популярности нельзя объяснить обычной философией, и он даже настолько популярен, что вызывает некоторое самолюбование. Его можно использовать как кейс, вызванный необходимостью в инструментах для решения различных веб-задач. Поэтому, когда впервые появился PHP, все потребности в таких инструментах были сосредоточены на PHP.
Однако вы не можете ожидать, что PHP решит все проблемы. Лердорф первым признал, что PHP — это всего лишь инструмент, и существует множество ситуаций, когда PHP выходит за рамки его возможностей.
Выберите правильный инструмент для работы. Я обращался ко многим компаниям, чтобы убедить их развернуть и использовать PHP, но это не значит, что PHP подходит для решения любой проблемы. Это просто интерфейсный язык сценариев, который может решить большинство проблем.
Для веб-разработчика пытаться решить каждую проблему с помощью PHP — ненаучно и пустая трата времени. Если PHP не работает, не стесняйтесь попробовать другие языки.
2. Используйте многотабличное хранилище для улучшения масштабируемости — Мэтт Малленвег
Никто не хочет подвергать сомнению авторитет Мэтта Малленвега в области PHP. Он разработал самую популярную систему блогов на планете (поддерживаемую сильным сообществом): WordPress. После создания WordPress Мэтт и. его команда запустила платформу WordPress.com, бесплатный блог-сайт на базе WordPress MU. Сегодня WordPress.com насчитывает около 4 миллионов пользователей, которые ежедневно публикуют более 140 000 сообщений. (Чтобы просмотреть дополнительную статистику WordPress.com, нажмите здесь.)
Если кто-то и знает, как легко масштабировать веб-сайт, так это Мэтт Малленвег. В 2006 году Мэтт внес перспективные улучшения в структуру данных WordPress и объяснил, почему WordPress MU использует независимые таблицы MYSQL для каждого блога вместо того, чтобы складывать все данные блога в одну огромную таблицу.
Мы протестировали этот подход, но сочли его слишком дорогим для масштабирования. Если вы используете общую структуру данных, вы столкнетесь с проблемами аппаратного обеспечения сервера из-за большого трафика. Внутри МЮ. Пользователи распределены по отдельным таблицам и могут быть легко организованы. Например, WordPress.com хранит пользовательские данные в 4096 базах данных. Эти базы данных могут распределять крупномасштабный доступ к данным и отвлекать трафик и нагрузку.
Переносимость таблиц данных позволяет коду (блогу) работать быстрее и делает систему более масштабируемой. Опираясь на мощные стратегии кэширования и гибкие стратегии использования баз данных, Мэтт показал людям, что самые популярные Facebook и WordPress.com могут стабильно работать под управлением PHP и обрабатывать ошеломляющий объем трафика.
3. Никогда не доверяйте пользователям — Дэйв Чайлд
Дэйв Чайлд — сердце Added Bytes (ранее ilovejackdaniels.com), сайта, известного своими превосходными шпаргалками для многих языков программирования. Дэйв работает в ряде британских компаний и зарекомендовал себя как авторитет в мире программирования.
Дэйв дает много содержательных советов разработчикам PHP, обобщенных в статье «Написание безопасного кода на PHP»: Никогда не доверяйте своим пользователям, они могут даже навредить вам.
Существует основной принцип веб-разработки, который я не могу повторить: никогда не доверяйте своим пользователям и не предполагайте, что каждая единица данных на вашем веб-сайте представляет собой вредоносный код, полученный от пользователей. Часто вам приходится использовать JavaScript для проверки содержимого, отправленного формой на клиенте. Если вы к этому привыкли, то это хорошая привычка. Если для вас важна безопасность, это самый важный принцип, который следует усвоить.
В настоящее время Дэйв работает над компиляцией примеров для своей серии книг «Написание безопасного PHP». В конце книги он сказал: «
Наконец-то станьте немного параноиком». Если вы не думаете, что ваш сайт никогда не подвергнется атаке, примите проблему лицом к лицу, потому что, когда это произойдет, вы окажетесь в плохой ситуации. Вам необходимо рассматривать каждого пользователя как хакера, который будет осуществлять атаку и защиту сайта, делать все возможное для защиты безопасности сайта и в то же время думать о решениях соответствующих проблем.
4. Больше используйте кэширование PHP — Бен Бальбо
Бен Бальбо разрабатывает Site Point, веб-сайт, который предоставляет рекомендации разработчикам и дизайнерам. Он является членом Мельбурнского клуба разработчиков PHP и открытого исходного кода, поэтому у него есть определенное понимание PHP, а также определенные идеи и опыт в кэшировании PHP.
Если у вас есть сайт с большим трафиком, но не часто обновляемый (например, блог, основанный на какой-либо CMS), возможно, ему нужны некоторые модификации. Эти модификации не займут слишком много времени, но принесут значительную пользу. вклад в производительность. Если вы хотите установить механизм кэширования для сложного/быстро обновляющегося сайта, этот процесс может быть извилистым, но преимущества очевидны.
Существует множество технологий кэширования PHP. Бен порекомендовал нам следующие:
функция кэширования, выполнение результатов, установка срока действия, кэширование шаблонов файлов, технология кэширования, загруженная IE.
Cache_Lite
Из-за характеристик PHP как динамического языка механизм кэширования очень важен для сайтов, которые не часто обновляются.
5. Ускорьте разработку PHP с помощью IDE, шаблонов и фрагментов кода — Чад Киффер
Когда Чад Киффер уходит от работы по проектированию пользовательского интерфейса и оптимизации баз данных, он поделится большим техническим опытом в своем блоге 2 столовые ложки. Благодаря всестороннему развитию Чада во многих аспектах, ему часто удается находить проблемы, которые не могут найти другие программисты, и формировать соответствующий опыт, особенно его метод разработки веб-сайтов. Он участвует во всех аспектах разработки веб-сайтов, поэтому его советы очень полезны для улучшения общей картины разработки веб-сайтов.
Чад думает об использовании Eclipse PDT
(Пакет разработки PHP Eclipse) Такая IDE, используя некоторые технологии шаблонов и проекты с открытым исходным кодом, может эффективно увеличить скорость разработки PHP.
Плотные планы, длинные списки дел и сроки очень расстраивают разработчиков. Однако некоторые функции, такие как шаблоны Eclipse, могут эффективно сократить время написания кода и вероятность ошибок.
Вообще говоря, любой проект можно автоматизировать, и чем выше степень автоматизации, тем меньше времени вам понадобится на реализацию проекта. Потратив время на разработку фреймворков и шаблонов, которые будут часто использоваться, вы сэкономите еще больше времени в дальнейшем. В то же время, используя такую IDE, как Eclipse, и пакет PDT, вы обнаружите, что ваша эффективность значительно повышается. IDE может автоматически закрывать, дополнять точки с запятой и выполнять отладку локально.
Сообщения по теме:
WordPress был успешно обновлен до версии 2.3.2. Хотя теги для меня бесполезны, я все же обновился по соображениям безопасности, мне действительно нужна копия обновления с версии 2.0.5 двухлетней давности до текущей версии 2.3.2. Смелость и решимость. К счастью, при локальном обновлении проблем не возникло, но функции шаблона нуждались в некоторых простых изменениях. Онлайн-обновление прошло гладко. Многие люди задаются вопросом, не опубликовали ли вы только что сообщение с просьбой помочь с методом обновления? Что ж, я нашел лучший инструмент — плагин автоматического обновления WordPress. Этот плагин автоматического обновления WordPress действительно делает ваше обновление без проблем, потому что он создаст резервную копию всех файлов и данных перед обновлением. «.», я считаю, что он очень подходит для блоггеров, которые не хотят беспокоиться об обновлении. Однако есть проблема с функцией экспорта после обновления. Не могу найти. Я не знаю, является ли эта проблема распространенной или это проблема моего блога. Друзья, которые столкнулись с такой же проблемой, оставьте мне сообщение, и я найду решение. (После исследования выяснилось, что проблема связана с путем доступа в плагине Coolcode. Пока активация этого плагина отменена, функцию экспорта можно использовать в обычном режиме)...
Есть ли у кого-нибудь опыт обновления с WordPress 2.0? Сегодня я загрузил WordPress-2.3.2. Изначально я хотел обновить его, но обнаружил, что скачок версий довольно велик, а изменения в структуре данных кажутся довольно большими. Риск слишком велик, поэтому я на данный момент отказался. Кто? У друга есть опыт обновления WordPress с 2.0 до 2.3. Большое спасибо. ...
Перевод: «14 отличных инструментов для веб-мастеров» (Часть 2) Исходный текст: http://www.conversion-rate-experts.com/articles/understanding-your - посетители/ Эта статья написана Эндрю ( http://www . achome.cn ) переведен независимо. Если вам необходимо перепечатать, укажите источник. Пользователи — лучшие специалисты по рекламе и продажам. Приходите и послушайте, как они это продвигают, «Король Расскажи другу». Испытайте это прямо сейчас. Есть ли у вас система рекомендаций пользователей? Система, которая позволяет пользователям отправлять сообщения с приглашением друзей. Мы видим, что письма, отправленные этими пользователями, содержат ответ на вопрос «Почему пользователи тратят деньги на вашем сайте?» Многие люди тратят много времени на позиционирование и разработку привлекательных рекламных слов, но благодаря отзывам пользователей вы можете узнать, почему пользователи предпочитают вас. Kampyle позволяет легко собирать отзывы пользователей — попробуйте прямо сейчас! Kampyle позволяет пользователям оставлять отзывы пользователей на вашем веб-сайте (с помощью небольшой кнопки внизу страницы). После нажатия появится всплывающее окно, в котором пользователи смогут выразить свое мнение и поделиться им. предложения. Веб-мастера могут войти на официальный сайт Kampyle, чтобы просматривать и управлять собранными отзывами пользователей. Если пользователи оставляют свои адреса электронной почты, веб-мастера могут легко уведомить пользователей о том, что они получили отзывы, и внесут соответствующие улучшения. ...
6. Используйте функции фильтрации PHP — Джоуи Сочаки
Возможно, Джоуи Сочаки не так известен, как Мэтт Малленвег, но он также является опытным разработчиком и делится большим техническим опытом в своем блоге Devolio.
Джоуи обнаружил, что написание PHP-кода существует. много мест, которые необходимо фильтровать в процессе, но не многие программисты обращают внимание на встроенную функцию фильтрации PHP.
Фильтрация данных — это то, что нам часто приходится делать, но многие многофункциональные встроенные функции фильтрации PHP неизвестны. Используя встроенные функции PHP, такие как filter_*, мы можем выполнять практически все задачи фильтрации, включая проверку типа данных/URL/электронной почты и проверку IP-адреса/обработку специальных символов и т. д.
Фильтрация — сложная вещь, но я верю, что открытие Джои вдохновит вас и позволит реализовать мощную функцию фильтрации PHP.
7. Используйте PHP-фреймворк – Джош Шарп
Было много споров о том, следует ли вам использовать Zend, CakePHP, Code Igniter или другие PHP-фреймворки, но в сознании веб-разработчиков у них есть свои собственные стандарты измерения.
Джош Шарп создал свой собственный веб-сайт, поэтому у него есть некоторый опыт использования PHP-фреймворков для разработки веб-сайтов. Он считает, что использование PHP-фреймворка для разработки проектов может эффективно сэкономить время и снизить вероятность ошибок. Почему? Потому что он считает, что начать работу с PHP действительно легко.
Простота использования PHP иногда имеет свои недостатки, поскольку его нестрогий синтаксис часто приводит к созданию множества ошибочных кодов. Но если вы используете PHP-фреймворк, вероятность ошибок значительно уменьшится.
Фреймворк PHP может сделать структуру вашего кода более стандартизированной и сэкономить много времени. Вы можете прочитать «Преимущества использования фреймворка PHP», чтобы получить более актуальную информацию.
8. Не используйте PHP-фреймворки. Расмус Лердорф
полностью противоположен точке зрения Джоша. Расмус Лердорф, создатель PHP, считает, что лучше не использовать PHP-фреймворки. Почему? Потому что PHP, не основанный на фреймворке, работает лучше.
В своем выступлении на Drupalcon 2008 Расмус использовал пример «Hello World», чтобы сравнить производительность некоторых фреймворков PHP и простых PHP. Результаты показали, что производительность фреймворка PHP сильно отстает.
9. Используйте пакетную обработку — Джек Д. Херрингтон
Джек Херрингтон не новичок в мире PHP. Он написал более 30 статей в знаменитом IBM DeveloperWorks, а также опубликовал книгу «PHP Hacks», поэтому он настоящий эксперт.
Херрингтон рекомендует использовать пакетную обработку и Cron для замены программных сценариев, которые могут выполняться в фоновом режиме. Пользователи Интернета не хотят ждать вашей обработки в Интернете, поэтому некоторые вещи лучше обрабатывать в фоновом режиме.
Конечно, в некоторых случаях это излишне, но вы ясно видите, что создание инструмента пакетной обработки с использованием Cron, MySQL, объектно-ориентированных методов PHP и Pear::DB — непростая задача.
Джек считает, что использование cron, PHP и MySQL для обработки некоторых задач в фоновом режиме гораздо более рентабельно, чем многопроцессная бизнес-логика.
Я опробовал оба метода и считаю, что Cron очень соответствует принципу «Keep It Simple, Stupid» (KISS), который упрощает фоновую обработку. По сравнению с многопроцессной бизнес-логикой здесь отсутствует риск переполнения памяти. Вы можете создать простой пакетный скрипт и запустить его в cron. Этот скрипт будет регулярно проверять, есть ли задачи, которые необходимо обработать, и автоматически завершит работу после обработки, поэтому вам не придется беспокоиться о том, зависает ли процесс или нет. застрял в бесконечном цикле.
10. Включите своевременную отчетность об ошибках. Дэвид Каммингс
У Дэвида Каммингса есть компания, которая специализируется на предоставлении услуг по программному обеспечению CMS, и он получил несколько наград. Он имеет очень богатый опыт разработки PHP.
Дэвид однажды написал «два совета по PHP, которые он хотел бы усвоить в самом начале», один из которых: включение своевременного сообщения об ошибках, что сэкономит много времени.
Самое важное, что я говорю людям, — это максимально увеличить количество отчетов об ошибках в PHP. Почему? Поскольку PHP может скрывать множество мелких проблем:
переменные не предопределены, недоступные переменные упоминаются во фрагментах кода, используются неопределенные константы, эти факторы могут показаться не такими уж важными, если только вы не пишете какую-нибудь библиотеку классов с использованием объекта. -ориентированный подход. Зачастую отключение отчетов об ошибках будет стоить вам дороже на поддержку вашего кода.
Отчеты об ошибках помогут вам легко найти проблемы в коде. Если уровень отчета об ошибках достаточно высок, незначительные ошибки могут быть обнаружены немедленно, что поможет вам сэкономить общее время отладки.