Sign in

Damien Seguy

@dseguy.bsky.social
683 followers 270 following 391 posts

Code quality fanatic, static analysis expert @exakat, elephpant breeder, husband, father, speaker!

PostsRepliesMedia
Reposted by Damien Seguy
AFUP @afup.org · 28/09/2026
Il vous reste une semaine tout juste pour prendre vos billets pour le Forum PHP 2026 : rejoignez la communauté PHP les 8-9 octobre à Disneyland Paris et profitons d'être ensemble pour discuter sur l'évolution de nos métiers. On en a toutes et tous besoin ! buff.ly/BeDt94o
Le public est en standing ovation lors du Forum PHP 2025
012
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 27/09/2026
PHP templates make great static websites. Kirigami runs them without installing PHP. It is a static site generator. It runs real PHP in WebAssembly through Node.js. #PHP #WebDev #WebAssembly 1/4
A comparison between classic PHP static site setups and Kirigami. Classic setups require installing the PHP runtime, configuring local servers, and managing external asset bundlers. Kirigami runs PHP in WebAssembly through Node.js with zero local installation, built-in Sass and esbuild bundling, live VS Code preview, and an AI MCP server.
111
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 26/09/2026
You know PHP as an interpreted language. Manticore turns it into native machine code. It is an Ahead-Of-Time compiler written in pure PHP. It uses LLVM to generate standalone binaries. #PHP #WebDev #OpenSource 1/4
Architecture diagram of Manticore. Typed PHP code goes through type inference, LLVM intermediate representation, and machine code optimization. The compiler produces a standalone native binary that runs directly on the operating system without the PHP interpreter.
252
Damien Seguy @dseguy.bsky.social · 26/09/2026
🐘 PHPenomenal 8.6 is on! Write a "useful" #PHP app that actually uses PHP 8.6's new features. One rule: share your source code by Nov 19, 2026, when PHP 8.6 drops. Best entries wins! 🏆 Join in → open an issue on the repo. #PHP #PHP86 #PHPenomenal www.exakat.io/phpenomenal-...
phpc.social
PHP Community on Mastodon
A server for PHP programmers & friends. Join us for discussions on the PHP programming language, frameworks, packages, tools, open source, tech, life, and more.
010
Damien Seguy @dseguy.bsky.social · 23/09/2026
#PHP lazy class constant is the default behavior when creating constant with expressions, rather than literal values. This is both clever and a hidden trap. So, let's review that! www.exakat.io/lazy-class-c...
exakat.io
Lazy class constants in PHP - Exakat
Lazy class constants in PHP: how can constant get lazy in PHP, how this is good for performance, and why does it has a few catches
001
Damien Seguy @dseguy.bsky.social · 21/09/2026
Vale reads the comments in your #PHP code and apply checks: grammar, spelling and style, to make sure they are consistent and expressive. A tool for the most human part of the code. Install, review and run. www.exakat.io/vale-reviews...
010
Damien Seguy @dseguy.bsky.social · 18/09/2026
What happens when you chain #PHP list() calls? And when you include a full assignement in the middle? Also, with #PHP 8.6 deprecating the list keyword, modern code likes like chains of arrays. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
<?php

class X { public array $list = [2]; }
$list = new X ;

list($a) = list($b) = $list->list;
echo $a;
echo $b;

[$a] = $c = [$b] = $list->list;

