Пятиминутка PHP
2.87K subscribers
334 photos
27 videos
827 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
Хороший плейлист с видео по эффективной работе в PhpStorm https://youtube.com/playlist?list=PL-FhWbGlJPfbyDzZguRUwYkHx7Cn-Ch6u&si=5dHhHtNz2WK5a-Pl
🔥22👍51👎1
Forwarded from Пых (Валентин Удальцов)
🎙 PHP Russia 2024 быть!

28 и 29 ноября в Москве пройдёт конференция Highload, в рамках которой 16 докладов будут выделены под PHP Russia.

Наилучший способ туда попасть — выступить! Плюшки спикера: куратор из ПК для подготовки крутого доклада (например, я), транспорт до Москвы и комфортное проживание, бейдж с полным доступом ко всем залам и зонам Highload. А ещё спикер навсегда вписывает себя и свои идеи в историю PHP. Короче, грех не податься!

Дай угадаю. Если ты раньше не выступал, то сейчас думаешь: "Ой, ну мне не о чем рассказывать, у нас всё стандартно." Поверь, так не бывает! У каждой компании есть ноу-хау, иначе она была бы неприбыльной и ты работал бы в другой. А раз "every company is a software company", то ноу-хау должно быть и в софте. Твоя задача — найти его и заполнить форму. Ещё можно предложить доклад про это самое "стандартно" и как его правильно готовить. Дальше мы уже решим, что впишется в программу, а что нет.

Итак, темы этого года:
• FFI, практическое применение
• AI/ML + PHP
• Производительность
• Devops под PHP
• Лучшие практики
• Новые крутые либы
• Альтернативные рантаймы
• Новые фреймворки
• Опыт больших сложных проектов на PHP

Ждём твой доклад по адресу https://cfp.phprussia.ru/ до 2-ого сентября.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9🤡3
Новая нейросеть Claude 3.5 Sonet сносно пишет стихи. Попросил про PHP в стиле Маяковского:

PHP! Язык-громада, веб-гигант. Для сайтов он — первейший вариант.

Прост в освоении, быстр в работе, Для новичков и профи он в почете.

Серверный скрипт — его стихия, Динамику внесет без чьей-либо указки.

Базы данных, формы, сессии — Все по плечу без лишней агрессии.

PHP! Бесплатный, открытый, Для веб-разработки он — защита и щит.
🔥39💩21😁15👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Знаменитый стример с обзорами на языки программирования с уклоном в Rust: «PHP-сообщество лучшее в мире!»
🏆43😁11🔥84👍2💩2
😁87🤷‍♂32👍2
Forwarded from CodeCamp
This media is not supported in your browser
VIEW IN TELEGRAM
Ты программист, Гарри. Великий программист.
😁44👎9🤣4💩3🤔2🔥1
Forwarded from Пых (Валентин Удальцов)
🤨 Задачка со звёздочкой

Теперь, когда первая сотня абитуриентов прислала анкеты, предлагаю всем подумать над внеконкурсным заданием. Решите 5-ую задачу с теми же вводными в обратную сторону. То есть у вас должен получиться класс, который, наоборот, позволит использовать Psr\Middleware как Symfony\Subscriber. Идеи можно обсуждать в комментариях к этому посту. Позже всё разберём на стриме.

Gist с полной формулировкой этого варианта задачи: https://gist.github.com/vudaltsov/dc4f372692d2eabbc8c3d29cd4de0ccd

Навеяно, кстати, весьма драматическими событиями. В 2018-ом году сообщество Symfony активно обсуждало невыполнение PHP-FIG своей "framework interoperability" миссии, так как компоненты HttpFoundation и HttpKernel нельзя малой кровью адаптировать под PSR-7. Апогеем стал pull-request Фабьена "Remove Symfony" в PHP-FIG. Тогда же у Symfony появился никому не нужный альтернативный набор контрактов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
😁101👀5🤔4👍2😎1
Laravel Cloud - новый бизнес-проект Тейлора. На сколько я вижу, из предыдущих проектов по монетизации Laravel самым успешным был Forge.

Затем была попытка в managed/serverless Vapor. Тейлор учёл продуктовые ошибки Vapor и вот он третий подход к теме: Laravel Cloud!

