by duskwuff on 2/15/2025, 6:31:06 AM
by someothherguyy on 2/15/2025, 6:08:17 AM
One wonders, why is a minor release announcement for PHP on the front page?
by satvikpendem on 2/15/2025, 7:02:14 AM
How is PHP's speed these days? I haven't been following but I heard that PHP has become much more capable in features and performance since I used it a decade ago.
by tored on 2/15/2025, 9:25:59 AM
A great bug fix release on a great major release. Thank you to everyone involved to make this possible.
by lbj on 2/15/2025, 7:43:10 AM
Does anyone know specifically how much of this is no longer true? https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
by phplovesong on 2/15/2025, 8:11:16 AM
Still no builtun unicode. Still no way to do concurrency. Sees like PHP is only getting closer to become a poormans Java.
by TekMol on 2/15/2025, 7:43:05 AM
PHP needs modules. The way it solves code reuse by tooling that helps making class names longer to avoid collisions is just too cumbersome.
Python:
calc.py
-------
def sum(a, b):
return a+b
hello.py
--------
import calc
print(calc.sum(1, 2))
PHP: LongUniqueStringToHopefullyAvoidCollisions/Calc.php
---------------------------------------------------
<?php
namespace LongUniqueStringToHopefullyAvoidCollisions;
class Calc {
public static function sum($a, $b) {
return $a + $b;
}
}
hello.php
---------
<?php
require_once 'LongUniqueStringToHopefullyAvoidCollisions/Calc.php';
use LongUniqueStringToHopefullyAvoidCollisions\Calc;
echo Calc::sum(1, 2)
For people who don't know PHP it is probably hard to grasp and hard to believe: To avoid name collisions, you have to wrap your code in classes and then use the "namespace" and "use" keywords which function like prefixing the class names with a given string, so the class names hopefully do not collide with other class names in your codebase.
Slightly more interesting changelog:
https://www.php.net/ChangeLog-8.php#8.4.4
That being said, this is a pretty boring release. Save the upvotes for 8.5 when it comes? :)