2012-02-04 5 views
1

cakePHPモデルにゲットとセッターのメソッドがないことがわかります(symfonyにあるように)データベースのカラムにアクセスする方法がありません。これらのgetterメソッドとsetterメソッドがなければ、私は実際にcakePHPで純粋なOOPプログラミングを行うことはできません。cakephp OOPゲッターとセッター

私は、たとえばのは次のようにブックをしましょうというオブジェクトを作成することはできません。

$book = new Book(); 

そして今、そのようにブックのプロパティにアクセス:

$title = $book->getTitle(); 
$author = $book->getAuthor(); 

等...誰もがどのように知っています私はcakePHPのような純粋なOOP機能を得ることができますか?あるいは、私はそれらのgetterとsetterを自分でモデルに実装する必要がありますか?事前

+5

"ゲッターとセッターのメソッドがなければ、cakePHPでは純粋なOOPプログラミングを本当に行うことができません。"これは私にとって意味をなさない... OOP _requires_(醜い)ゲッター/セッター? – KingCrunch

+0

確かに、純粋なOOPはゲッタとセッタを必要としません。 「Java:Getters and Setters evil?」(http://stackoverflow.com/questions/565095/java-are-getters-and-setters-evil)と[オリジナル記事](http://www.javaworld .com/javaworld/jw-09-2003/jw-0905-toolbox.html)(最後は無視されている "悪い"オーバーライドを無視してください。 berryllium.nl/2011/02/getters-and-setters-evil-or-necessary-evil/) – mario

+0

ケーキのモデルはほとんどOOPではじまりません。あなたはいつでもあなたが望むすべてのOOPnessを持つCakeのモデルの上に独自のオブジェクトを実装することができます。 – deceze

答えて

2

おかげで、それを設定または取得し使用していませんが、これはあなたが探しているものでしょうか? http://book.cakephp.org/1.3/en/view/1026/findBy

は、たぶん私は完全にそれはあなたが達成しようとしていると方法が命名規則を必要とする理由であるために設定含めると取得することが何であるかを理解していない: http://book.cakephp.org/1.3/en/view/1028/field

も、このオプションがありますあなたはそれを置くと "純粋なoop"と見なされます。私はセッターやゲッタがOOPのパラダイムを「純粋なoop」とみなす必要があるということはどこにも読んでいない。

しかし、あなたが何かをしようとしている場合、私は喜んで助けてくれるでしょう。

関連する問題