Обновить
69.33

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

PHP и ООП. Совмещаем \«несовмещаемое\»…

Время на прочтение4 мин
Количество просмотров4.1K
Объектно-ориентированное программирование — как стиль жизни. Это не просто применение конструкций типа class или interface — это способ мышления, когда любая сущность программы является не просто набором инструкций, а представляет из себя \«живое\» существо…

Думаю напоминать что такое ООП, в рамках данной статьи, будет лишним, посему перейду сразу к проблематике вопроса.

Разработчики, пришедшие в PHP из других языков программирования, и столкнувшиеся в нем (в РНР. тут и далее буду подразумевать РНР5 — прим.) с классами, недоумевают как их вообще возможно использовать. А все из-за того, что время жизни скрипта на РНР гораздо меньше, чем у прикладного ПО и составляет всего один цикл работы, в то время как прикладное ПО может жить и взаимодействовать со своими компонентами много дольше. В итоге миру является код, в котором классы реализуют всего-навсего отсутствующие в РНР namespaces.
Читать дальше →

Introducing xdebug

Время на прочтение9 мин
Количество просмотров47K
Эта статья первая из серии статей, описывающих xdebug, свободной библиотеки для разработчиков PHP. xdebug – это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP. В данной статье описывается как установить xdebug и рассказывается о его базовых возможностях. В последующих частях мы детальнее взглянем на главные возможности xdebug, а именно трассировку, профайлинг, отладку кода.
Читать дальше →

PHP Performance Series: Caching Techniques

Время на прочтение6 мин
Количество просмотров11K
Кеширование промежуточного кода (Opcode Caching)
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.
Читать дальше →

Копирование из потока — сравнение различных способов

Время на прочтение1 мин
Количество просмотров2.4K
Возникла задача из php://input скопировать данные в нужный файл.
Решил проверить на быстродействие возможные способы копирования файла размером 9 мегабайт из php://stdin.
Их несколько:
  • Чтение блоками через fread() и запись через fwrite()
  • Запись содержимого используя file_put_contents() данных, полученных с помощью file_get_contents()
  • Копирование с использованием функции копирования файлов copy()
  • Использование stream_copy_to_stream(). появилась в PHP5
Читать дальше →

Стираю языковые барьеры. Бесплатно

Время на прочтение2 мин
Количество просмотров1.2K
Примерно так можно озаглавить вещи, которые я делаю в свободное время вот уже несколько месяцев. После руссификации мануала по CakePHP я занялся переводом на русский язык документации по другому фреймворку.
Интересно, какому?

Generating PDF files with PHP and FPDF

Время на прочтение5 мин
Количество просмотров118K
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Читать дальше →

Rails for PHP Developers

Время на прочтение1 мин
Количество просмотров1.9K
Хотите увидеть конкретные примеры rails кода с альтернативами на php? А может быть вы хотите ближе познакомиться с RoR, но не знаете с чего начать? Тогда проект Rails for PHP Developers просто находка для вас. С помощью этого блога вы можете взглянуть на rails глазами php-разработчика. На сайте приведены примеры задач и варианты решения на php и ruby. Я думаю проект может реально помочь разработчикам в переходе на RoR.

How to become a ZCE

Время на прочтение3 мин
Количество просмотров10K
Наверное многие из вас сдавали тесты на таких ресурсах как Retratech или Specialist. А вы задумывались зачем? Чтобы отразить результат в своем резюме? Чтобы оценить свой уровень? Подобные ресурсы не предложат вам ничего, кроме некачественных вопросов и сомнительных достижений. Их цель — получение прибыли на печати ничего не стоящих в профессиональной среде сертификатов. Чтобы получить результат вам нужно
Читать дальше →

Поговорим о погоде

Время на прочтение5 мин
Количество просмотров33K
За последнее время мне пришлось довольно основательно пообщаться с несколькими сервисами Yahoo! В этой заметке расскажу об одном из них, который для многих может оказаться полезным. Это сервис прогноза погоды Yahoo! Weather.

Года два назад я искал в сети удобный и открытый источник подобных данных, но так ничего и не нашел. Все отечественные сервисы экспортировали данные за деньги (отпугивала скорее не цена, а наличие возни с оплатой), а западные — либо не предоставляли данных в удобном для автоматической обработки формате, либо не знали о существовании города, в котором я живу.

