Рубрика «php» - 56

Статический анализ PHP-кода на примере PHPStan, Phan и Psalm - 1

Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

Мы постоянно ищем возможности как для ускорения разработки, так и для повышения качества кода. И вот однажды мы решили внедрить статический анализ кода. Что из этого получилось, читайте под катом.
Читать полностью »

Вступление

Многие начинающие веб-разработчики сталкиваются с необходимостью создания меню, каталогов или рубрикаторов для своего проекта на Yii2, которые бы имели иерархическую структуру, но при этом поддерживали мультиязычность. Задача довольно простая, но не совсем очевидная в рамках данного фреймворка. Есть большое количество готовых расширений для создания древовидных структур (меню, каталогов итд.), но довольно сложно найти решение, которое бы поддерживало полноценную работу с несколькими языками. Причём речь тут идёт не о переводе интерфейса штатными средствами фреймворка, а про хранение данных в базе на нескольких языках. Также достаточно сложно найти удобный и полностью работоспособный виджет для управления деревом, который мог бы также работать с многоязычным контентом без сложных манипуляций с кодом.

Я хотел бы поделиться рецептом того, как можно создавать подобные модули на примере реализации модуля меню. Для примера я буду использовать шаблон приложения Yii2 App Basic, но вы можете адаптировать всё под свой шаблон, если он отличается от базового.

Читать полностью »

PHP-Дайджест № 141 (1 – 15 октября 2018) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0RC3, CodeIgniter 4.0.0 alpha1 и другие релизы, 62% сайтов работает на PHP 5, видеозаписи докладов с конференций и митапов, порция полезных инструментов, и многое другое.
Приятного чтения!

Читать полностью »

Софтовой платформой будет Linux, для простоты лучше использовать что-то распространённое, с кучей информации в интернете, если вдруг что-то пойдёт не так. Железом для интернет радиостанции может быть что угодно, полноценный сервер с вашими проектами, какой-нибудь старый ноутбук, или нетбук, мы же хотим дёшево, а особой производительности от железа нам не требуется.

Если же под рукой ничего такого нет, или нам нужен совсем бесшумный сервер, почему бы не попробовать использовать мини компьютер?
Что-то типа Raspberry Pi 3?
Нет, мы же хотим дешевле, так что нам нужно что-то типа Orange Pi.
У меня нашлась модель Orange Pi Pc Plus с 1GB DDR3 оперативной памяти и 8GB EMMC Flash.

Создаём простую, компактную и дешёвую интернет радиостанцию - 1Читать полностью »

Это просто фреймворк, или этот фреймворк олицетворяет собой гордость PHP-сообщества — его трудолюбивых разработчиков, так сказать, ключевой ингредиент? С россыпью конфигов… Предмет любви нашего ЯП, обладающий хорошим MVC, благодаря чему Zend Framework — самый лучший фреймворк на PHP.

Здесь вы не найдёте ответа на этот вопрос, зато узнаете про ServiceManager и ModuleManager.

Бегите, глупцы!

Читать полностью »

image

Думаю, что по скриншоту уже понятно, о чём идёт речь. Но, дабы не дублировать текст, который уже описан в документации, я расскажу только о важных моментах.
Читать полностью »

Привет!

Хекслет вернулся на Хабр! В прошлых публикациях мы писали о своих курсах по программированию, переводили интересные статьи и выкладывали публичные собеседования джуниоров. Продолжаем!

Конкурс, новые курсы и фичи (осенние новости Хекслета) - 1
иллюстрация из курса «Основы командной строки»

Вот осенние новости.

Конкурс историй

Вы ищете работу? Возможно, свою первую работу программистом? Напишите интересную историю о том, как и почему вы стали изучать программирование, как выглядит ваш процесс обучения и роста. Авторы трёх историй, набравших больше всего «старов» (звёздочек) на Гитхабе, получат по году бесплатного обучения на Хекслете с проектами.

(Проекты — это недельные интенсивы, где вы будете разрабатывать и публиковать полноценные приложения вместе с опытными менторами).

Подробнее об условиях и призах → mystory.hexlet.io. А репозиторий с историями тут → github.com/Hexlet/our-stories.

Новые курсы

Вышел бесплатный курс, которого так не хватало многим пользователям, особенно тем, кто проходил первый проект: Основы командной строки.

Читать полностью »

Люди которые пишут код на PHP сделают всё чтобы не переходить на другие языки. Да, я в курсе что раньше на Хабре уже был способ писать Android-приложения на PHP, но было принято решение адаптировать его под более быстрый и совместимый с Java JPHP.

logo

Читать полностью »

Настройка Jira под ваши нужды. Cовершенный флоу и идеальный тикет - 1

Если вы работаете в IT-компании, то, скорее всего, ваши процессы построены вокруг известного продукта Atlassian — Jira. На рынке есть множество таск-трекеров для решения тех же задач, в том числе open-source-решения (Trac, Redmine, Bugzilla), но, пожалуй, именно Jira имеет сегодня самое широкое распространение.

Меня зовут Дмитрий Семенихин, я тимлид компании Badoo. В небольшом цикле статей я расскажу, как именно мы используем Jira, как настраивали её под свои процессы, что хорошего «прикрутили» сверху и как тем самым превратили issue-трекер в единый центр коммуникаций по задаче и упростили себе жизнь. В этой статье вы увидите наш флоу изнутри, узнаете, как можно «докрутить» свою Jira, и прочтёте о дополнительных возможностях инструмента, о которых могли не знать.

Статья ориентирована прежде всего на тех, кто уже использует Jira, но, возможно, испытывает сложности с интеграцией её стандартных возможностей в существующие в компании процессы. Также статья может быть полезна компаниям, которые используют другие таск-трекеры, но столкнулись с некоторыми ограничениями и подумывают о смене решения. Статья построена не по принципу «проблема — решение», в ней я описываю сложившийся инструментарий и фичи, построенные нами вокруг Jira, а также технологии, которые мы использовали для их реализации.
Читать полностью »

Что за ерунда происходит с рейтингами популярности языков программирования? - 1

Я сегодня изучал индекс TIOBE, как делаю часто, и как часто делает большинство из тех профессиональных программистов, которых я знаю. Он претендует на измерение популярности языков программирования в мире, а его график изменения популярности со временем рассказывает простую историю: Java и C с незапамятных времён остаются королями языков с большим отрывом.

Но, погодите-ка, давайте не так быстро. Конкурирующий список PYPL Index (PopularitY of Programming Languages) говорит, что королями являются Python и Java, а C (учитываемый, внезапно, совместно с C++) находится где-то в глубине списка. Что происходит?

Просто у двух этих списков очень разные методологии подсчётов. Однако их объединяет одно – спорность их методологий, если учитывать, что их целью является измерение популярности языков программирования. TIOBE измеряет просто количество запросов в поисковике. PYPL измеряет, как часто люди гуглят обучающие материалы по тому или иному языку.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js