2

Codeigniterでデザイン パターンを使用できますか? 抽象クラス、インターフェースを作成して拡張できますか? それらのクラスを作成できる場合、どうすればそれらを含めることができますか? これらのクラスは、コントローラー フォルダーまたはモデル フォルダー内に配置する必要がありますか? 可能であれば、Codeignitor を使用して次の設計パターンを実装する方法を説明してもらえますか? 塗りつぶしを含めて整理する方法。あなたの支援に感謝。ありがとう!

<?php

interface IAccount {
    public function get_balance();
}

class Savings_account implements IAccount {
    public function get_balance() {
        //get account balance
    }
}

class Current_account implements IAccount {
    public function get_balance() {
        //get account balance
    }
}

class Bank {
    private $acc_type = null;
    public function __construct(IAccount $acc) {
        $this->acc_type = $acc;
    }
    public function get_balance() {
        return $this->acc_type->get_balance();
    }
}

//Client code in a contoller
$bank = new Bank(new Savings_account());
echo $bank->get_balance();
//or
$bank = new Bank(new Current_account());
echo $bank->get_balance();

?>
4

0 に答える 0