Özel PHP Çerçeve Geribildirim

4 Cevap php

Ben şimdi cepten yaklaşık bir yıl için programlama ve bir buçuk öğrenme oldum ve ben genellikle uymak için oldukça standart bir çerçeve geliştirdik. Ben bakan değilim bazı şeyler varsa bazı işlevselliğini artırmak ya da nasıl bazı geri bildirim veya girişi isterim.

VIEW MODE

1) Aslında her şey Index.php sayfasından başlar. Yapmam ilk şey temelde kullanarak olacak sınıflar ve fonksiyon listeleri tüm ithal eden bir yapılandırma dosyası benim "packages.php" dosyasını isteyebilir.

2) benim index.php dosyası ve benim sınıfları arasında doğrudan bir iletişim, ne yaptım aslında benim html I can böylece sınıflar için sadece bir kanal benim viewfunctions.php dosyası ile "kadar onları oldukça" dır yazmak <?php get_title('page'); ?> yerine <?php echo $pageClass->get_title('page'); ?> Artı, ben daha iyi sınıfının çıkışını terzi bir çift küçük booleans ve görünümü işlevi komut ne değildir çalıştırabilirsiniz.

3) veritabanı aracılığıyla getirilen herhangi bir bilgileri veritabanı sınıfının, ben özel ile benim sorguları tüm çalışma anlamda izin veritabanı (ile iletişim kurmak için doğrudan izin verilen tek sınıf ile doğrudan iletişim vardır ilgili sınıf bulunuyor başlatılır sınıf kodu).

INPUT MODE

1) Herhangi bir kullanıcı girişi benim userFunctions.php gönderilir.

Ben doğrulama ve onaylama için yayınlanmıştır olduğunu ne olursa olsun kullanıcı girişi göndermek nereye 2) Benim güvenlik sınıfı sonra örneği.

Giriş benim güvenlik denetimi geçerse 3), sonra benim Veritabanı içine girdi benim DB sınıf geçmek.

php genel model

FEEDBACK

Herhangi ışıl ışıl bariz genel yapısı tuzaklar, ya da ben bu artırabilir yolu vardır merak ediyorum.

Lütfen giriş için şimdiden teşekkür ederiz. Bunun için "doğru" cevabı gerçek olduğunu biliyorum, ama ben bir çift kadar oy bina çerçeveler ile ilgili bazı güçlü tavsiye sırayla olacağını düşünün.

-J

4 Cevap

Yapmanız ben tavsiye ederim bir şey go ahead ve sınıfları içine fonksiyonları ayırmaktır. Ben örneklemleridir kaçınarak hakkında yaptığınız noktaları anlamak ancak bu düşünün: Herhangi bir çerçeve, zorunluluk gereği, fonksiyonlar çok sayıda toplamaya başlayacak.

Bunu yapmak yerine

<?php get_title('page'); ?>

daha iyi içindeki tüm fonksiyonları ile bir sayfa sınıf oluşturmak için hizmet olacağını statik diyoruz sınıf dedi. Ardından, kod olur

<?php Page::GetTitle('page'); ?>

çok daha açıklayıcı adlandırma kuralı ve üstü (sadece isim diyelim ki çarpışmalar, 50 sınıfları yerine, iki bin fonksiyonlarını önlemek için var) adlandırma çarpışmalarını önlemek için çalışırken kritik olacak.

(Ircmaxell görevinden de vurguladığımız gibi) I Model-View-Controller tasarım metodolojisi üzerinde çalışma olacaktır. Çok güçlü ve çok iyi yazılmış çerçeveler bir sürü bu ilkeyi uygulamak, ve sadece PHP çerçeveler ya. Benim önerim - Çalışma Yii uygulama kontrol edilmelidir nasıl - çok kaygan ve yaratıcısı sınıf örnekleme kontrol etmek için statik değişkenlerin mükemmel kullanır.

Sizin çerçeveye İyi şanslar!

Eh, ben (kod görmeden) görebileceğiniz tek sorun, SQL her yerde olmasıdır. Ne öneririm DB bağlantı sınıfın önünde bir "model" katmanı yaratıyor. Bu şekilde, tüm sql (vb, birden fazla model içine kesiyorum) tek bir noktada olduğunu. (Eğer bir tabloya bir sütun eklemek istiyorsanız, vb, bir sorgu optimize) KADAR kolay bakım yapar ...

Aksi halde, iyi bir başlangıç ​​gibi görünüyor!

Güzel sunum. Kesinlikle bazı fikir için diğer popüler çerçeveler kaputun altında olmazdı.

İlk bakışta, ben sadece size istek başına ihtiyaç sınıfları yüklemek için bir yol bulup bulamayacağını görmek için öneririm. Sınıf kitaplığı büyük büyürse her istek için hepsini yüklüyor olanaksız hale gelebilir.

Eğer autoloaders kullanıyor musunuz? Bu belki de sadece yanlış yorumlayarak ediyorum ... gerektiren bir sürü kullanarak olacak gibi görünüyor. Ben size kendi çerçevesi yazıyoruz harika olduğunu düşünüyorum. Ben size ulaşmak için ve OOP hala orta yeni en standartlarına göre olduğundan, projenin toplam ağırlığını kontrol yanı sıra edebilirsiniz istediğiniz görevleri yerine getirmek için yazıyoruz olarak da "Tekerleği yeniden icat" olarak görmüyorum Ben deneyimlerinden eminim bir ton öğrenme. Kendi çerçeveler oluşturarak diğer halklar kod geliştirmek için çalışıyor ve diğer şeyler yapmak ve neden inanılmaz bir öğrenme deneyimi ve benim fikrime göre öğrenme büyük ölçüde programlama becerilerini ve anlayış geliştirecektir.