CodeIgniter görünümlerde yöntemleri sevmez?

3 Cevap php

Ben CodeIgniter etrafında oynuyorum; Bir daha sürdürülebilir bir çerçeve içine benim eski, çirkin PHP bazı dönüştürmek umuduyla. Ancak, oldukça sinir bozucu bir barikat geldim - Ben görüşlerimi yöntemleri tanımlamak için görünmüyor olabilir. Ben denemek her zaman ben tamamen boş bir sayfa olsun, ve ben hata ayıklama günlüğüne baktığınızda işleme görünümü yüklendikten sonra durdurmak için görünüyordu. Ben manzaralı içinde yöntemler tanımlayabilir miyim? Değilse, neden ve hangi geçici çözümler sen öneriyorsun?

Note: yöntem çıkış dizeleri biçimlendirme ile ilgisi yoktur.

3 Cevap

Bir helper sizin işlevleri tanımlamak ve denetleyici onları yükleyin. Bu şekilde siz de, diğer görünümlerde işlevlerini yeniden kullanabilirsiniz.

Ben CodeIgnitor aşina değilim, ama sizin şablonlan birden çok kez dahil olabilir. Bir kontrol altında işlev kaydırma deneyin:

if (!function_exists('myfunc'))
{
    function myfunc() {}
}

CodeIgnitor muhtemelen hataları yutma, bu yüzden de hemen işlevi önce tamponlar kızarma deneyebilirsiniz:

while(ob_end_flush()){}
error_reporting(E_ALL);
ini_set('display_errors', 1);

Gerçekte de, muhtemelen dize biçimlendirme kodu biraz daha genel yapmak gerekir. Sizin şablon gerçekten fonksiyonlar ekleyerek başlamak için iyi bir yer değil. Siz kodu çoğaltma başlayacağız ve tüm şablonları sahip amacı yendi. Ben CodeIgnitor en Helpers ve Plugins ile deney öneririm

İzlenme denetleyici eylemleri aramak anlamına gelmez. Senin mantık ters, denetleyici bu işlevini çağırın ve görünümüne gönderilen bir değişken olarak ayarlayın. Sonra olabilir deyim değişkeni sizin bakış şablonunda kontrol eğer.

http://codeigniter.com/user_guide/general/helpers.html: Bu sizin için işe yaramazsa, belki bir yardımcı ne ihtiyaç vardır