Adakah eval Evil dalam PHP?
Lazimnya dipercayai bahawa fungsi eval() PHP sememangnya berniat jahat. Walau bagaimanapun, walaupun benar bahawa penilaian dinamik boleh mempunyai masalahnya, adalah penting untuk mengenali potensi manfaatnya.
Pilihan 1 berbanding Pilihan 2:
Pertimbangkan kod yang disediakan :
// Option 1 $type_1 = preg_replace('#^enum\s*\(\s*\'|\'\s*\)\s*$#', '', $type); $result = preg_split('#\'\s*,\s*\'#', $type_1); // Option 2 eval('$result = '.preg_replace('#^enum#','array', $type).';');
Pilihan 2 kelihatan lebih elegan, tetapi adalah penting untuk mempertimbangkan potensi risiko yang berkaitan dengan eval().
Risiko eval():
Mengurangkan Risiko:
Walaupun eval() boleh menjadi alat yang berkuasa, adalah penting untuk menggunakannya dengan berhati-hati. Pembangun yang berpengalaman boleh mendapat manfaat daripada keupayaannya, tetapi pengaturcara yang tidak berpengalaman harus mengelakkannya.
Bila Menggunakan eval():
Amalan Terbaik:
Atas ialah kandungan terperinci Adakah Fungsi `eval()` PHP Benar-benar Jahat, atau Hanya Disalah Faham?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!