Rumah > Soal Jawab > teks badan
Saya menggunakan create_function()
dalam apl di bawah.
$callbacks[$delimiter] = create_function('$matches', "return '$delimiter' . strtolower($matches[1]);");
Tetapi setakat PHP 7.2.0, create_function()
ditamatkan.
Bagaimana untuk menulis semula kod di atas untuk PHP 7.2.0?
P粉3549487242024-01-17 10:01:58
Saya ingin menyumbang kes yang sangat mudah yang saya temui dalam tema WordPress dan ia nampaknya berfungsi dengan baik:
Mempunyai add_filterpernyataan berikut:
add_filter( 'option_page_capability_' . ot_options_id(), create_function( '$caps', "return '$caps';" ), 999 );
Ganti dengan:
add_filter( 'option_page_capability_' . ot_options_id(), function($caps) {return $caps;},999);
Kita boleh melihat penggunaan function(), yang merupakan penciptaan fungsi yang sangat tipikal, dan bukannya menggunakan create_function() yang tidak digunakan untuk mencipta fungsi.
P粉2877263082024-01-17 00:49:46
Anda sepatutnya boleh menggunakan fungsi tanpa nama (aka penutupan) panggilan ke skop induk $delimiter
pembolehubah seperti ini:
$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };