Bu basit bir PHP işlevi sarıcı amacına mantıklı görünüyor mu?

1 Cevap php

PHP için yeni ve bir sürü bu "fonksiyonu sarıcı" binmiş birlikte olmak, ben bir kaç görüşler ve biraz geri bildirim almak düşündüm. Ben mümkünse, yaklaşık beş yorumlarınızı almak istiyorum.

Şimdi sormak önce, diğer (WordPress) işlevleri, birincil varlık sorunsuz yükseltme sarmak isteyen için birçok neden var. Bana, her işlev tanımı dolayısıyla $wrap array özel bir ad ayarlamak edebilmek için de önemliydi.

Ama ben sapmak, bu kabul edilebilir ve nispeten kurşun görünüyor?

function core_oo( $function )
{
    $args = array_slice( func_get_args(), 1 );
    $wrap = array
    (
        'comment' => 'the_comment',
        'comments' => 'have_comments',
        'post' => 'the_post',
        'posts' => 'have_posts'
    );
    return call_user_func_array( $wrap[ $function ], $args );
}

... Ve işlevi gibi adı verilecek ...

core_oo( 'post', 'arg1', 'arg2' );

Çok teşekkürler!

EDIT:

Aşağıda Chaos adlı sugeestion Per, bu statik olarak $ şal bildirmek için doğru yolu nedir?

static $wrap = array
( ...

1 Cevap

Peki, sizin temel amacı delilik gibi görünüyor, ancak temel amaç olarak alınan bir, evet, bu işlev bunu gerçekleştirmek için iyi bir yol gibi görünüyor verilmiştir.

Eğer olsa, $wrap static Eğer amaçsızca Array fonksiyon denir her zaman yenileyici değil emin olarak beyan etmelidir.

Ve bu:

if(!isset($wrap[$function]))
    trigger_error('No underlying function known for ' . $function, E_USER_ERROR);

muhtemelen çok akıllı olacak.