Yahoo! Weather порадовал отсутствием перечисленных недостатков. Информация о текущей погоде, а так же прогноз на ближайшие 5 дней экспортируется с их сервера в формате RSS. На мой взгляд, выбор этого формата притянут за уши, т.к. погодная RSS «лента» содержит всего однин item. Те же данные можно было бы экспортировать в более лаконичном виде, но в Yahoo, по всей видимости, расчитывали на стандартные методы обработки RSS, что тоже довольно весомый довод. Стандарт — это все-таки стандарт.

Адрес RSS фида для интересующего города можно найти на сайте weather.yahoo.com.



В общем виде URL выглядит следующим образом:

xml.weather.yahoo.com/forecastrss?p=код_города&u=единицы_измерения

Первый параметр — идентификатор интересующего города. Второй параметр определяет, в каких единицах будет выдаваться температура. Значение «c» соответствует градусам Цельсия, «f» — градусам Фаренгейта.
Читать дальше →

Geocoding with PHP and the Google Maps API

Время на прочтение12 мин
Количество просмотров37K
Большинство приложений в интернете сейчас начинает встраивать карты местности.
Работе с картами, используя Google Map API, посвящена данная статья.
Читать дальше →

Рекурсивный обход массива

Время на прочтение1 мин
Количество просмотров20K
Наткнулся в интернете на интересный пост, описывающий использование SPL
Текст маленький, но уж сильно понравилась реализация.
Далее перевод (если его можно так назвать) + немного отсебятины
Читать дальше →

Ближайшие события

PHP пошел по следам Мюнхаузена: 26 октября у него 25 часов в сутках!!!

Время на прочтение1 мин
Количество просмотров946
Наткнулся на досадную ошибку в функциях времени PHP (проверено на версиях 5.1.2 и 4.3.3)
У кого установлены версии поновее — проверьте, пожалуйста. А то ради одной проверки переустанавливать ломы… Под хабракатом код для проверки.
Читать дальше →

От лапши к компонентам или Слушайтесь родителей!

Время на прочтение3 мин
Количество просмотров987
Родители всегда поучают своих детей (на то они и родители). Детям всегда кажутся родительские советы глупыми и не нужными и лишь потом, уже имея своих собственных, мы понимаем, что родители на самом деле были правы.

Вот, например, моя мама всегда говорила мне три вещи:

1. Не переедай на ночь,
2. Не играй в азартные игры,
3. Не пиши своих php фреймворков

И сейчас понимаю, что зря ее не послушался. А тогда… Как же это давно было… Хотя не так уж и давно, всего-то полтора года назад.
Читать дальше →

Работа с временными зонами в PHP

Время на прочтение8 мин
Количество просмотров88K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →

Прошу помощи ссылками по ООП в PHP

Время на прочтение1 мин
Количество просмотров7.3K
Господа PHP-разработчики и «претендующие», прошу — поделитесь ссылками на ресурсы, где можно подчерпнуть знания, помогающие добиться хорошего понимания ООП в PHP. А именно, на те сайты где много рассказывается о паттернах (маперы, фасады, фабрики и т.д.) и уровнях абстракции (не скажу точнее, т.к. сам сомневаюсь в собственной интерпретации термина).
Так же, возможно, на скрипты (движки) чего-либо, разработанные с применением описанных подходов.

Новый Zend Studio for Eclipse!

Время на прочтение1 мин
Количество просмотров1.5K
Пару часов назад Zend любезно известил меня о новом релизе Zend Studio for Eclipse.

Вот список улучшений (добавлений) в этой версии по сравнению с предыдущем релизе.

* New! Code refactoring
* New! Code generation and New File wizards
* New! Code Coverage
* New! PHPUnit testing support
* Improved PHP Editor with advanced formatting, new to-do lists and problems view
* Improved JavaScript Support
* Improved HTML support including HTML WYSIWYG, Code Folding, Drag & Drop components and more
* Improved Version Control support with Local history
* Improved Debugging and Profiling with Path Mapping
* Improved Zend Framework support with new Framework Project, code templates, MVC view and more
* New! Access to the ecosystem of Eclipse plug-ins
* New! Multi development languages support
* New! Zend Studio 5.5 Migration tools
* New! Automatic update mechanism

Новая версия продается за $299
Скачать и ознакомится с ней можно по этому адресу

P.S. Скачать не могу, не пускает в аккаунт, видимо проблемы из-за шквала запросов.

PHP Patterns: Singleton

Время на прочтение2 мин
Количество просмотров78K

Singleton (Одиночка)


Введение


Singleton – один из самых простых шаблонов для понимания. Основное назначение – гарантировать существование только одно экземпляра класса. Причиной обычно является следующее: требуется только один объект исходного класса и Вам необходимо, что бы объект был доступен в любом месте приложения, т.е. глобальный доступ.
Читать дальше →