Ben tüm farklı etkileşimler için yeni bir nesne örneğini gerekir?

3 Cevap php

Im nesnelerin bu kavramları açgözlü bir zorlanıyorum ve bunlar nasıl etkileşim kurması gerektiğine / var.

Onlar ilgili olmayan zaman mesela benim veritabanı ile etkileşim için farklı nesneleri (herhangi bir fark olup olmadığını iyi maybee ben burada veritabanı bağlantıları demek) var mıdır?

Lets say I have one object that index.php uses to get and display content from the database and another object that a user use to add/remove things in the database. We can say that the objects are all of the class dbinteract which holds all the functions for messing about with the database.

Ben diğer nesnelere DbConnection göndermek DbConnection, dbdisplay, dbinsertion, dbmodification: Ya gibi bir şey içine sınıfları bölmek maybee gerekir?

Ben im çok belirgin bir şey eksik gibi hissediyorum ve yanlış giden düşünce süreci im, ben im bir soru arıyorsanız yanı sıra burada bir cevap sanırım bilmeden ileriye taşımak için çalışıyoruz sinir bozucu.

index.php

$connection = new dbconnection();
$displayer = new dbdisplay();

$activeconnection = $connection->connecttodatabase();
$pagetodisplay = $connection->getcontentofpagetodisplay($query);
$displayer->displayPage($activeconnection, $pagetodisplay);

userinsert.php

$inserter = new dbinsert();
$usersdbconnection = new dbconnection();

$inserter->newPost($userdbconnection, $usercredentials, $posttextfromuser);
$usersdbconnection->closedatabaseconnection();

3 Cevap

Sen soyutlama yanlış düzeyinde düşünmek gibi görünüyor. OOP Eğer 'Kullanıcılar' yerine 'veritabanı bağlantıları' ve 'sayfalar' 'makaleler' düşünmek için izin verir.

Ben senin soru? 'Nesne veritabanına bağlanmak için sorumlu olmalıdır ki' olduğunu düşünüyorum - Ben tam sorunu anlamak emin değilim. Veritabanına bir bağlantı oluşturma sadece bir kez yapılması gerekir. Bu bağlantı daha sonra tüm nesneler arasında paylaşılabilir. Eğer sadece tek bir bağlantı nesnesi olduğunu sağlamak için bu sınıfta veritabanına bağlanmak diğer tüm sınıflar devralan bir sınıf ve bir static değişkeni oluşturmak gerekir bağlantısını paylaşmak için.

Diğer dillerde static değişkenleri yaygın class değişkenler denir.

Bana göre, ne eksik gibi görünüyor ki bu nesne yönelimli programlama sizin hayatınızı kolaylaştırmak için var, onun kurallarına aşağıdaki ekstra çalışmalar yapmak için var değil mi. Hayatınızı kolaylaştıracak değil, bunu yanlış yapıyoruz.

sometimes books are better then surfing the net i found this book really useful. the examples lean towards java, but can be applied to any language

http://oreilly.com/catalog/9780596008673/