CodeIgniter ile başlıyorum ve birkaç saat sonra Google'da dalış yaptıktan sonra biraz kafam karıştı.CodeIgniter, modeller ve ORM, bunun nasıl ele alınacağı?
Sorgumu kolay bir örnekle açıklamaya çalışalım: 'name' ve 'color' alanlarına sahip bir 'arabam' tablom var.
$car = new Car('BMW', 'red'); //new $car Object
$car->save(); //this will make an SQL insert to the table 'car'
//Lets query all cars
$cars = Car::get_all();
//cars will be an array of Car objects, (not a set of rows!)
nedenle, sana RubyOnRails veya Django (Python) ne var oldukça benzer bir şey arıyorum: Bu nedenle benim kod aşağıdaki gibi nihayet bakmak böylece, bir php sınıfı Car sahip olmak istiyorum. Her türlü ilişkiyi yürütmem ve doğru bir OOP + MVC yolunda kod yazabilmem gerekiyor.
Bunlar benim başarısız it almak için yaklaşımlar şunlardır: Harici ORM kullanma
(DataMapper, Doktrin, AcidCrud ...)
Onlar çok fazla ayarları gerektirir ya, ya da bir ilişkileri ele Zavallı yol
class Car extends Model{
public function Car($name='',$color='')
{
$this->name = $name;
$this->color = $color;
parent::Model();
}
public function save()
{
$data = array(
'name' => $this->name ,
'color' => $this->color
);
$this->db->insert('cars' $data);
}
Ve daha neler ... Bu yaklaşım ile Problem (CodeIgniter'ın Modeli sınıfını genişletmek için) CodeIgniter'ın sınıflarını kullanma
Ben bir eğer bir $ araba nesnesinin bir var_dump() yapmak olduğunu CodeIgniter'den CI_Config, CI_Input, CI_Benchmark vb. nesneler gibi pek çok şey içerdiğini görüyorum. Bu yüzden, bunun iyi bir çözüm olmadığını düşünüyorum, çünkü sınıfımın her bir nesnesi, çok sayıda tekrarlanan veri içerecektir. , (zayıf bir performansa sahip olacak!), değil mi? CodeIgniter'ın modellerini kullanmama
ben (yerine fonksiyon Car() ait) __construct() CodeIgniter'ın Modeli sınıfından onları uzanan ve daha sonra düzenli PHP5 yapıcı kullanmadan Modellerimi yapmak, ancak sorun içinde olabilir
Bu durumda: CodeIgniter ActiveRecord kullanarak querys yapmak için $ db nesnesine nasıl erişebilirim? ve modelleri (sınıfları) denetleyicilere nasıl yüklerim?
İyi soruyla itmek bütünleştirmektedir, CodeIgniter modelleri çaba gerektirir. Modellerdeki formları tanımlamak ve doğrulamak isterim. Belki Doktrinin bazı mashup ve form kütüphanesi yeterli olacaktır. – Keyo
Rails ve Django ile tecrübeniz varsa, PHP'yi neden kullanmak istiyorsunuz? – denysonique
[RedBean] (http://www.redbeanphp.com), ORM –