CodeIgniter kullanarak bir döngü içinde bir görünüm yüklemek için kötü bir uygulamadır

3 Cevap php

Ben sadece CodeIgniter ile başladık ve ben bir döngü içinde böyle bir kod koyarsanız o olacak yavaşlatmak şeyler merak ediyorum.

    $data['title'] = 'the title';
    $data['content'] = 'blah blah blah';
    $this->load->view('result', $data);

Ben CodeIgniter bu konuda bir şeyler, ya da PHP'nin kendisi nasıl işleyeceğini tamamen emin değilim. Ben bunu Örneğin. Dosya her tekrarında okunacak misiniz?

    $data['title'] = 'the title';
    $data['content'] = 'blah blah blah';
    include 'result.php';

Ayrıca bir döngü içinde denetimleri yüklemek veya bir döngü içinde bir denetim koyarak temel bir şey eksik ok? Teşekkürler.

Additional info. I have search results for users' profiles... and I was thinking of making a slimmed down version of the profile view to display on the search results page. Would this be bad practice to use a view for that?

3 Cevap

Ben senin görünümünden modelinizi çağıran tavsiye etmem. MVC framework standartlara tutmaya çalışırken bu iyi bir uygulama değildir. Lütfen denetleyicisi modelini arayın ve $ veri parçası olarak görünümüne "kullanıcılar" dizi geçmektedir. Şimdi sadece görünümde bir değişken olarak $ kullanıcılar dizi erişebilirsiniz. Ne vardı benzer, ancak bu geri denetleyicisi modeline erişim alır.

Kontrolör

$data['title'] = 'the title';
$data['content'] = 'blah blah blah';
$data['users'] = $this->user_model->get_users();
$this->load->view('result', $data);

Görünüm

<?php foreach ($users as $user) {
    echo '<p>' . $user->first_name . '</p>';
    echo '<p>' . $user->last_name . '</p>';
}?>

(Kontrolör at yükü görünümü dosya önce tüm verileri hazırlamak gerekir) görünümü dosyası denetleyicisi döngü hareket düşünün. Sen yükleme görünüm dosyası için yalnızca bir çağrı olacak ve istediğiniz gibi görünümü dosyasında Eğer döngü döngüsü bilgi yazdırabilirsiniz.

Görünümünde döngü.

<div>
    <?php foreach ($this->user_model->get_users() as $users): ?>
        <p><?php echo $user->first_name;?></p>
        <p><?php echo $user->last_name;?></p>
    <?php endforeach; ?>
</div>

Bu örnek, doğrudan defalarca CodeIgniter forumlarda tartışıldı olmuştur modelden verileri alır.