Sign in

nikophil.bsky.social

@nikophil.bsky.social
76 followers 185 following 66 posts
PostsRepliesMedia
nikophil.bsky.social @nikophil.bsky.social · 07/09/2026
Few weeks ago, I finally released "zenstruck/foundry-behat" don't hesitate to try it and give some feedback! symfony.com/bundles/Zens... @zenstruck.com #PHP #symfony
symfony.com
ZenstruckFoundryBundle Documentation
Official documentation of ZenstruckFoundryBundle, a bundle for Symfony applications
032
nikophil.bsky.social @nikophil.bsky.social · 04/09/2026
viens donc bosser avec nous 🤩
000
Reposted by @nikophil.bsky.social
Yoan Bernabeu @yoandev.co · 30/07/2026
Claude Code ou Codex ? Mauvaise question. Prenez 3 agents, 3 modèles différents, et donnez-leur le même harnais : vous obtenez des résultats quasi identiques. Le vrai capital de vos équipes, c'est le harnais et la gestion du contexte. Pas l'outil. 👉 yoandev.co/le-mauvai...
094
nikophil.bsky.social @nikophil.bsky.social · 27/08/2026
Très intéressants ces deux derniers articles, merci !
000
nikophil.bsky.social @nikophil.bsky.social · 25/02/2026
pour avoir bossé sur un gros projet avec postgres, je peux t'assurer que c'est un plaisir à utiliser :) après une migration de SGDB sur des projets aussi gros que ceux sur lesquels on bosse, ça fait un peu flipper 😅😱
010
nikophil.bsky.social @nikophil.bsky.social · 25/02/2026
super article ! ça me fait regretter de ne pas utiliser postgre 😑 et il manque les lateral join 😜
110
nikophil.bsky.social @nikophil.bsky.social · 25/11/2025
Rdv chez Marti mercredi 3 décembre 😘
010
nikophil.bsky.social @nikophil.bsky.social · 09/11/2025
Foundry 2.8 released, which introduces new attribute`#[AsFoundryHook]` github.com/zenstruck/fo... #php #symfony @zenstruck.com
github.com
Release v2.8.0 · zenstruck/foundry
This release introduces a new attribute #[AsFoundryHook], which allows to declare Foundry hooks as Symfony services. It also permits to have "global" hooks for all kind of objects created with Foun...
021
Reposted by @nikophil.bsky.social
Yonel Ceruto @yceruto.bsky.social · 09/11/2025
Symfony 7.4 brings a cleaner way to define console inputs: command arguments and options can now be mapped directly to PHP classes and enums using attributes like `#[MapInput]`, `#[Argument]`, and `#[Option]`. Type-safe, structured input for your CLI commands 🎉🍕🥓 #Symfony #PHP #DX
0146
nikophil.bsky.social @nikophil.bsky.social · 25/10/2025
Yeah, this is awesome 🤩
010
nikophil.bsky.social @nikophil.bsky.social · 11/10/2025
I like to use this composer plugin github.com/bamarni/comp... So that we can fix the versions of the tools (and their dependencies does not mess with ours)
github.com
GitHub - bamarni/composer-bin-plugin: No conflicts for your bin dependencies
No conflicts for your bin dependencies. Contribute to bamarni/composer-bin-plugin development by creating an account on GitHub.
020
Reposted by @nikophil.bsky.social
The PHP Foundation @thephpf.bsky.social · 10/10/2025
Say goodbye to parse_url() headaches! 🥳 PHP 8.5 is introducing a new URI Extension with standards-compliant (RFC 3986 & WHATWG) and secure URL parsing. It provides a clean API and lets you easily modify URI components. Learn more 👇 thephp.foundation/blog/2025/10...
thephp.foundation
PHP’s New URI Extension: An Open Source Success Story
The PHP Foundation — Supporting, Advancing, and Developing the PHP Language
01912
nikophil.bsky.social @nikophil.bsky.social · 17/09/2025
just released zenstruck/foundry 2.7 This release deprecates the proxy system in PHP 8.4 in favor of an auto-refresh mechanism which leverages PHP lazy objects. Huge milestone! We provide a Rector set in order to ease the upgrade. github.com/zenstruck/fo... @zenstruck.com #php #symfony
github.com
142
Reposted by @nikophil.bsky.social
Kévin Dunglas @dunglas.dev · 20/11/2024
I'm a Go, JS/TS, C and PHP developer. I also know many other languages, although I'm less efficient with them (I try to learn one a year). In 2024, I'm still choosing #PHP for most new projects because: 1/4
16319
nikophil.bsky.social @nikophil.bsky.social · 03/09/2025
yeah we say "debeuguer" / "deboguer" we like to "frenchify" eerything we touch 😅 we also say "merger" as "to merge" even if this word does not exist in french
010
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
So true 😅
011
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
github.com/hbekel/magic (avec le lien, c'est mieux 😅)
github.com
GitHub - hbekel/magic: define bash functions on a per-directory basis
define bash functions on a per-directory basis. Contribute to hbekel/magic development by creating an account on GitHub.
110
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
j'avais fait un truc comme ça, à l'époque où j'utilisais encore Make : github.com/zenstruck/fo...
github.com
foundry/Makefile at 1aefc394059a315ef8567de9745efd5ba6aacfd0 · zenstruck/foundry
A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine. - zenstruck/foundry
010
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
yep tout à fait, c'est d'ailleurs très pratique, comme ça, tu clones un projet, tu peux directement lancer genre `make sf arg="cache:clear"` et il va te lancer docker, installer les vendors, etc... mais ça se fait au prix de la lisibilté du Makefile je trouve
100
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
je trouve cet argument discutable : j'utilise un petit soft qui s'appelle "magic", qui permet de définir dans un fichier `.spells` des alias contextualisés à un répertoire dans un ancien projet on avait commité ce fichier, comme ça tout le monde bénéficiait des alias `sf`, `symfony`, `phpstan`
120
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
ha oui oui on est d'accord qu'on peut faire pire :D blague à part, c'est super pratique pour certaines choses, et celui ci m'a l'air clair et lisible, mais je préfère 100 fois utiliser un alias pour lancer des commandes phpunit / symfony ou autre
110
nikophil.bsky.social @nikophil.bsky.social · 14/08/2025
`make test arg='./tests/Unit'` `make composer arg='install --optimize-autoloader'` please don't do that 😅 pourquoi se faire autant de mal ? et au passage on perd l'autocompletion...
100
nikophil.bsky.social @nikophil.bsky.social · 23/07/2025
Hey Romain! Why didn't you define an interface for the attribute, to enforce the map method?
100
Reposted by @nikophil.bsky.social
François Malaussena (@malopedia) @malauss.bsky.social · 22/07/2025
Vous avez vu, l’Espagne va baisser la TVA sur les produits essentiels. Vous savez pourquoi on ne le fait pas en France ? La réponse courte, c’est Macron, comme souvent. Mais le détail du pourquoi est hyper intéressant. Explications :
15423200
nikophil.bsky.social @nikophil.bsky.social · 18/07/2025
plein de bons conseils sur la relecture d'une PR ici gb-prod.fr/2016/12/01/l... 👏 @gbprod.bsky.social
gb-prod.fr
La revue de code bienveillante
Je pratique la revue de code depuis plusieurs années maintenant. Bizarrement, c'est toujours un exercice difficile. Qu'on la reçoive ou qu'on la donne, que ce soit en pair programming, en groupe ou pa...
010
nikophil.bsky.social @nikophil.bsky.social · 18/06/2025
one of the best feature of PHP 8.4 IMO
000
nikophil.bsky.social @nikophil.bsky.social · 05/06/2025
Foundry 2.6 is released 🎉 We've introduced a new command `bin/console foundry:load-stories` you can use to load fixtures in your database see docs for more info symfony.com/bundles/Zens... @zenstruck.com #php #symfony
symfony.com
071
nikophil.bsky.social @nikophil.bsky.social · 25/05/2025
Haha sounds familiar 😏
110
nikophil.bsky.social @nikophil.bsky.social · 13/05/2025
Foundry 2.5 is released 🎉 This release comes with "in-memory" repositories support, and a nice performance improvement. github.com/zenstruck/fo... The "in-memory" behavior is still experimental, feedback is very welcome! #php #symfony @zenstruck.com
github.com
Release v2.5.0 · zenstruck/foundry
30270ec feat: introduce "in-memory" behavior (#590) (#901) by @nikophil 87acf7a feat: add generic doctrine-like repository for in-memory (#887) (#901) by @nikophil ae662a3 minor: make "in-memory" c...
082
Reposted by @nikophil.bsky.social
-Boulet- @bouletcorp.bsky.social · 11/05/2025
Allez, lisez ceci, et pourrissez votre propriétaire. Faire chier les marchands de sommeil est un devoir civique. ♥
4525137
nikophil.bsky.social @nikophil.bsky.social · 09/05/2025
it seems like Foundry will soon leverage PHP 8.4 lazy objects, and we will be able to get rid of a lot of quirks and complex/ugly code 🎉👀 #php #symfony github.com/zenstruck/fo...
github.com
feat: replace proxy mechanism with PHP 8.4 lazy objects by nikophil · Pull Request #893 · zenstruck/foundry
relates to #899 I think we'll release this in Foundry 2.6
030
nikophil.bsky.social @nikophil.bsky.social · 01/05/2025
Very good post suckup.de/2025/05/the-...
suckup.de
The PHPDoc Guide (2025 Edition)
String-based pseudo-types Numeric & bounded pseudo-types Arrays, lists, and shapes Object & class-based types Callable types Generics with @template, @extends, @implements Constant values ...
000
nikophil.bsky.social @nikophil.bsky.social · 25/04/2025
😍 ça a l'air vraiment chouette ça
actuabd.com
Fantasy : la nouvelle prise de risque de Yoann Kavege - ActuaBD
Il avait gagné le prix C'est plus que de la SF avec Moon Deer. Son space opera au trait rond, quasiment muet, avait marqué l'éclosion de Yoann Kavege au rang des auteurs à suivre dans le nouveau paysa...
000
nikophil.bsky.social @nikophil.bsky.social · 22/04/2025
👏👏👏
010
nikophil.bsky.social @nikophil.bsky.social · 19/04/2025
🙌
010
nikophil.bsky.social @nikophil.bsky.social · 14/04/2025
I just released zenstruck/foundry 2.4 This release comes with some nice new features check the release note for more info! github.com/zenstruck/fo...
github.com
Release v2.4.0 · zenstruck/foundry
Main features feat: introduce distribute() method by @nikophil in #826 If you have a collection of values that you want to distribute over a collection, you can use the distribute() method: // let'...
053
nikophil.bsky.social @nikophil.bsky.social · 14/04/2025
the link `documentation` is broken in the README :)
100
Reposted by @nikophil.bsky.social
Rosa🌸Louette🔻 @rosalouette.eurosky.social · 08/04/2025
David Dufresne a besoin de 50 000 abonnés Youtube pour bénéficier d'une aide du CNC. Il en manque moins de 9 000. C'est très simple : si vous avez 1 compte Youtube, cliquez sur le bouton "S'abonner" et le tour est joué. Libre à vous de consultez la chaîne ensuite. 😊https://www.youtube.com/@au_poste
youtube.com
Au Poste
📢 #AuPoste 100% LIVE et LIBRE. La seule chaine indépendante toujours en direct. Libertés publiques, politique, cinéma, Histoire, littérature & contre-filatures. auposte.fr invite chercheur·es, écrivai...
9152138
nikophil.bsky.social @nikophil.bsky.social · 30/03/2025
seems totally acceptable
000
nikophil.bsky.social @nikophil.bsky.social · 30/03/2025
This is awesome! I think that now, PHPUnit reports 100% of the deprecations that used to be reprorted by the bridge, insn't it?
110
Reposted by @nikophil.bsky.social
Bertrand Zuchuat @garfield-fr.bsky.social · 16/03/2025
Interview de @fabien.potencier.org sur l'open source #symfony #opensource #php
ifttd.io
IFTTD #313 - Open Source : Mettre le dev en musique avec Fabien Potencier
011
Reposted by @nikophil.bsky.social
Bearstech @bearstech.com · 13/03/2025
Fermez les yeux, cette image est douloureuse.
113514
nikophil.bsky.social @nikophil.bsky.social · 04/03/2025
PHP, la cinquième roue du carosse 😬
000
nikophil.bsky.social @nikophil.bsky.social · 03/03/2025
Tu utilises cursor pour faire du php? Je suis un peu trop attaché à phpstorm, mais quand même un peu curieux 😅
100
nikophil.bsky.social @nikophil.bsky.social · 02/03/2025
ha oui ok, je me suis demandé si c'était cette approche 👍
010
nikophil.bsky.social @nikophil.bsky.social · 02/03/2025
merci pour toutes ces précisions :) Je ne connaissais pas ce concept de FC/IS... en revanche, je ne comprends pas bien la concept de "domaine immuable" : pour moi un agrégat ou une entité est mutable par défaut (il faut bien sauvegarder des changements d'état en db 🤔)
100
nikophil.bsky.social @nikophil.bsky.social · 02/03/2025
Personnellement, ça fait des années que j'ai un peu de mal à capter ce qu'on doit mettre dans cette couche application 😅 Et une approche en mode "commande" / "query" pour rentrer dans l'hexagone depuis, par exemple, un contrôleur, semble inappropriée ?
100
nikophil.bsky.social @nikophil.bsky.social · 01/03/2025
c'est rare de voir des interprétations du DDD sans cette couche application. Tu aurais quelques ressources sur le sujet ? merci :)
100
nikophil.bsky.social @nikophil.bsky.social · 01/03/2025
On fait plus du "CQS", et on met tous les handlers dans la couche application, ainsi que les listeners qui écoutent les events envoyés par cette couche, mais j'ai souvent l'impression qu'on y met de la logique qui devrait être dans le domaine également 🤔
110