PHP 7.2 telah menamatkan fungsi create_function(), menyebabkan pembangun mencari alternatif yang serasi. Artikel ini menangani isu ini dengan menyediakan penyelesaian yang memenuhi permintaan PHP 7.2 sambil mengekalkan kefungsian.
Pertimbangkan coretan kod berikut, yang menggunakan fungsi create_function():
$callbacks[$delimiter] = create_function( '$matches', "return '$delimiter' . strtolower($matches[1]);" );
Walau bagaimanapun, dengan penamatan create_function() dalam PHP 7.2, pendekatan ini memerlukan kemas kini.
Penyelesaian terletak pada fungsi tanpa nama, juga dikenali sebagai penutupan. Penutupan membenarkan penggunaan pembolehubah berskop induk dalam badan fungsi, menyediakan cara untuk mengakses pembolehubah $delimiter:
$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };
Penutupan ini secara berkesan menggantikan panggilan create_function() sambil mengekalkan kefungsian yang diingini. Ia membolehkan anda terus bekerja dengan lancar dengan PHP 7.2 dan seterusnya.
Atas ialah kandungan terperinci Apakah Alternatif Terbaik untuk `create_function()` PHP yang Dihentikan Penggunaannya dalam PHP 7.2 dan Selain itu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!