jakubmisek
jakubmisek on Hacker News
The end of 2025 and the beginning of 2026 brought another substantial update to the PHP extension for Visual Studio Code by DEVSENSE. This release focuses on deeper code understanding, smarter refactorings, better framework support, full alignment with the latest PHP language changes, and stability. Alongside major IntelliSense improvements and advanced generics support, we’ve also delivered significant performance optimizations to make your daily development smoother than ever.
Posted by
jakubmisek on Tuesday February 24, 2026 @11:03AM
from the blog.devsense.com dept.
We already had a huge C# console project originaly developed for windows/.net framework 4.5 ..
.net on Linux was a zero cost transition, giving us a whole new platform, a whole new user base. It was that easy.
Posted by
jakubmisek on Friday February 03, 2023 @10:17AM
from the play.google.com dept.
Solve the logic snake game! Find a way, eat the coins, and reach the exit... Can you make it in as few moves as possible?
Posted by
jakubmisek on Monday December 05, 2022 @05:55PM
from the apps.apple.com dept.
need to come with more exciting title next time!
Posted by
jakubmisek on Friday October 07, 2022 @07:42PM
from the apps.apple.com dept.
And one of the features caused memory leaking in PHP for a decade. .NET has real garbage collection, we can take advantage of it.
For example one CLR limitation - `yield` cannot be in a catch block. Two workarounds - compiler can generate a crazy state machine or user can just move the PHP yield outside the catch.
Error handling is a big issue - in PHP every notice and warning can be handled in user code, in .NET we use Debug Assertions or exceptions. But .NET has threads and async which shares one thread by more requests, so in case of error we just don't know what request has to handle the error. We would have to pass some request context object to every function in runtime in order to be able to let the correct request's error_handler to handle the error - or we just assume warnings and errors should not happen and crash when it does.
Garbage Collection - for performance reasons (and sanity) we let .NET GC to do its job. But unlike PHP's GC it is undeterministic and does its job on a different thread. For now, __destruct is not handled in Peachpie yet cause there are more ways on how to simulate PHPs behavior.
Changing existing closure's $this to anything - well.. besides it would make type analysis useless, it totaly violates strong .NET method access checks.
You're right, 7.0 for example deprecates/removes some dirty practices that are hard to implement in .NET
Good point. In case of Peachpie microbenchmarks - that time it was the only pieces code that could be compiled ... We'll try to update benchmarks for more complex solutions.
Disclaimer - Peachpie dev.
Some of the weird PHP constructs will never work - by purpose. In such case it will be reported in compile-time or at least in run-time. However, there is always a way of slightly changing the original code to make it running on .NET.
Interesting question. Beside that ASP.NET limits request size, Peachpie uses .NET hash function that differs from that used in PHP. Am I close ?
Just noticed a similar comment below - the openssl library which PHP is strugling with with every update. Peachpie uses the one in OS through the .NET being updated e.g. by Windows Update. So maybe "most secure" is too strong, but it is definitely more secure.
j-php - but they don't try to be able to run existing apps
True, I've been noted, for example, about issues with openssl library, which is updated with every update of PHP ... while Peachpie uses the one provided within .NET which might be more frequently updated by Windows Update.
Imagine deriving a C# class in PHP and then deriving it back in C# and then using it in PHP!