Как стать автором
Обновить
76.9

PHP *

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

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

Тестовое задание для PHP разработчика на испытательном сроке

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


После прохождения собеседования (ох и бурное обсуждение получилось), для разработчика наступает испытательный срок. Это один из самых тяжелых этапов для человека на новой работе — идет адаптации с новым коллективом, нескончаемый поток новых знаний, которые с трудом успеваешь усваивать, да еще и тестовое задания, и оно не из простых…
Читать дальше →
Всего голосов 50: ↑34 и ↓16+18
Комментарии105

Собеседования на должность PHP разработчика

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

Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…
Читать дальше →
Всего голосов 86: ↑70 и ↓16+54
Комментарии515

Tracing PHP Applications with xdebug

Время на прочтение8 мин
Количество просмотров22K
Добро пожаловать во вторую серию нашего повествования про xdebug. Установка xdebug и его базовые возможности были рассмотрены в первой серии. В данной статье мы рассмотрим трассировку программы.
Предыдущая серия цикла Introducing xdebug
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии16

try… catch VS if…else. Что, когда и почему?

Время на прочтение5 мин
Количество просмотров88K
Данная статья расчитана для двух типов разработчиков:
— кто еще не знаком с исключениями
— кто пытается найти более разумное использование исключениям

В статье я расскажу о самых основах исключений, о том как можно обходиться без них, а так же о том, как я вижу правильным использование некоторых возможностей языка…

Эволюция языков программирования приводит иногда к кардинальным изменениям в мировоззрении разработчиков. В мире РНР такое случилось при появлении пятой ветки, которая принесла новую объектную модель, новые наборы встроенных функций и новые методы обработки ошибок…

Те, кто начинал знакомиться с PHP (тут и далее я буду подразумевать пятую версию), после другого процедурного языка программирования, так и не поняли что же такого в переходе от 4ки к 5ке и продолжают оформлять код привычными функциями, которые находятся на одном уровне по отношению друг к другу, а так же каждое действие проверяют на удачный код возврата. Но те кто знали об исключениях и классах…
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии65

Истории

Методы доступа. Наиболее популярные ситуации

Время на прочтение3 мин
Количество просмотров38K
Статья в первую очередь расчитана на начинающих разработчиков, либо для тех, кто только начинает переходить от процедурного стиля программирования к ООП, посему матерых гуру просьба не вгонять в минуса :)

Права доступа к свойствам и методам — это на первый взгляд всего лишь три слова: private, protected и public. Но что скрывается за ними? Какие преимущества это дает в разработке? И как их правильно использовать? Здесь, как и во всех других аспектах программирования, без практики не разобраться…

Одна из трех основных концепций ООП — наследование (другие две: инкапсуляция и полиморфизм). Вобщем-то именно для нее и были реализованы права доступов. Основанная идея наследования: Дочерний объект, при наследовании (extend) родителя перенимает себе все родительские методы и свойства, а так же может обзавестись своими собственными. Понимая эту базу, можно перейти в всему что находится ниже…
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии51

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

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

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

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

Introducing xdebug

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

PHP Performance Series: Caching Techniques

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

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

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

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

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

Generating PDF files with PHP and FPDF

Время на прочтение5 мин
Количество просмотров112K
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии48

Rails for PHP Developers

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

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

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

How to become a ZCE

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

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

Время на прочтение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» — градусам Фаренгейта.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии43

Geocoding with PHP and the Google Maps API

Время на прочтение12 мин
Количество просмотров37K
Большинство приложений в интернете сейчас начинает встраивать карты местности.
Работе с картами, используя Google Map API, посвящена данная статья.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии53

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

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

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

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

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

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

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

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

И сейчас понимаю, что зря ее не послушался. А тогда… Как же это давно было… Хотя не так уж и давно, всего-то полтора года назад.
Читать дальше →
Всего голосов 66: ↑57 и ↓9+48
Комментарии247