Доброго времени суток, сегодня я буду описывать довольно забавную задачку, из области мало связанной напрямую с web-программированием, а точнее создание демона на PHP. Понятное дело что первым вопросом будет: «А зачем это надо?» Ну что ж, будем разбираться последовательно.
Рубрика «php» - 128
Добавление оператора диапазона в PHP
2016-02-02 в 11:00, admin, рубрики: php, web-разработка, Блог компании Mail.Ru Group, Веб-разработка, срыв покровов 
На картинке — Ancient Psychic Tandem War Elephant © Adventure Time
В этой статье будет рассмотрен процесс внедрения в PHP нового оператора. Для этого будут выполнены следующие шаги:
- Обновление лексического анализатора: он будет знать о синтаксисе нового оператора, что позволит потом превратить его в токен.
- Обновление парсера: система будет знать, где может использоваться этот оператор, а заодно какова его приоритетность и ассоциативность.
- Обновление этапа компиляции: здесь происходит обработка (traverse) дерева абстрактного синтаксиса (AST) и извлечение из него кодов операции.
- Обновление виртуальной машины Zend: во время выполнения скрипта она используется для обработки интерпретации нового кода операции для оператора.
В общем, в этой статье будут кратко рассмотрены несколько внутренних моментов PHP. Выражаю горячую благодарность Никите Попову за помощь в доработке этой статьи.
Читать полностью »
DevConf 2015: видео докладов секции PHP
2016-02-01 в 14:17, admin, рубрики: badoo, devconf, php, Блог компании Badoo, Веб-разработкаЕжегодная конференция профессиональных веб-разработчиков DevConf проходит с 2010 года. Она состоит из нескольких секций, посвященных самым популярным языкам и технологиям веб-разработки. В 2015 году году компания Badoo взяла на себя важную миссию — записать видео выступлений, чтобы те, кто не смог посетить конференцию, могли посмотреть их в любое время.
Первым делом мы решили выложить видео с самой интересной для нас секции, посвященной нашему любимому языку PHP. Некоторые темы нам настолько близки, что мы постарались рассказать не только о содержании доклада, но и о том, что мы в Badoo делаем и думаем на этот счет. Надеемся, этот формат покажется интересным читателям и даст более широкое представление о теме.
Секция PHP конференции DevConf 2015
В первую очередь хотелось бы отметить доклад Дмитрия Стогова (Zend Technologies) «Релиз PHP 7: что нас ждет в октябре 2015». Не будем мучить вас переводом «чейнджлога» седьмой версии, а скажем просто: смотреть всем, кто имеет хоть какое-то отношение к PHP. Если вы за свою жизнь написали хотя бы строчку кода на PHP, то, скорее всего, уже слышали про сумасшедшую производительность, JIT и spaceship operator. JIT в PHP так и не появился, но оптимизации проведены масштабные. В докладе Дмитрий рассказывает много о внутренней кухне PHP, есть графики производительности разных версий PHP и HHVM на реальных приложениях. Badoo сейчас как раз в процессе перехода на PHP 7, нам пришлось сильно «перекопать» инфраструктуру тестирования и переписать кучу расширений, но мы на финишной прямой и можем подтвердить, что PHP 7 действительно показывает очень серьезный рост производительности. Какой именно получается прирост? Пока секрет. Ждите от нас отдельной статьи на эту тему, когда мы поборем последние косяки, отлавливаемые на продакшн-трафике.
PHP-Дайджест № 78 – интересные новости, материалы и инструменты (18 – 31 января 2016)
2016-01-31 в 19:48, admin, рубрики: CakePHP, Expressive, laravel, php, symfony, wordpress, yii 2, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки 
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Посоветуйте, как начать с опен-сорсом?
2016-01-31 в 17:23, admin, рубрики: open source, php, Веб-разработка, Программирование, развитие, развитие личности, цели и задачиСразу после Нового года хотелось бы поставить себе какие-нибудь хорошие добротные цели. Пишу это в надежде на какие-то новые свежие идеи, которые коллеги могут подсказать. Уверен, что я не первый и не последний с подобной кашей в голове.
Вот вроде уже профессионал в своем деле. 12+ лет программирования в PHP, знаю все плюшки и важные вещи: паттерны, методики, best practices, узкие места, частые ошибки и пр. И тим-лид я уже лет 5 где-то. И команда крепкая. И проекты все время интересные широкие. И начальство понимающее положительное.
Есть еще куча всего, что можно изучить, это несомненно. «Я знаю, что ничего не знаю» (Сократ) — и с этим я полностью согласен. Более того, постоянно учусь: вебинары, семинары, книги, примеры решения задач… Но есть какой-то голод внутри. Знакомо, не правда ли? Читать полностью »
Объекты в PHP 7
2016-01-25 в 12:06, admin, рубрики: php, web-разработка, Блог компании Mail.Ru Group, Веб-разработка, срыв покровов 
На сегодняшний день разработчики PHP ведут работу над API уровня С. И в этом посте я буду по большей части рассказывать о внутренней разработке PHP, хотя если по ходу повествования встретится что-то интересное с точки зрения пользовательского уровня, то я буду делать отступление и объяснять.
Читать полностью »
Форсаж под нагрузкой на Symfony + HHVM + MongoDB + CouchDB + Varnish
2016-01-24 в 16:53, admin, рубрики: couchdb, HHVM, mongodb, nosql, php, symfony, symfony2, Varnish, Веб-разработка, высокая производительность 
Сегодня хотим рассказать о том, как строили систему, к которой сейчас обращается более 1 млн. уникальных посетителей в день (без учёта запросов к API), о тонкостях архитектуры, а также о тех граблях и подводных камнях, с которыми пришлось столкнуться. Поехали...Читать полностью »
OpenShift: немного внутренностей Gear’ов
2016-01-21 в 8:29, admin, рубрики: mysql, openshift, paas, php, Настройка LinuxНемного высокого
Gear — «движок» Openshift, собственно среда исполнения вашего приложения. При бесплатной регистрации сразу дают три. Собственно говоря об устройстве можно ничего и не знать. Но это вредно.
1. Имеется определенная структура каталогов. Для вашего приложения отведен ~/app-root.
типа ls
build-dependencies -> runtime/build-dependencies data dependencies -> runtime/dependencies logs repo -> runtime/repo runtime
Собственно говоря интересны data и repo. Забавная деталь три каталога являются ссылками на подкаталоги runtime, а runtime/data — линком на data в текущем каталоге. runtime/.state содержит текущее состояние gear'a: started, idle, deploing.
2. Все адреса, пароли, каталоги и прочее содержаться в переменных окружения, с ними то и предстоит работа. Подробно переменные описаны здесь.
Теперь к земле поближе
PHP-Дайджест № 77 – интересные новости, материалы и инструменты (1 – 17 января 2016)
2016-01-18 в 0:05, admin, рубрики: laravel, php, PHP 7, rfc, symfony, yii 2, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки 
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Как правильно внести свою лепту в Open Source проект: простые подсказки
2016-01-16 в 7:05, admin, рубрики: github, laravel, open source, php, symfony, yii, Программирование, разработка Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.
Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP.
Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.
Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.

