2016-07-05 14 views
1

私は複数のテーブルエンティティのためcakephpの3 - 表エンティティのための再利用可能なコード

ここでの例のように

http://book.cakephp.org/3.0/en/orm/entities.html#accessors-mutators

protected function _setTitle($title) 
{ 
    // code to make re-usable 

    return $title; 
} 

私は私のコードを移動することができますを適用する必要があることを、いくつかのコードを持っています複数のエンティティからアクセスできます。 Behaviorの内部で機能を試しましたが、機能しませんでした。

ありがとうございました

+0

はAD7six @、私は設定する必要があります新しいフィールドですが、 'Configure :: read'から読んだいくつかの条件に基づいています。お返事ありがとう – dav

答えて

2

この方法は2通りあります。まず、形質を使用して(あなたが行動を達成しようとしていたもののようなビット): -

class Example extends Entity 
{ 
    use TitleTrait; 
} 

trait TitleTrait 
{ 

    protected function _setTitle($title) 
    { 
     return $title; 
    } 

} 

第二の方法は、継承を使用することです: -

class Example extends CustomEntity 
{ 

} 

abstract class CustomEntity extends Entity 
{ 

    protected function _setTitle($title) 
    { 
     return $title; 
    } 

} 
+0

ありがとうございます。どのようにして最初の方法から特性コードを入れるべきですか? – dav

+0

@davそれはあなた次第だ(私は思う)。私は個人的に 'src/Traits'ディレクトリを作成し、そこに配置します。 – drmonkeyninja

+1

ありがとうございます、素晴らしい作品(最初のケースを使用);) – dav

関連する問題