echo $a;
echo $b;
print_r( $c );
010
Reposted by Damien Seguy
Rodolphe @rgelaude.bsky.social · 18/09/2026
📰 Nouvelle revue de presse #Symfony, #PHP & #IA Cette semaine : → Symfony 8.2 continue d’évoluer → PHP 8.6 approche du feature freeze → Composer 3 se prépare → Les agents Copilot gagnent en contrôle et en autonomie À lire 👇 www.gelaude.fr/articles/sym...
gelaude.fr
Symfony, PHP et IA au 18 septembre 2026
Revue du 18 septembre 2026 : Symfony 8.2, gel de PHP 8.6, préparation de Composer 3 et nouveaux contrôles de sécurité pour les agents GitHub Copilot.
011
Damien Seguy @dseguy.bsky.social · 18/09/2026
🐘 Calling all PHP devs on Bluesky! Join the PHP Dev Squad for the latest #PHP news, cool projects and community activities. Share what you're building, learn from others and stay in the loop. You're invited 👇 #PHPDev #WebDev dly.to/zzRWqw6ra15
dly.to
Damien seguy invited you to PHP Dev | daily.dev
Welcome to PHP Dev, a dedicated space for sharing knowledge about PHP and its ecosystem (only PHP directly related). Help us find good articles and blogposts and provide links. Upvote or downvote, after reading, it's essential
132
Damien Seguy @dseguy.bsky.social · 18/09/2026
What do you mean, I can't redeclare a property static? I know! How did I end up with such an error in my #PHP linting? Well, it is actually more interesting than it looks. Here is a whole adventure! www.exakat.io/what-do-you-...
exakat.io
What do you mean, redeclare a property static? - Exakat
What do you mean, redeclare a property static? How a unexpected error message lead to a review of PHP features
000
Damien Seguy @dseguy.bsky.social · 17/09/2026
So, it's too late for #PHP 8.6, but can I ask for composable first class callable of the second order for #PHP 8.7? I tried even with |> operator, it fails. Is the only solution here to do a closure? Try it yourself : 3v4l.org/eUjJ4#v8.5.10 Damned, already talking about #php 8.7?
000
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 17/09/2026
I forgot the link about the PHP 2D game engine Phrost so here it is: www.youtube.com/watch?v=UOft...
youtube.com
Phrost Update #2 - 2D Game Engine For PHP
YouTube video by Joseph Montanez
111
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 17/09/2026
PHP is not only for websites. You can now build video games with it. Meet Phrost, a modern 2D game engine. #PHP #GameDev #IndieDev 1/5
A screenshot showing game development with Phrost. The background displays a code editor with visible PHP script (commands like '$sprite->play'). The foreground shows an active game window titled 'Warrior Animation Demo', featuring a 2D pixel-art platformer game inside a dark dungeon.
193
Damien Seguy @dseguy.bsky.social · 16/09/2026
Can you have the same property both static and non static in a #PHP class? I mean, it is quite easy with methods, but properties? Well, #PHP can. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
php-tips.readthedocs.io
Static And Non Static Property
After the great static and non static method, here is the property version: it is possible to make the same property static and non-static
000
Reposted by Damien Seguy
Damien Seguy @dseguy.bsky.social · 15/09/2026
Check out the PHP Dev squad on daily.dev for daily and varied news dly.to/zzRWqw6ra15
daily.dev
daily.dev - Where developers discover what's next
Free, personalized developer news aggregator. Stay on top of software development news, AI coding tools, and web dev - curated daily from trusted sources.
021
Damien Seguy @dseguy.bsky.social · 15/09/2026
Check out the PHP Dev squad on daily.dev for daily and varied news dly.to/zzRWqw6ra15
daily.dev
daily.dev - Where developers discover what's next
Free, personalized developer news aggregator. Stay on top of software development news, AI coding tools, and web dev - curated daily from trusted sources.
021
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 15/09/2026
Can PHP render 2D and 3D graphics? PHP-GLFW makes it possible. It opens PHP to game development and visual tools. #PHP #GameDev #Programming 1/5
Screenshot of the game FlappyPHPant, developed with PHP-GLFW, showing a pixelated blue elephant flying between green pipes in a forest landscape. Displayed text: "High Score: 2" and "Press Space to Start".
1105
Reposted by Damien Seguy
Pierre T @ptondereau.bsky.social · 14/09/2026
J'ai adhéré à l'AFUP cette année et vous devriez en faire autant aux associations qui sont dans votre écosystème : lettreouverte.afup.org
lettreouverte.afup.org
Lettre ouverte pour sauver les événements tech en France
Les événements tech français risquent de disparaître. Sponsorisez, achetez des places, adhérez.
053
Reposted by Damien Seguy
AFUP @afup.org · 08/09/2026
La situation est grave à l'AFUP. Et pas que chez nous: c'est tout le secteur des événements techniques qui souffre. Aujourd'hui, ensemble, 32 assos, communautés et orgas d'events tech partagent une lettre ouverte pour la survie de nos rassemblements. Prenez part au mouvement ! buff.ly/EbSRXsf
Pour que les événements tech continuent d'exister, nous avons signé la lettre ouverte aux acteurs de l'écosystème, comme 32 assos et communautés.
lettreouverte.afup.org
Inscrivez vos équipes.
Adhérez.
11321
Damien Seguy @dseguy.bsky.social · 07/09/2026
Rebuilding Taipan! with an AI Pair Programmer in PHP Taipan! is a classic Apple ][c game and... we are in 2026. www.exakat.io/rebuilding-t...
exakat.io
Rebuilding Taipan! with an AI Pair Programmer in PHP - Exakat
Rebuilding Taipan! with an AI Pair Programmer in PHP: the epic adventures of a PHP programmer with the classic apple ][c game
000
Reposted by Damien Seguy
Damien Seguy @dseguy.bsky.social · 01/09/2026
str_replace() replaces ALL occurences. What if you only want to replace one of them? I have 3, but there are others. What other option do #PHP offer? php-tips.readthedocs.io/en/latest/ti... #phptip #phptrick
011
Reposted by Damien Seguy
Lionel Péramo @lionel-peramo.com · 01/09/2026
PHP and AI are now a powerful combination. Meet ORT, the extension that brings machine learning to PHP. You can run advanced AI models directly in your PHP code. #PHP #AI #MachineLearning 1/6
A code example for the PHP-ORT extension demonstrating matrix multiplication. The PHP code first checks if the 'ort' extension is loaded. It then initializes two 3x3 matrices as Tensors using `ORT\Tensor\Transient::from`. Finally, it uses the `ORT\Math\matmul` function to multiply the two matrices and prints the result.
111
Damien Seguy @dseguy.bsky.social · 01/09/2026
str_replace() replaces ALL occurences. What if you only want to replace one of them? I have 3, but there are others. What other option do #PHP offer? php-tips.readthedocs.io/en/latest/ti... #phptip #phptrick
011
Damien Seguy @dseguy.bsky.social · 30/08/2026
Naming is hard: typephp, typephp, native PHP, nativePHP, and PHP native? There are quite some confusion notions these days in #PHP ecosystem. www.exakat.io/typephp-nati...
exakat.io
TypePHP, native PHP, NativePHP: the ecosystem has a vocabulary problem - Exakat
TypePHP, native PHP, NativePHP: the ecosystem has a vocabulary problem
021
Damien Seguy @dseguy.bsky.social · 20/08/2026
Sometimes, null is an actual argument in #PHP native functions, and it is not obvious that features it unleashes. #phptrick #phptip www.exakat.io/the-secret-l...
exakat.io
The Secret Life of "Magic Null" in PHP - Exakat
The Secret Life of "Magic Null" in PHP: some special usage of null as an argument, with extra lesser known features, yet so useful
010
Reposted by Damien Seguy
The PHP Foundation @thephpf.bsky.social · 18/08/2026
This is a friendly reminder that if you have not yet completed the State of PHP Survey, you should do so. And you should tell your PHP friends and family to do so, too. I mean, look how excited these people are to be taking this! surveys.jetbrains.com/s3/phpnet-s... #php #stateofphpsurvey #phpstorm
Photo by a photographer named Windows on Unsplash. Shows a group of people around a laptop, smiling and fist pumping.
063
Reposted by Damien Seguy
Baptiste Langlade @baptouuuu.bsky.social · 13/08/2026
I wrote a more in-depth explanation on how innmind/black-box found a security vulnerability in #PHP innmind.org/documentatio...
innmind.org
BlackBox found a vulnerability in PHP - Innmind
The functional ecosystem
212
Damien Seguy @dseguy.bsky.social · 09/08/2026
How do you turn a boolean into the strings 'true' and 'false' in #PHP ? Easy? Yes. Diversified? Yes. Now, which one is training AI? #phptip #phptrick www.exakat.io/convert-a-bo...
exakat.io
Convert a boolean into a string
Convert a boolean into a string
000
Damien Seguy @dseguy.bsky.social · 06/08/2026
TIL that JSON tolerates duplicate keys. #PHP does not: it may only keep the last one, or throw an exception as error. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
<?php

// JSON is decoded
print_r(json_decode('{"a":1,"b":3,"a":2}'));

// with an error
print json_last_error_msg();

// it is actually an error
print_r(json_decode('{"a":1,"b":3,a":2}', flags: JSON_THROW_ON_ERROR));

?>
000
Reposted by Damien Seguy
Micha the DevOp @michabbb.bsky.social · 05/08/2026
🔐 Trusted #HTTPS for raw #IP addresses in #Docker: #serversideup /php v4.6.0-beta1 brings #LetsEncrypt short-lived certificates to #FrankenPHP #PHP 🧵👇
111
Damien Seguy @dseguy.bsky.social · 05/08/2026
All you ever wanted to know about bizarre unicode that can be used as name in #PHP. #phptip #phptrick www.exakat.io/when-php-mee...
exakat.io
When PHP Meet Unicode: A Tour of Identifiers Beyond ASCII - Exakat
When PHP Meet Unicode: A Tour of usage of Unicode identifiers in PHP names, with its edge cases and manu surprises
020
Reposted by Damien Seguy
Micha the DevOp @michabbb.bsky.social · 02/08/2026
📋 #Yerd is an open-source local #PHP development environment for #macOS and #Linux — a rootless #LaravelHerd alternative written in #Rust 🧵👇
141
Damien Seguy @dseguy.bsky.social · 27/07/2026
I Checked Every php.* Domain on the Internet. There is room for the future for #PHP! www.exakat.io/i-checked-ev...
exakat.io
I Checked Every php.* Domain on the Internet - Exakat
I Checked Every php.* Domain on the Internet: 1437 of them, and there is the .net, the followers, the tools, and the one to be booked
001
Damien Seguy @dseguy.bsky.social · 17/07/2026
Pop quizz #PHP on Friday evening: How can you remove an argument between the parent class and the child class? Is that an impossible task? #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
<?php

class x {
    function foo(int $a, string $c, string ...$b) {}
}

// OK
class y extends x {
    function foo(int $a, string ...$b) {}
}
100
Reposted by Damien Seguy
Ben Ramsey @ramsey.dev · 13/07/2026
Enthusiasm for contributing to #PHP often fizzles out before it has a chance to catch fire. I've proposed a Working Groups RFC to change that. Here's the case for it and how you can help shape it. ben.ramsey.dev/blog/2026/07/who-do-…
ben.ramsey.dev
Who Do I Talk To?
PHP loses eager volunteers because there's no clear place for them to plug in. The Working Groups RFC proposes a framework to change that by empowering contributors, not adding bureaucracy.
2108
Damien Seguy @dseguy.bsky.social · 10/07/2026
#PHP 8.4 introduced array_find() to look for a value in an array, and also, its cousin, array_find_key(), which returns the key where to find that value. The second got less attention, but is arguably more useful. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
020
Reposted by Damien Seguy
Elias 🦀🇵🇸🇻🇪🇧🇷 @elias.sh · 04/07/2026
So they make PHP in Kyoto?
151
Reposted by Damien Seguy
James Seconde @secondej.bsky.social · 03/07/2026
WE ARE ON BLUE SKY! #PHP debs, hello! @thephpf.bsky.social
161
Damien Seguy @dseguy.bsky.social · 30/06/2026
So, it seems that it is possible to paint oneself in a corner and write an unreachable method. How would you call A::foo() in this code below? Come on, #PHP, there must be something here. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
011
Damien Seguy @dseguy.bsky.social · 30/06/2026
A manually curated list of multi-language applications that also supports #PHP www.exakat.io/also-php-a-c...
exakat.io
000
Reposted by Damien Seguy
Nic Wortel @nicwortel.bsky.social · 30/06/2026
My latest guide covers using Composer to install dependencies in production-ready Docker images for PHP applications: nth-root.nl/en/guides/co...
nth-root.nl
Composer in Docker: best practices for production images
Learn how to use Composer to build production-ready Docker images for PHP applications, including best practices for caching dependencies and optimizing image size.
031
Damien Seguy @dseguy.bsky.social · 15/06/2026
Convert a #PHP multi-dimensional array or list of objects to a Hash map easily, with array_column(). #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
php-tips.readthedocs.io
array_column() To Hash
array_column() is a very handy PHP native function, which extracts a index from a list of arrays, or a public property from a list of objects
000
Reposted by Damien Seguy
Ben Ramsey @ramsey.dev · 12/06/2026
RE: mastodon.social/@nunomaduro/1167374… Tagging with #PHP for greater reach 😁
mastodon.social
121
Reposted by Damien Seguy
Shawn Hooper @shawnhooper.ca · 08/06/2026
Happy 31st Birthday to the #PHP programming language. en.wikipedia.org/wiki/PHP
en.wikipedia.org
PHP - Wikipedia
182
Damien Seguy @dseguy.bsky.social · 06/06/2026
Yield or return, when using ... in a function call? Not an easy question to ask on a first date. #phptip #phptrick php-tips.readthedocs.io/en/latest/ti...
111
Reposted by Damien Seguy
Alexandre Daubois @alexdaubois.bsky.social · 03/06/2026
Generators vs Fibers in #PHP: both suspend execution, totally different mechanism. Generator: saves ONE execute_data frame. Yield pauses it, ->next() resumes. One level deep. Fiber: saves the ENTIRE call stack. Generator, stackless coroutine. Fiber, stackful coroutine.
022
Reposted by Damien Seguy
Micha the DevOp @michabbb.bsky.social · 27/05/2026
🗂️ Use #GoogleSheets as a #Laravel database! laravel-google-sheets-database-driver maps spreadsheet = DB, tab = table, row 1 = columns. Full #Eloquent & Query Builder support. #PHP #opensource github.com/AmazingBV/l...
041
Damien Seguy @dseguy.bsky.social · 27/05/2026
A few edge cases for integers, floats and divisions with #PHP #phptips #phptricks php-tips.readthedocs.io/en/latest/ti...
php-tips.readthedocs.io
Of Integers And Floats
First thing to unpack in this post: PHP accepts any number of decimals when it is hardcoded in the source
020
Reposted by Damien Seguy
Alexandre Daubois @alexdaubois.bsky.social · 27/05/2026
$GLOBALS used to introduce aliasing complexity in the engine. Because it could reference local variables, Zend had to handle indirect entries (IS_INDIRECT) in certain array access paths. #PHP 8.1 restricted $GLOBALS writes, removing that edge case and simplifying hot paths.
021
Damien Seguy @dseguy.bsky.social · 26/05/2026
Review of the various usage of the empty string in #PHP This is not a modern feature, by no measure, but a versatile piece of data that leads to paradoxical usages. #phptip #phptrick www.exakat.io/the-empty-st...
exakat.io
The Empty String in PHP: One Value, Too Many Jobs - Exakat
The Empty String in PHP: One Value, Too Many Jobs. It is used as default value, value upon success or error, accumulator and cast operator
000