Kevin Bond (@zenstruck) 's Twitter Profile
Kevin Bond

@zenstruck

Open Source, #PHP, #Symfony Developer. Writer @SymfonyCasts, @Symfony Core Member. Author of github.com/zenstruck packages.

ID: 26730358

linkhttps://github.com/kbond calendar_today26-03-2009 11:44:20

1,1K Tweet

835 Takipçi

270 Takip Edilen

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

To track our starship parts let’s create a StarshipPart entity & load the database via Foundry. Don’t forget the “part” called toilet paper! symfonycasts.com/screencast/sym…

PhpStorm, a JetBrains IDE (@phpstorm) 's Twitter Profile Photo

Up next: a deep dive into education 🧑‍🎓 Led by some of the most respected voices in the field – Jeffrey Way, Kevin Bond, and Povilas Korop | Laravel Courses Creator & Youtuber – live on the @JetBrains YouTube channel 👉 youtube.com/live/3b0ty1iZ8…

Up next: a deep dive into education 🧑‍🎓

Led by some of the most respected voices in the field – <a href="/jeffrey_way/">Jeffrey Way</a>, <a href="/zenstruck/">Kevin Bond</a>, and <a href="/PovilasKorop/">Povilas Korop | Laravel Courses Creator & Youtuber</a> – live on the @JetBrains YouTube channel 
👉 youtube.com/live/3b0ty1iZ8…
SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

ManyToOne: the king of all relations. The way this looks in PHP & the database is nerd wonderful! symfonycasts.com/screencast/sym…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

How do we relate a part to its ship? Throw away all that noise about ids & foreign keys: In Doctrine, we relate *objects* and it handles all the boring stuff. That’s pretty 💣 symfonycasts.com/screencast/sym…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

If you already love Foundry (I do!), wait until you see how simple it is to create a *fleet* of ships and their parts symfonycasts.com/screencast/sym…

PhpStorm, a JetBrains IDE (@phpstorm) 's Twitter Profile Photo

The recordings from JetBrains #PHPverse 2025 are now available to watch! You can catch up on any sessions you might have missed🎞️ 👉youtube.com/playlist?list=…

The recordings from <a href="/jetbrains/">JetBrains</a>  #PHPverse 2025 are now available to watch! You can catch up on any sessions you might have missed🎞️

👉youtube.com/playlist?list=…
SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

🇬🇧 🔄 🇪🇸 🔄 🇫🇷 New course all about the Symfony Translation component! We'll take an English-only site, translate it into multiple languages, add a language switcher and let it loose on the world... First let's install the component. symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

How do we join across a ManyToMany relation with that nasty join table in the center? By ignoring it! It’s all properties & objects symfonycasts.com/screencast/doc…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

With the Translation component installed and configured, our next step is to figure out what language a user wants. There are a couple ways to do this, but let's look at the most robust one: Localized, or Translated routing. symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

Let's create a nifty language switcher widget since having users manually manipulate the URL in their address bar is a huge bummer. symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

Let's do the real work of translating! See where and how you translate text, the "anatomy" of a translation, creating, and loading them. symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

One last thing before we finally translate the site: translation "keys". Let's look at why we use these, how to use them, and how YAML helps! symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

Let's look at a more complex translation, one with dynamic values and pluralization, because "1 dinosaurs" doesn't sound quite right 🦖 symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

HTML in your translations, it's gonna happen. There isn't a perfect solution, so let's take a look at our options. symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

The Symfony CLI makes local development a breeze - but it works best when PHP is installed directly on your machine. Let's walk through setting up PHP (plus common database extensions) and the Symfony CLI on macOS, Linux, or Windows so you're ready to start building Symfony apps.

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

The translation:extract command automates pulling missing translation keys from your PHP and Twig files. But it also has a secret, secondary purpose... Let's check it out! 🕵️ symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

For a course about translations, we really haven’t done much "translating" yet. That’s kinda important! Symfony has integrations with a few different Translation Provider services. Let’s look at @Crowdin, and see how it works! symfonycasts.com/screencast/tra…

SymfonyCasts 🇺🇦 (@symfonycasts) 's Twitter Profile Photo

We've successfully pushed our English translations up to @Crowdin. Merci beaucoup! now, let's automatically translate and pull them back down! symfonycasts.com/screencast/tra…