https://cloud.laravel.com

Ten years ago, Forge changed the game. Five years later,Vapor pushed the boundaries with serverless deployments. Now, we’re aiming higher than we’ve ever aimed before. We’ve spent more than a decade listening to what developers want, and it’s simple: they just want to ship.
💩13👍7🫡5🤡1🖕1
ХВАТИТ смеяться над языками
программирования

Java - популярный
JavaScript - удобный
Python - прекрасный
PHP
Ruby - интересный

пятничный мем
😁79😎7👌6🦄31👎1😢1
Forwarded from PHP умирает?! (Валентин Удальцов)
😁59👍25🐳2
Ищешь полезные знания по архитектуре PHP-приложений?

Подключайся к онлайн-конференции Podlodka PHP Crew, которая пройдет с 30 сентября по 4 октября!

Получишь практические кейсы и советы от экспертов с опытом реальных внедрений в крупных проектах.

💡Ключевые спикеры сезона:

🔥 Кирилл Мокевнин, сооснователь Hexlet, научит строить код на базе явного состояния и флагового программирования, от простых регистраций до сложной синхронизации данных.

💡 Валентин Удальцов, opensource-разработчик, объяснит, когда стоит внедрять CQRS и как избежать ненужных сложностей.

💳 Дмитрий Кириллов, CTO 1С-Старт, разберет ошибки в банковских интеграциях и покажет, как проектировать качественные API на PHP.

📊 Алексей Солодкий из BelkaCar покажет, как использовать Prometheus для кастомных метрик и организовать мониторинг PHP-приложений.

Не упусти шанс улучшить свои навыки! Подробности и билеты на сайте: https://podlodka.io/phpcrew

А промокод сообщества php_crew_5_jwg1i1 даёт скидку еще в 500 руб🥳
👍132
Что предпочитаете?

❤️ — MySQL.

👍 — MongoDB.

👉 @web_craft |#юмор
164😁28🤡9👍7🍌6🦄3🔥2💩2🤪2
Из свежего интервью с Тейлором (создателем Laravel):
Я лично просматриваю и проверяю каждый Pull Request к Laravel, и именно я тот человек, который в итоге нажимает кнопку Merge.

Думаю, это помогло сохранить целостность и единый стиль фреймворка.

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


https://youtu.be/LoRc5A8QCmw?si=yDwFMWyZe7Hin9iF&t=1680 (ссылка с таймкодом)
😁36👍15💊8🤡5🤔2
Почему в кремниевой долине много IT-гигантов, IT-стартапов и всего такого? В одном из чатов узнал реальную причину, попробуй запрограммируй:
🦄15👍6🤯2👾1😡1
PHP-линч на Halloween, который мы заслужили!
5
Forwarded from Пых (Валентин Удальцов)
▶️ PHP-линч Laravel с Кириллом Мокевниным, Данилом Щуцким и Алексеем Гагариным

Пару недель назад мы с Кириллом обсуждали PHP. Выяснилось, что он накануне имел дело с Laravel и, цитирую, "увидел очень много косяков". Фартан Алексей не мог пройти мимо такого инфоповода и предложил крутой состав для стрима:

▸ Кирилл Мокевнин подсветит проблемы Laravel,
▸ Данил Щуцкий встанет на защиту Тейлора,
▸ Алексей Гагарин расскажет, что в Spiral всё сделано в 100 раз лучше.

Встречаемся в этот четверг в 19:00 по Москве! Жмите в колокол, чтобы не пропустить.

https://youtu.be/KpSfWe7XS3A
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14😁5🤡2
Forwarded from Пых (Валентин Удальцов)
▶️ Пыхап!

Буквально через несколько минут начнётся первый в истории Пыхап! Залетайте в трансляцию на канале PHP Point!

https://youtu.be/Pa4pti6r-rc

В программе у нас 3 доклада:

🤯 (Не) используйте функциональное программирование в PHP
Андрей Клименко поломает вам голову основами ФП и примерами на Scala, из которых станет понятно, что из функционального мира уже доступно в PHP, а что ещё предстоит законтрибьютить.
⬇️Слайды

