<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>SymfonyCasts - PHP and Symfony Video Tutorial Screencasts</title>
    <link>https://symfonycasts.com/blog</link>
    <description>Blog feed with technical articles around PHP and screencast and tutorial updates from SymfonyCasts.com</description>
    <item>
      <title>Composer 2.9 Automatic Security Blocking: Fireside Chat</title>
      <link>https://symfonycasts.com/blog/composer-security-advisory</link>
      <description>Composer 2.9 turns security the next level. Instead of politely warning about vulnerable dependencies,
it now blocks insecure installs and updates by default, forcing issues to surface early and keeping
your PHP projects safer without extra tools.
</description>
      <guid isPermaLink="false">/blog/composer-security-advisory</guid>
      <pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Package Spotlight: `zenstruck/class-metadata`</title>
      <link>https://symfonycasts.com/blog/package-spotlight-class-metadata</link>
      <description>Add extra context to your PHP classes with `zenstruck/class-metadata`. This
lightweight package lets you define short, readable identifiers for your
classes - known as aliases - and attach custom metadata directly to them.
</description>
      <guid isPermaLink="false">/blog/package-spotlight-class-metadata</guid>
      <pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Remembering Ryan Weaver</title>
      <link>https://symfonycasts.com/blog/remembering-ryan-weaver</link>
      <description>With deep sadness, we share that Ryan Weaver — co-founder of SymfonyCasts, father,
husband, beloved teacher, and friend — has passed away after a long and courageous
journey with brain cancer.
</description>
      <guid isPermaLink="false">/blog/remembering-ryan-weaver</guid>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Installing PHP and Symfony CLI Locally</title>
      <link>https://symfonycasts.com/blog/install-php-locally</link>
      <description>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.
</description>
      <guid isPermaLink="false">/blog/install-php-locally</guid>
      <pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Ditch mailto Links: Pre-Fill &amp; even Attach Files with Symfony Mailer (.eml Magic!)</title>
      <link>https://symfonycasts.com/blog/advanced-mailto-with-symfony-mailer</link>
      <description>The `mailto:` link is a simple way to open an email client with a pre-filled
email. But what if you want this email to have a pre-filled attachment?
Let's dive into how to do this with Symfony Mailer.
</description>
      <guid isPermaLink="false">/blog/advanced-mailto-with-symfony-mailer</guid>
      <pubDate>Wed, 19 Mar 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Mailtrap Tutorial (Free) = Mailer + Webhook + Contributing back to Symfony</title>
      <link>https://symfonycasts.com/blog/mailtrap</link>
      <description>The free Mailtrap tutorial is here! It's all about the Mailer &amp; Webhook
components with the joy of previewing emails in a sandbox. As a bonus,
this tutorial triggered several contributions back to Symfony!
</description>
      <guid isPermaLink="false">/blog/mailtrap</guid>
      <pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>SymfonyCasts November Open Source Roundup!</title>
      <link>https://symfonycasts.com/blog/2024-november-oss-roundup</link>
      <description>This month we've got 6 SymfonyCasts open source releases, let's take a quick
look at what's new and give a huge thanks to all the contributors who helped make
these releases happen!
</description>
      <guid isPermaLink="false">/blog/2024-november-oss-roundup</guid>
      <pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Using a Symfony Reproducer</title>
      <link>https://symfonycasts.com/blog/use-symfony-reproducer</link>
      <description>Now that you've created a Symfony reproducer, let's use it to fix a
bug in Symfony or verify a fix proposed by someone else. We'll fork
the Symfony repository, link our reproducer to it, and make the
necessary changes.
</description>
      <guid isPermaLink="false">/blog/use-symfony-reproducer</guid>
      <pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Creating a Symfony Reproducer</title>
      <link>https://symfonycasts.com/blog/symfony-reproducer</link>
      <description>Oh snap! You've discovered what you suspect is a bug in Symfony.
Don't despair, Symfony is open source so there are many ways you can
help get it resolved. Let's look at how to create a reproducer to
help other contributors understand the issue and find a solution.
</description>
      <guid isPermaLink="false">/blog/symfony-reproducer</guid>
      <pubDate>Tue, 16 Jul 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Kevin Bond (aka Zenstruck) joins SymfonyCasts</title>
      <link>https://symfonycasts.com/blog/zenstruck-joins-symfonycasts</link>
      <description>Kevin Bond (aka Zenstruck) is joining forces with us as a head 
tutorial writer. This means tutorials created by Kevin in the SymfonyCasts 
style you know and love. It also means the ability for us to make more 
content about more libraries and solutions around the Symfony ecosystem.
</description>
      <guid isPermaLink="false">/blog/zenstruck-joins-symfonycasts</guid>
      <pubDate>Tue, 21 May 2024 00:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>
