CodeIgniter sorular: doğal PHP oturumları, kod akış, düzen sorunlar?

4 Cevap php

Ben sadece CodeIgniter ile başladı alıyorum, ve ben onları MVC çerçevesinde düzgün çalışma almak için benim düzenli modules / fonksiyonları çözmeye çalışıyorum. Ben güçlü bir CodeIgniter geçmişe sahip herkes için belirli birkaç soru var:

SESSIONS

CodeIgniter oturumu sadece benim için işe gitmiyor, bir çerez, istemci tarafında oturum verilerini saklar. Ben bunun için bir kaç yedek var biliyorum, ya da ben kendi kütüphane / yardımcıya inşa olabilir; ama Ben sadece $_SESSION kullanarak üzerinde herhangi bir yarar görmüyorum.

Ben sadece kullanırsanız $_SESSION, ben çerçevenin geri kalanı ile herhangi bir sorun var mı? Çerçevesinde herhangi bir diğer kısmı CodeIgniter oturumu kullanarak bağlıdır?

Ben çok şey için temel çerçevesi dışında adım hakkında biraz garip hissediyorum, ama ben düz PHP ile oldukça rahatım. Ben temelde sadece MVC için CodeIgniter'ı kullanmak için, ve benim projeleri için daha modüler bir yönü zorlamak için arıyorum.

CODE FLOW & CONFIG

Ben hemen hemen her şeyden önce yapılması gereken birkaç yapılandırma ürün yok.

Örneğin, geçerli sunucu adına göre doğru / yanlış ayarlanmış olan, ben sabit bir APP_LIVE söylüyorlar. Bu gerçekten erken vb yolları, hata raporlama, CodeIgniter sistemi ve uygulama klasörleri olarak kurulacaktır buna dayalı gerçekleşmesi vardır.

Sorun şu ki, system_folder, ve application_folder index.php dosyasındaki ilk şey ayarlanır (hangi sunucu kodu üzerinde çalışan dayanarak ayarlanır) , biçimlendirimleri herhangi önce yüklediniz.

Ayrıca, URL şeyleri kontrol bir işlevleri var ve sayfa hiç yüklemeden önce yönlendirebilir. Örneğin, bazı sayfaları (SEO) URL www. varlığını enfore gerek, parça iştirakleri, ziyaretçi kaynakları, pazarlama bayraklar, vs

Nerede gerçekten erken gerçekleşmesi gereken bu gibi şeyler koymak için en iyi yer neresidir? Ben, vb bir yapılandırma dosyası, bir autoload dosyası, bir sabitler dosyası, orada olduğunu biliyorum, ama bu bazı öğeler için çok geç. Sadece ana index.php dosyasının üst içine bunları koymak, ya da bir küresel bir config dosyasına orada dahil olmak kötü bir uygulama mı? Yine, ben çerçevesi dışında adım yaşıyorum gibi hissediyorum, ve ben henüz sağlam bir anlayış yok çünkü ben sadece yapıyorum acaba?

LAYOUT / HEADER FOOTER

Çoğu insan gibi, ben sadece benim sayfa şablonuna dahil dosyalarda, onlara sahip alışkınım vb bir üst başlık, navigasyon, altbilgi var. Ben sadece onlara görüşlerini yapmak ve benim ana sayfa görünümünde içine dahil ederek bu aynı şekilde yapabilirsiniz inanıyorum. En iyi şekilde gitmek için mi? Bazıları bir bit veri ihtiyacı; gibi Ne üstbilgi / altbilgi vb paylaşılan, navigasyon işlemek için en iyi yolu, vb navigasyon için hangi sayfa vardır?

4 Cevap

(Birini kullanıyorsanız) yeni yayımlanan CI 1.7 veritabanında oturumları yönetir.

Ancak, CI gevşek bağlı olacak şekilde tasarlanmıştır, böylece yerine $ _SESSION kullanmaya karar eğer herhangi bir büyük sorunları fark olmamalıdır.

Üstbilgi / altbilgi / navigasyon için, (örneğin) headerview.php, footerview.php ve contentview.php oluşturabilir ve denetleyicisi böyle bir şey yaparak görüşlerini veri pass:

$data['title'] = 'about us';
$data['content'] = 'hello world!';

$this->load->view('headerview', $data);
$this->load->view('contentview', $data);
$this->load->view('footerview');

Temel olarak, tam olarak içerir gibi bu görüşlerini tedavi, ancak içindeki değişkenleri değiştirebilirsiniz yararı ile yapabilirsiniz. Ben manzaralı içinde diğer görüşlerini çağrı sakınmak, ama bu sadece benim olabilir.

Ben ilk değerlerini ve bu ayarlamak için, bir veya iki kez kendimi index.php eklemeler yaptık, ve onunla bir sorun yoktu.

Çerçeve seçtiğiniz için tebrik ederiz; Ben hayal kırıklığına olmayacaktır eminim. ;)

Her denetleyici birden load-> view hatları var ya ama ben şahsen birleştiğinde bulabilirsiniz. Ben kuvvetle Eğer otomatik olarak her denetleyici / yöntemin (AOP güzel bir örnek) sonra çalıştırmak olacaktır fonksiyonları tanımlayabilirsiniz CodeIgniter'daki kanca bir göz atın öneririz.

@ Lacho Ben $ _SESSION benim kendi auth kütüphane oluşturdu. ve 1.7 üzerinde çalışıyor.

Ben CI 'oturum' güvenilir olamaz 'kullanıcı-geçti-bilgi' olarak sınıflandırılır istemci tarafında depolanan tanımlama beri $ _SESSION çok daha güvenli olduğuna inanıyorum.

Kendi oturum sınıfını kullanarak yerel ile deneyebilirsiniz

http://www.moreofless.co.uk/using-native-php-sessions-with-codeigniter/