<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><category term="PHP" label="r/PHP"/><updated>2026-06-01T23:12:51+00:00</updated><icon>https://www.redditstatic.com/icon.png/</icon><id>/r/PHP/.rss</id><link rel="self" href="https://www.reddit.com/r/PHP/.rss" type="application/atom+xml" /><link rel="alternate" href="https://www.reddit.com/r/PHP/" type="text/html" /><subtitle>Share and discover the latest news about the PHP ecosystem and its community. Please respect r/php's rules.</subtitle><title>PHP: The latest news in the PHP world</title><entry><author><name>/u/brendt_gd</name><uri>https://www.reddit.com/user/brendt_gd</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;Hey there!&lt;/p&gt; &lt;p&gt;This subreddit isn&amp;#39;t meant for help threads, though there&amp;#39;s one exception to the rule: in this thread you can ask anything you want PHP related, someone will probably be able to help you out!&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/brendt_gd&quot;&gt; /u/brendt_gd &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttj8mi/weekly_help_thread/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttj8mi/weekly_help_thread/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ttj8mi</id><link href="https://www.reddit.com/r/PHP/comments/1ttj8mi/weekly_help_thread/" /><updated>2026-06-01T06:00:07+00:00</updated><published>2026-06-01T06:00:07+00:00</published><title>Weekly help thread</title></entry><entry><author><name>/u/brendt_gd</name><uri>https://www.reddit.com/user/brendt_gd</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;This is a bi-monthly thread aimed to connect PHP companies and developers who are hiring or looking for a job. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Rules&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;No recruiters&lt;/li&gt; &lt;li&gt;Don&amp;#39;t share any personal info like email addresses or phone numbers in this thread. Contact each other via DM to get in touch&lt;/li&gt; &lt;li&gt;If you&amp;#39;re hiring: don&amp;#39;t just link to an external website, take the time to describe what you&amp;#39;re looking for in the thread.&lt;/li&gt; &lt;li&gt;If you&amp;#39;re looking: feel free to share your portfolio, GitHub, … as well. Keep into account the personal information rule, so don&amp;#39;t just share your CV and be done with it.&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/brendt_gd&quot;&gt; /u/brendt_gd &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1thg2cy/whos_hiringlooking/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1thg2cy/whos_hiringlooking/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1thg2cy</id><link href="https://www.reddit.com/r/PHP/comments/1thg2cy/whos_hiringlooking/" /><updated>2026-05-19T08:00:13+00:00</updated><published>2026-05-19T08:00:13+00:00</published><title>Who's hiring/looking</title></entry><entry><author><name>/u/naderman</name><uri>https://www.reddit.com/user/naderman</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/naderman&quot;&gt; /u/naderman &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://blog.packagist.com/closing-composers-download-fallback-paths-in-private-packagist/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttlb6t/closing_composers_download_fallback_paths/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ttlb6t</id><link href="https://www.reddit.com/r/PHP/comments/1ttlb6t/closing_composers_download_fallback_paths/" /><updated>2026-06-01T07:55:22+00:00</updated><published>2026-06-01T07:55:22+00:00</published><title>Closing Composer's Download Fallback Paths</title></entry><entry><author><name>/u/BuildWithTall</name><uri>https://www.reddit.com/user/BuildWithTall</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/BuildWithTall&quot;&gt; /u/BuildWithTall &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;/r/u_BuildWithTall/comments/1tttmbg/tallcms_now_supports_laravel_13_opensource/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tttn7e/tallcms_now_supports_laravel_13_opensource/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tttn7e</id><link href="https://www.reddit.com/r/PHP/comments/1tttn7e/tallcms_now_supports_laravel_13_opensource/" /><updated>2026-06-01T14:18:24+00:00</updated><published>2026-06-01T14:18:24+00:00</published><title>TallCMS now supports Laravel 13 — open-source TALL-stack CMS on Filament</title></entry><entry><author><name>/u/Reasonable-Pass9841</name><uri>https://www.reddit.com/user/Reasonable-Pass9841</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;My PHP core PR has been approved:&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/php/php-src/pull/22090&quot;&gt;https://github.com/php/php-src/pull/22090&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Glad to help improve PHP.&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Reasonable-Pass9841&quot;&gt; /u/Reasonable-Pass9841 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tt0inb/another_contribution_to_php_core_got_approved/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tt0inb/another_contribution_to_php_core_got_approved/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tt0inb</id><link href="https://www.reddit.com/r/PHP/comments/1tt0inb/another_contribution_to_php_core_got_approved/" /><updated>2026-05-31T16:47:57+00:00</updated><published>2026-05-31T16:47:57+00:00</published><title>Another contribution to PHP core got approved 🎉</title></entry><entry><author><name>/u/03263</name><uri>https://www.reddit.com/user/03263</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/03263&quot;&gt; /u/03263 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://3v4l.org/lfWrQ#v8.5.3&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttcq2i/did_you_know_you_can_unpack_an_array_of_named/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ttcq2i</id><link href="https://www.reddit.com/r/PHP/comments/1ttcq2i/did_you_know_you_can_unpack_an_array_of_named/" /><updated>2026-06-01T00:48:05+00:00</updated><published>2026-06-01T00:48:05+00:00</published><title>Did you know you can unpack an array of named arguments?</title></entry><entry><author><name>/u/roatrisref</name><uri>https://www.reddit.com/user/roatrisref</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;[ Removed by Reddit on account of violating the &lt;a href=&quot;/help/contentpolicy&quot;&gt;content policy&lt;/a&gt;. ]&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/roatrisref&quot;&gt; /u/roatrisref &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttwjc9/removed_by_reddit/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttwjc9/removed_by_reddit/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ttwjc9</id><link href="https://www.reddit.com/r/PHP/comments/1ttwjc9/removed_by_reddit/" /><updated>2026-06-01T15:56:33+00:00</updated><published>2026-06-01T15:56:33+00:00</published><title>[ Removed by Reddit ]</title></entry><entry><author><name>/u/Cristian_tallica</name><uri>https://www.reddit.com/user/Cristian_tallica</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;Hi folks! I&amp;#39;ve updated sqlc-php with a lot of features requested. Take a look at &lt;a href=&quot;https://phpibe.github.io/sqlc-php/&quot;&gt;https://phpibe.github.io/sqlc-php/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thanks!&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Cristian_tallica&quot;&gt; /u/Cristian_tallica &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttboyg/ive_updated_sqlcphp_with_more_features/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ttboyg/ive_updated_sqlcphp_with_more_features/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ttboyg</id><link href="https://www.reddit.com/r/PHP/comments/1ttboyg/ive_updated_sqlcphp_with_more_features/" /><updated>2026-06-01T00:01:39+00:00</updated><published>2026-06-01T00:01:39+00:00</published><title>I've updated sqlc-php with more features.</title></entry><entry><author><name>/u/rioco64</name><uri>https://www.reddit.com/user/rioco64</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://phpsadness.com&quot;&gt;phpsadness.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This weird site highlighted many issues with PHP.&lt;br/&gt; But, hasn&amp;#39;t been updated since 2018.&lt;/p&gt; &lt;p&gt;Let&amp;#39;s take a look at the changes in PHP.&lt;br/&gt; I&amp;#39;ve kept the same order as on the website.&lt;/p&gt; &lt;p&gt;&amp;#39;*&amp;#39; is fix or changed php version&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Useless Error Reporting&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;#16 Exception thrown without a stack frame&lt;/p&gt; &lt;p&gt;* php 8.5&lt;/p&gt; &lt;p&gt;#1 Unexpected T_PAAMAYIM_NEKUDOTAYIM&lt;/p&gt; &lt;p&gt;* php 8.0&lt;/p&gt; &lt;p&gt;#7 Parse error: syntax error, unexpected T_SL in...&lt;/p&gt; &lt;p&gt;* php 8.0&lt;/p&gt; &lt;p&gt;#54 Empty T_ENCAPSED_AND_WHITESPACE tokens&lt;/p&gt; &lt;p&gt;* php 8.0&lt;/p&gt; &lt;p&gt;&lt;strong&gt;INCONSISTENCY&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;#52 Comparison operators&lt;/p&gt; &lt;p&gt;* He created an example that violates PHP&amp;#39;s type casting.&lt;/p&gt; &lt;p&gt;Outright Bugs&lt;/p&gt; &lt;p&gt;#50 Segfault during deep recursion&lt;/p&gt; &lt;p&gt;* php 8.3 bug fixed&lt;/p&gt; &lt;p&gt;#30 Ternary operator associativity&lt;/p&gt; &lt;p&gt;* php 8.0&lt;/p&gt; &lt;p&gt;#39 Declaring a function called __lambda_func() completely breaks create_function()&lt;/p&gt; &lt;p&gt;* php 8.0 removed the funciton&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Misleading/Confusing topics&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;#27 Bad function names - parse_str()&lt;/p&gt; &lt;p&gt;* php 8.5 new URL parser class&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Arbitrary Restrictions&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;#14 - Can&amp;#39;t throw exceptions from __toString() functions&lt;/p&gt; &lt;p&gt;* php 8.0&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Object-Oriented System Issues&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;#8 Implementing all the right methods (array) still doesn&amp;#39;t work in array functions&lt;/p&gt; &lt;p&gt;* php 8.0 (deprecated because TypeError)&lt;/p&gt; &lt;p&gt;Wow, PHP has improved a lot over the years.&lt;br/&gt; I&amp;#39;d like to thank everyone who works on PHP !&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/rioco64&quot;&gt; /u/rioco64 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1trrrym/phpsadness_is_outdated_whats_changed_since_then/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1trrrym/phpsadness_is_outdated_whats_changed_since_then/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1trrrym</id><link href="https://www.reddit.com/r/PHP/comments/1trrrym/phpsadness_is_outdated_whats_changed_since_then/" /><updated>2026-05-30T06:15:32+00:00</updated><published>2026-05-30T06:15:32+00:00</published><title>phpsadness is outdated. what's changed since then?</title></entry><entry><author><name>/u/Terabytesoftw</name><uri>https://www.reddit.com/user/Terabytesoftw</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Terabytesoftw&quot;&gt; /u/Terabytesoftw &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://github.com/yiisoft/yii2-apidoc&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ts02yz/yii_apidoc_400/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ts02yz</id><link href="https://www.reddit.com/r/PHP/comments/1ts02yz/yii_apidoc_400/" /><updated>2026-05-30T13:31:57+00:00</updated><published>2026-05-30T13:31:57+00:00</published><title>🎁 Yii ApiDoc 4.0.0.</title></entry><entry><author><name>/u/wouter_j</name><uri>https://www.reddit.com/user/wouter_j</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/wouter_j&quot;&gt; /u/wouter_j &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://symfony.com/blog/symfony-8-1-curated-new-features&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tra1ci/symfony_81_released/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tra1ci</id><link href="https://www.reddit.com/r/PHP/comments/1tra1ci/symfony_81_released/" /><updated>2026-05-29T17:58:00+00:00</updated><published>2026-05-29T17:58:00+00:00</published><title>Symfony 8.1 released!</title></entry><entry><author><name>/u/brendt_gd</name><uri>https://www.reddit.com/user/brendt_gd</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/brendt_gd&quot;&gt; /u/brendt_gd &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4wpW98S2xJQ&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tqzj0a/reading_through_the_new_generics_rfc_and_sharing/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tqzj0a</id><link href="https://www.reddit.com/r/PHP/comments/1tqzj0a/reading_through_the_new_generics_rfc_and_sharing/" /><updated>2026-05-29T11:55:08+00:00</updated><published>2026-05-29T11:55:08+00:00</published><title>Reading through the new generics RFC and sharing my thoughts on why this is the way.</title></entry><entry><author><name>/u/pavelperminov</name><uri>https://www.reddit.com/user/pavelperminov</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;Hi everyone, i&amp;#39;m a solo dev, and i&amp;#39;ve submitted my self-hosted AI DB app builder for upcoming TechCrunch Disrupt Startup Battlefield - see how two full-stack DB apps are created in this 2-minutes demo video &lt;a href=&quot;https://www.youtube.com/watch?v=soW5QGg7eBc&quot;&gt;https://www.youtube.com/watch?v=soW5QGg7eBc&lt;/a&gt;&lt;/p&gt; &lt;p&gt;What&amp;#39;s in the box:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Self-hosted - runs on your local or VPS host via Docker Compose&lt;/li&gt; &lt;li&gt;AI prompt-to-app from your words/docs/specs/mockups. With sample data.&lt;/li&gt; &lt;li&gt;Realtime desktop-style UI: WAL/Binlog - Debezium - RabbitMQ - WebSocket - UI windows&lt;/li&gt; &lt;li&gt;AI-agnostic: Claude / Gemini / others. Bring Your Own Key.&lt;/li&gt; &lt;li&gt;DB-agnostic: Postgres / MySQL / MariaDB / Percona&lt;/li&gt; &lt;li&gt;Free ~2 terabyte backups, stored on GitHub with rotation and environment isolation&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;This child of mine is currently in pre-release, but i have waitlist opened at &lt;a href=&quot;http://indi-engine.ai&quot;&gt;indi-engine.ai&lt;/a&gt;&lt;/p&gt; &lt;p&gt;CRUD Different | Database apps the way they&amp;#39;re meant to be&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/pavelperminov&quot;&gt; /u/pavelperminov &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ts0vj8/roast_my_php_tool_ive_spent_6k_bloody_hours_on/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1ts0vj8/roast_my_php_tool_ive_spent_6k_bloody_hours_on/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1ts0vj8</id><link href="https://www.reddit.com/r/PHP/comments/1ts0vj8/roast_my_php_tool_ive_spent_6k_bloody_hours_on/" /><updated>2026-05-30T14:04:48+00:00</updated><published>2026-05-30T14:04:48+00:00</published><title>Roast my PHP tool i've spent 6k+ bloody hours on since 2022, and submitted for upcoming TechCrunch Disrupt Startup Battlefield</title></entry><entry><author><name>/u/Vyacheslav2102</name><uri>https://www.reddit.com/user/Vyacheslav2102</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;[ Removed by Reddit on account of violating the &lt;a href=&quot;/help/contentpolicy&quot;&gt;content policy&lt;/a&gt;. ]&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Vyacheslav2102&quot;&gt; /u/Vyacheslav2102 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1trk383/removed_by_reddit/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1trk383/removed_by_reddit/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1trk383</id><link href="https://www.reddit.com/r/PHP/comments/1trk383/removed_by_reddit/" /><updated>2026-05-30T00:04:39+00:00</updated><published>2026-05-30T00:04:39+00:00</published><title>[ Removed by Reddit ]</title></entry><entry><author><name>/u/Far-Spare4238</name><uri>https://www.reddit.com/user/Far-Spare4238</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Far-Spare4238&quot;&gt; /u/Far-Spare4238 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;/r/laravel/comments/1tre7gi/built_a_small_php_package_for_parsing_documents/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tre7ow/built_a_small_php_package_for_parsing_documents/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tre7ow</id><link href="https://www.reddit.com/r/PHP/comments/1tre7ow/built_a_small_php_package_for_parsing_documents/" /><updated>2026-05-29T20:13:17+00:00</updated><published>2026-05-29T20:13:17+00:00</published><title>Built a small PHP package for parsing documents locally, would love feedback</title></entry><entry><author><name>/u/Informal-Coyote9142</name><uri>https://www.reddit.com/user/Informal-Coyote9142</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;pre&gt;&lt;code&gt;I just shipped my second Laravel package: Notify Matrix. It manages per-user notification preferences with per-channel opt-in/opt-out and per-group default policies. The pattern came from rebuilding the same notification settings logic in every SaaS I&amp;#39;ve worked on. The question is always &amp;quot;should this user receive this notification on this channel?&amp;quot; and the answer is always a hand-rolled mess of config arrays and `if/else` in `via()`. Usage: // User model use Scabarcas\LaravelNotifyMatrix\Concerns\HasNotificationPreferences; class User extends Authenticatable { use HasNotificationPreferences; } // Notification class use Scabarcas\LaravelNotifyMatrix\Attributes\NotificationGroup; #[NotificationGroup(&amp;#39;orders&amp;#39;)] class OrderShipped extends Notification { /* ... */ } // Anywhere $user-&amp;gt;wants(&amp;#39;orders&amp;#39;, &amp;#39;mail&amp;#39;); // true | false $user-&amp;gt;disable(&amp;#39;orders&amp;#39;, &amp;#39;mail&amp;#39;); $user-&amp;gt;enable(&amp;#39;orders&amp;#39;, &amp;#39;database&amp;#39;); A listener on `NotificationSending` filters channels automatically — no changes to your existing `via()` methods. Forced channels (security alerts) bypass user preferences. Third-party notifications without an attribute can be mapped via config. Architecture is intentionally boring: `PreferenceManager` orchestrates resolution, `PreferenceRepository` and `GroupResolver` are contracts you can swap. Pest 27/27, PHPStan max clean, Laravel 11/12/13, PHP 8.3/8.4. - Repo: https://github.com/scabarcas17/laravel-notify-matrix - Packagist: https://packagist.org/packages/scabarcas/laravel-notify-matrix Would love feedback on the API — especially if you&amp;#39;ve shipped notification settings before. What did you miss? &lt;/code&gt;&lt;/pre&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/Informal-Coyote9142&quot;&gt; /u/Informal-Coyote9142 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tr6wel/laravel_notify_matrix_peruser_notification/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tr6wel/laravel_notify_matrix_peruser_notification/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tr6wel</id><link href="https://www.reddit.com/r/PHP/comments/1tr6wel/laravel_notify_matrix_peruser_notification/" /><updated>2026-05-29T16:16:43+00:00</updated><published>2026-05-29T16:16:43+00:00</published><title>Laravel Notify Matrix — per-user notification preferences package</title></entry><entry><author><name>/u/True_Musician_3911</name><uri>https://www.reddit.com/user/True_Musician_3911</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;ol&gt; &lt;li&gt;Version tags on &lt;a href=&quot;http://Packagist.org&quot;&gt;Packagist.org&lt;/a&gt; are now immutable — the exact trick the attacker used to rewrite tags to their malicious fork is now rejected at the registry level.&lt;/li&gt; &lt;li&gt;Also: composer install now blocks malware even if it already slipped into your lockfile, &lt;/li&gt; &lt;li&gt;and composer audit now fails on flagged malware versions.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;run: composer self-update to update&lt;/p&gt; &lt;p&gt;full breakdown: &lt;a href=&quot;https://medium.com/@abderahmane.merradou/update-composer-now-version-2-10-blocks-the-exact-attack-that-hit-laravel-on-may-22-a46e54bdbefd&quot;&gt;https://medium.com/@abderahmane.merradou/update-composer-now-version-2-10-blocks-the-exact-attack-that-hit-laravel-on-may-22-a46e54bdbefd&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/True_Musician_3911&quot;&gt; /u/True_Musician_3911 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tq87zh/composer_210_just_dropped_it_directly_addresses/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tq87zh/composer_210_just_dropped_it_directly_addresses/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tq87zh</id><link href="https://www.reddit.com/r/PHP/comments/1tq87zh/composer_210_just_dropped_it_directly_addresses/" /><updated>2026-05-28T16:14:36+00:00</updated><published>2026-05-28T16:14:36+00:00</published><title>Composer 2.10 just dropped — it directly addresses the May 22 attack.</title></entry><entry><author><name>/u/naderman</name><uri>https://www.reddit.com/user/naderman</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/naderman&quot;&gt; /u/naderman &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://blog.packagist.com/composer-2-10-release/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tq0odb/composer_210_release/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tq0odb</id><link href="https://www.reddit.com/r/PHP/comments/1tq0odb/composer_210_release/" /><updated>2026-05-28T11:22:22+00:00</updated><published>2026-05-28T11:22:22+00:00</published><title>Composer 2.10 Release</title></entry><entry><author><name>/u/BackgroundCompany721</name><uri>https://www.reddit.com/user/BackgroundCompany721</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;Last week, I posted here about a minimal TUI/GUI tool I built (&lt;code&gt;phpvm&lt;/code&gt;) to make switching PHP versions on Linux easier. The feedback was great, but one comment by &lt;a href=&quot;/u/rycegh&quot;&gt;u/rycegh&lt;/a&gt; completely changed the direction of the project.&lt;/p&gt; &lt;p&gt;A fundamental flaw: relying on &lt;code&gt;update-alternatives&lt;/code&gt; to change the global PHP binary is a bad pattern. It means you cannot work on two different projects on different versions in parallel, and switching global PHP knocks over unrelated background CLI tools (like global time trackers).&lt;/p&gt; &lt;p&gt;Suggested pivoting was to manage isolated local environments instead.&lt;/p&gt; &lt;p&gt;That feedback inspired me to rewrite the architecture from scratch for the 2.5 line. The v2.5.1 is live with fully isolated, per-shell version switching.&lt;/p&gt; &lt;h3&gt;How the New Architecture Works&lt;/h3&gt; &lt;p&gt;Instead of touching &lt;code&gt;/usr/bin/php&lt;/code&gt; globally, phpvm now functions like &lt;code&gt;nvm&lt;/code&gt; or &lt;code&gt;rbenv&lt;/code&gt;:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Shell Hook&lt;/strong&gt;: The installer adds a shell hook (for bash, zsh, or fish) that prepends a shim directory to your &lt;code&gt;PATH&lt;/code&gt;.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Path Shim&lt;/strong&gt;: A small executable shim at &lt;code&gt;&amp;lt;hook-dir&amp;gt;/shims/php&lt;/code&gt; intercepts calls to &lt;code&gt;php&lt;/code&gt;.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Environment Resolution&lt;/strong&gt;: &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Shell Pin&lt;/strong&gt;: Pinned manually via &lt;code&gt;phpvm shell &amp;lt;version&amp;gt;&lt;/code&gt; (sticky for that terminal tab only, no sudo).&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Project Default&lt;/strong&gt;: Read automatically from &lt;code&gt;.php-version&lt;/code&gt; or &lt;code&gt;composer.json&lt;/code&gt; requirements when you &lt;code&gt;cd&lt;/code&gt; into a directory.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Global Default&lt;/strong&gt;: Falls back to the global &lt;code&gt;update-alternatives&lt;/code&gt; symlink if no local pin exists.&lt;/li&gt; &lt;/ul&gt;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;This means you can have PHP 8.2 running in one tab and PHP 8.4 running in another, with zero password prompts and zero impact on other shells or system processes.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Install:&lt;/strong&gt; &lt;code&gt;bash curl -fsSL https://raw.githubusercontent.com/rijverse/phpvm/main/install.sh | sudo bash &lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href=&quot;https://rijverse.github.io/phpvm&quot;&gt;https://rijverse.github.io/phpvm&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href=&quot;https://github.com/rijverse/phpvm&quot;&gt;https://github.com/rijverse/phpvm&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/BackgroundCompany721&quot;&gt; /u/BackgroundCompany721 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tqb80n/i_redesigned_my_php_version_manager_after_reddit/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tqb80n/i_redesigned_my_php_version_manager_after_reddit/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tqb80n</id><link href="https://www.reddit.com/r/PHP/comments/1tqb80n/i_redesigned_my_php_version_manager_after_reddit/" /><updated>2026-05-28T18:00:22+00:00</updated><published>2026-05-28T18:00:22+00:00</published><title>I redesigned my PHP version manager after Reddit feedback: Per-shell switching is now live in phpvm v2.5.1 (No sudo, no global breaks)</title></entry><entry><author><name>/u/OndrejMirtes</name><uri>https://www.reddit.com/user/OndrejMirtes</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/OndrejMirtes&quot;&gt; /u/OndrejMirtes &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://phpstan.org/blog/phpstan-2-2-unsealed-array-shapes-safer-array-keys&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tpxpvc/phpstan_22_unsealed_array_shapes_safer_array_keys/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tpxpvc</id><link href="https://www.reddit.com/r/PHP/comments/1tpxpvc/phpstan_22_unsealed_array_shapes_safer_array_keys/" /><updated>2026-05-28T08:44:17+00:00</updated><published>2026-05-28T08:44:17+00:00</published><title>PHPStan 2.2: Unsealed Array Shapes, Safer Array Keys, and More!</title></entry><entry><author><name>/u/AbstractStaticVoid</name><uri>https://www.reddit.com/user/AbstractStaticVoid</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;I’m launching a book on June 15th,&lt;a href=&quot;https://leanpub.com/legacy-to-symfony&quot;&gt; Legacy to Symfony: The Enterprise Blueprint for Zero-Downtime PHP Migrations&lt;/a&gt;, which documents an end-to-end blueprint for zero-downtime, vertical-slice migrations.&lt;/p&gt; &lt;p&gt;Throughout the process, I found that standard migration tools weren&amp;#39;t enough to bridge the gap between a 10-year-old mutated schema and Doctrine ORM. So, I built &lt;a href=&quot;https://github.com/Kerrialn/indoctrinate&quot;&gt;indoctrinate&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Think of it as Rector for your database schema. It’s an open-source, rule-based audit and remediation tool designed to align your legacy database with Doctrine or simply fix database issues.&lt;/p&gt; &lt;p&gt;For example you can run the DoctrineCompatibilitySet with the dry flag to check exactly what issues are preventing Doctrine ORM integration. &lt;/p&gt; &lt;p&gt;If anyone ends up testing it against their own legacy database, I’d love to know if it misses any of your weird edge cases. Happy coding! &lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/AbstractStaticVoid&quot;&gt; /u/AbstractStaticVoid &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://github.com/Kerrialn/indoctrinate&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tpx12g/rector_but_for_the_database_indoctrinate/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tpx12g</id><link href="https://www.reddit.com/r/PHP/comments/1tpx12g/rector_but_for_the_database_indoctrinate/" /><updated>2026-05-28T08:04:33+00:00</updated><published>2026-05-28T08:04:33+00:00</published><title>Rector but for the database: Indoctrinate</title></entry><entry><author><name>/u/d_abernathy89</name><uri>https://www.reddit.com/user/d_abernathy89</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;Note that the schedule this year is slightly different - just 2 days (Tutorial day + main conference days). Because of this tickets are also cheaper than previous years. Grab your ticket or submit a talk idea!&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/d_abernathy89&quot;&gt; /u/d_abernathy89 &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://cfp.longhornphp.com/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tq67ql/call_for_papers_longhorn_php_2026/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tq67ql</id><link href="https://www.reddit.com/r/PHP/comments/1tq67ql/call_for_papers_longhorn_php_2026/" /><updated>2026-05-28T15:02:34+00:00</updated><published>2026-05-28T15:02:34+00:00</published><title>Call for Papers - Longhorn PHP 2026</title></entry><entry><author><name>/u/naderman</name><uri>https://www.reddit.com/user/naderman</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/naderman&quot;&gt; /u/naderman &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://blog.packagist.com/an-update-on-composer-packagist-supply-chain-security/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tp8sq7/an_update_on_composer_packagist_supply_chain/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tp8sq7</id><link href="https://www.reddit.com/r/PHP/comments/1tp8sq7/an_update_on_composer_packagist_supply_chain/" /><updated>2026-05-27T15:22:34+00:00</updated><published>2026-05-27T15:22:34+00:00</published><title>An Update on Composer &amp; Packagist Supply Chain Security</title></entry><entry><author><name>/u/elizabethn</name><uri>https://www.reddit.com/user/elizabethn</uri></author><category term="PHP" label="r/PHP"/><content type="html">&amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/elizabethn&quot;&gt; /u/elizabethn &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://thephp.foundation/blog/2026/05/27/impact-and-transparency-report-2025/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tpg6ay/the_php_foundation_impact_and_transparency_report/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tpg6ay</id><link href="https://www.reddit.com/r/PHP/comments/1tpg6ay/the_php_foundation_impact_and_transparency_report/" /><updated>2026-05-27T19:36:59+00:00</updated><published>2026-05-27T19:36:59+00:00</published><title>The PHP Foundation Impact and Transparency Report 2025</title></entry><entry><author><name>/u/7ncyy</name><uri>https://www.reddit.com/user/7ncyy</uri></author><category term="PHP" label="r/PHP"/><content type="html">&lt;!-- SC_OFF --&gt;&lt;div class=&quot;md&quot;&gt;&lt;p&gt;I&amp;#39;m tired of switching to the browser or opening Ray to see my dumps. I&amp;#39;m building a VS Code extension that renders Laravel payloads inline. Would anyone pay $30/yr for this?&lt;/p&gt; &lt;/div&gt;&lt;!-- SC_ON --&gt; &amp;#32; submitted by &amp;#32; &lt;a href=&quot;https://www.reddit.com/user/7ncyy&quot;&gt; /u/7ncyy &lt;/a&gt; &lt;br/&gt; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tqltfs/vs_code_cursor_extension/&quot;&gt;[link]&lt;/a&gt;&lt;/span&gt; &amp;#32; &lt;span&gt;&lt;a href=&quot;https://www.reddit.com/r/PHP/comments/1tqltfs/vs_code_cursor_extension/&quot;&gt;[comments]&lt;/a&gt;&lt;/span&gt;</content><id>t3_1tqltfs</id><link href="https://www.reddit.com/r/PHP/comments/1tqltfs/vs_code_cursor_extension/" /><updated>2026-05-29T00:39:00+00:00</updated><published>2026-05-29T00:39:00+00:00</published><title>VS Code / Cursor Extension</title></entry></feed>