今回のカリキュラムで使用しているCakePHPプロジェクト「VoteSystem」の中にある「VotesystemController」の中身についての質問です。
レコード件数の取得やPopularityの最大値を取得する際に、
コントローラーと同じ名前の「Votesystem」というものが使われていますが、
これはどこでテーブルを取得しているのですか?
使用している箇所は画像の通りです。
質問を言い換えると、
今回のカリキュラムで使用したphpファイルの中で、この「$this->Votesystem」はどこで宣言されたものなのでしょうか?
他の変数はファイル内で宣言されていますが、この「Votesystem」が何なのかわかりません。
$this->VotesystemのVotesystemはControllerの名前の前の部分です。
他の例で例えるとMessageBoardsController.phpだったら$this->MessageBoardsとしてテーブルと連動します。
composerやapp.phpを使ってサーバーとの連動は済んだはずなので
そのテーブルから情報を受け取るための機能です。
データベースからは
$voteSystemTable = $this->getTableLocator()->get('votesystem');
などを利用して取ったので単純にVoteSystemControllerの機能を使うためのものだと思うのが一番だと思います。
ではまた質問してしまうのですが、
「$this->Votesystem」で連動したテーブルを取得できるなら、
なぜ「$this->getTableLocator()->get(‘votesystem’);」でテーブルを取得する必要があるのですか?
テーブルを受け取るのは
$this->getTableLocator()->get(‘votesystem’);で行い、
$this->Votesystemはそれで受け取った情報を使うためだと考えたらよいです。