Gunakan Perpustakaan Yay Preprocessor untuk menambah gula sintaks kepada PHP untuk dengan mudah melaksanakan kod yang lebih elegan! Artikel ini akan menunjukkan cara menggunakan Perpustakaan Yay untuk menambah gula sintaks Slice Array seperti Ruby untuk PHP. $many[4..8]
mata teras:
untuk mendapatkan unsur -unsur kedua, ketiga, dan keempat dari array few = many[1..3]
. Dan dalam PHP, kita perlu menggunakan many
untuk mencapai fungsi yang sama. Jelas sekali, sintaks Ruby lebih ringkas dan elegan. $few = array_slice($many, 1, 3);
Pertama sekali, kita perlu memasang perpustakaan yay:
Seterusnya, kami membuat fail yang dipanggil
$ composer require yay/yay:dev-master
array_slice.yphp
macro { T_VARIABLE·A[ ···range ] } >> { eval( '$list = ' . →(T_VARIABLE·A) . ';' . '$lower = ' . explode('..', →(···range))[0] . ';' . '$upper = ' . explode('..', →(···range))[1] . ';' . 'return array_slice($list, $lower, $upper - $lower);' ) } macro { →(···expression) } >> { ··stringify(···expression) } $many = [ "She walks in beauty", "like the night", "of cloudless climes", "and starry skies", "And all that's best", "of dark and bright", "meet in her aspect", "and her eyes", "...", ]; $lower = 4; $upper = 8; $few = $many[$lower..$upper];
.yphp
$ vendor/bin/yay array_slice.yphp >> array_slice.php
array_slice.php
$many = [ "She walks in beauty", "like the night", "of cloudless climes", "and starry skies", "And all that's best", "of dark and bright", "meet in her aspect", "and her eyes", "...", ]; $lower = 4; $upper = 8; $few = eval( '$list = ' . '$many' . ';'. '$lower = ' . explode('..', '$lower..$upper')[0] . ';' . '$upper = ' . explode('..', '$lower..$upper')[1] . ';' . 'return array_slice($list, $lower, $upper - $lower);' );
YAY memecahkan rentetan kod ke dalam tag melalui parser, membina pokok sintaks abstrak (AST), dan menggantikan makro dengan kod PHP sebenar, dan akhirnya menghasilkan kod PHP yang boleh dilaksanakan. Oleh kerana batasan skop pembolehubah PHP, makro menggunakan fungsi , yang sedikit tidak teratur, tetapi berkesan melaksanakan fungsi yang diharapkan.
dengan yay, kita boleh menambah gula sintaks tersuai kepada PHP, meningkatkan kebolehbacaan dan kecekapan kod kami. Jika anda mempunyai lebih banyak idea atau cadangan mengenai perpustakaan Yay, sila tinggalkan mesej untuk dibincangkan. eval()
Atas ialah kandungan terperinci PHP Macro untuk keseronokan dan keuntungan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!