Eval ile fonksiyonların bir demet tanımlama (PHP)

0 Cevap php

Şey yakınındaki bu her yerde kabul edilebilir mi? Her HTML etiketi için bir işlev gerekir, onlar bir Yorumlu dize daha sonra kullanılmak üzere tanımlanmış olması gerekir. Bu şimdiye kadar benim kodudur.

<?php
$tags = array (h1, h2, h3, b, i);

foreach ($tags as $key => $value)
{
    eval ('function '.$value.' ($str) { return "<'.$value.'>$str</'.$value.'>"; }');
}

Bu temelde yorumlu metin içindeki işlevleri hakkında Yorumlu sorunu halleder. Hızlı bir örnek:

<<<example
<h1>This is ordinary HTML</h1>
{$h1('This is HTML via. PHP')}
example;

Ben herhangi bir hata içeriyorsa bu yüzden sürpriz etmeyiniz, ezbere kodu üzerine yaptım. Ben henüz eval işlevini idam değil, ama iyi görünüyor. Her neyse, benim sorum olacak: Bu iyi mi, yoksa o zor yoldan yapmak gitmek daha iyidir:

function h1 ($str) { return ...; }
function h2 ($str) { return ...; }
function h3 ($str) { return ...; }
function b ($str) { return ...; }
function i ($str) { return ...; }

Ve böylece ..?

0 Cevap