Bildiğim kadarıyla mutlaka bir "en iyi" yol yoktur, ama kullanılan birçok kez gördüm ve kendim kullandım yaygın bir yöntem yoktur. Genellikle bir ilişkisel dizi ve extract() fonksiyonu veya variable variables ya içerir.
Temelde, her yaptığın senin şablon değişkenleri olacak tuşlarını kullanarak, bir ilişkisel diziye verilerinizi kurulur.
//inside the controller
$data['name'] = 'my name';
$data['zip'] = '90210';
$data
dizisi doğrudan veya dolaylı bir şekilde görünümüne geçti, ve extract()
veya (gerçekten aynı şey) değişken değişkenler bir döngü kullanarak aracılığıyla ayıklanır. Daha sonra şablon dahil edilebilir ve bu değişkenler yerel kapsamı içindedir.
//inside the view rendering process
extract($data);
//$name and $zip now exist
Kod Ateşleyici tam bu prosedürü takip eder. İç system\libraries\Loader.php
en son sürümü (1.7.1) Eğer bir görünüm / şablon (aynı şey gerçekten yüklemek için CI denetleyicisi diyoruz view()
adında bir işlevi var, CI). Sen ikinci parametre olarak bir veri dizisi geçmek.
view()
bunu geçti verileri ayıklar (ve diğer bazı tuhaf önbelleğe şeyler yapar) aynı dosyada _ci_load()
adında bir iç işlevini çağırır. Sizin değişkenler lokal fonksiyon kapsamında bundan sonra gitmeye hazır, ve sonra şablon içinde manipüle edilebilir sonraki include()
, dosya içinde yer oluyor her şey var bu yana yerel _ci_load()
de kapsam işlev.
Ben daha önce ayarlanmış bir kirli hızlı-ve-homebrew MVC aynı tasarıma kullandım. Oldukça etkili.