If you used preg_match there is a chance that you used $match as a name since its a keyword in php 8 you probably have to change that If you compared a string with a number you should make sure that its compatible with the new thing Its rare but if you declared constructors like java (same name with class name) you should use __construct instead Fortunately you cant call non statics statically anymore you shouldnt be using that "feature" in the first place Autoloader is only a thing using spl_... and not __autoload() Objects are getting more object-y. No more array functions accepting objects @ is not a silencer anymore. Pay unlink some respect # isnt comment. Learn more about them by searching about java annotations until people write tutorials about its php 8 equivalent Destructors will be called after uncaught exceptions No more arithmetic on objects, arrays and resources only array + array merge is supported Casting float to string is now locale independant. 3.14f now casts to "3.14" no matter what you set as locale Array access only using $arr[index]. $arr{index} is removed LOOK AT YOUR CURL, OPENSSL and SOCKET CODE RESOURCES BECAME OBJECTS These were the common problems you may encounter https://www.php.net/manual/en/migration80.incompatible.php This is the entire list at php manual
Oh wow, you outlined a lot more than I had already read about. Guess I've got more reading to do
Обсуждают сегодня