🐇 Вы не знаете RabbitMQ
Вадим Занфир расскажет, почему все современные фреймворки теряют сообщения и как на самом деле надо работать с "кроликом".

🤑 Как считать деньги и не терять их
В аду есть специальный котёл для тех, кто использует float для хранения денег. Сергей Жук подскажет, как в него не угодить.

Спонсор первого Пыхапа — Happy Job 💚! Обращайтесь в Happy Job за исследованиями вовлечённости и оценкой 360, ребята делают лучшую платформу для развития сотрудников.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍1👎1
PHP 8.4.1 Released!

Ключевые изменения в PHP 8.4:

Предложена новая реализация JIT-компилятора, построенная на базе IR Framework. Ключевое отличие в том, что старый JIT напрямую генерировал машинные инструкции на основе байткода и с использованием разных бэкендов для архитектур x86_64 и AArch64, а новый JIT использует единый для всех архитектур бэкенд и генерирует промежуточное представление (IR), которое затем дополнительно оптимизируется и преобразуется в машинные инструкции для нужной целевой платформы.

Добавлена поддержка прикрепления обработчиков свойств (property hook), позволяющих добавить дополнительную логику, выполняемую при изменении или доступе к свойствам объекта, реализуемую без перехвата операций чтения и записи при помощи общих функций __get и __set, и без создания дополнительных методов-обвязок. Применение обработчиков свойств даёт возможность существенно сократить объём кода и упростить переопределение поведения работы со свойствами, благодаря привязке собственного обработчика к каждому свойству.

class User
{
public string $name {
set {
if (strlen($value) === 0) {
throw new ValueError("Name must be non-empty");
}
$this->name = $value;
}
}

public function __construct(string $name) {
$this->name = $name;
}
}


Разрешено указание ссылок на методы в конструкции "new" без отделяющих скобок, т.е. вместо "$name = (new MyClass())->method()" теперь можно указывать "$name = new MyClass()->method()".

Добавлена возможность асимметричного управления видимостью свойств объектов (public, private, protected), отдельно для операций записи (set) и чтения (get). Например:

class PhpVersion
{
public private(set) string $version = '8.4';
}

$phpVersion = new PhpVersion();
var_dump($phpVersion->version); // string(3) "8.4"
$phpVersion->version = 'PHP 8.3'; // error


Предоставлена штатная поддержка "ленивых" объектов (lazy), инициализация которых производится в момент первого использования.

Вместо общего параметра "opcache.jit_buffer_size" для управления JIT-компилятором и настройки размера буфера JIT предложены параметры "opcache.jit" и "opcache.jit_buffer_size". Для отключения JIT теперь можно указывать "opcache.jit=disable" вместо "opcache.jit_buffer_size=0". Внесены изменения, снижающие потребление памяти и повышающие производительность JIT в некоторых ситуациях.

Добавлен атрибут "#[\Deprecated]", предназначенный для пометки устаревших функций, классов и методов.

#[\Deprecated("use newFunction() instead", since: "1.1")]
function oldFunction() {
// …
}


Реализован класс \Dom\HTMLDocument, поддерживающий корректный разбор разметки HTML5.

Добавлена функция request_parse_body() для разбора HTTP-запросов с типом контента multipart/form-data (RFC1867).

Добавлены функции array_find(), array_find_key(), array_any() и array_all(). Функции array_find() и array_find_key() возвращают первый элемент или ключ в массиве, для которых сработала проверка, заданная через указанную пользователем callback-функцию. В свою очередь функции array_any() и array_all() возвращают любой совпавший элемент и все совпавшие элементы. Например, для вывода первого элемента, размер поля title в котором больше 5 символов, можно указать:

$firstMatch = array_find(
$posts,
function (Post $post) {
return strlen($post->title) > 5;
}
);


Добавлены методы DateTime::getMicrosecond() и DateTimeImmutable::setMicrosecond($microsecond) для получения и установки времени с микросекундной точностью, а также метод DateTime::createFromTimestamp().

В PDO (PHP Data Objects), абстрактный интерфейс для работы с базами данных, добавлена возможность создания парсеров SQL и субклассов, специфичных для определённых драйверов СУБД. Добавлены новые субклассы Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc и Pdo\Sqlite.
🔥13👍11