依存性注入についてよく読んで、今何かを作ろうとしています。簡単なフォーム送信を考えました。input
基本的に、タイトル用のフィールドとtextarea
本文用のフィールドを持つフォーム。
次に、次のようなコンテナがあります。
class IoC
{
protected $db;
public static function newPost()
{
$post = new Post(); // Instantiate post class so we can use the methods in there
$input = $post->getInput(); // Method that gets the POST values
$post->insertInput($input, $db); // Method that adds the post values to a database
}
}
//Call IoC::newPost(); on the page the form submits to
これはPost
クラスです:
class Post
{
protected $db;
public function __construct($db)
{
$this->db = $db;
}
public function getInput()
{
// Should I get the post input here? Like $_POST['title'] etc. and put it
// into an array and then return it?
return $input;
}
public function insertIntoDB($db, $input)
{
// Should I hardcode the connection and query here?
}
}
ご覧のとおり、どこから接続するべきか混乱しています。考えてみるとDatabase
、接続を作成し、コンテナでそのクラスを呼び出す、再利用可能な別のクラスを用意するのが賢明だと思いますか?
私は本当に知りません。どのようにそれを行うか教えてください。もしあれば例を挙げてください。