SETメソッドとはコントローラーからビューに値を渡すときに用いることがあるメソッドです。 CAKEPHPのコントローラーメソッドの中にあるメソッドで、例えば以下のように使います。
$this->set("userName", $name);
ビューにある変数$userNameに値$nameを与えることが出来ます。 一方でcompact関数は以下のように使います。
$arr = array( 'apple' => $apple, 'orange' => $orange, 'lemon' => $lemon, ); // ↑ // 同じ意味 // ↓ $arr = compact('apple', 'orange', 'lemon');
以上の2つを組み合わして、
$this->set(compact("apple", "orange", "lemon")); // ↑ // 同じ意味 // ↓ $this->set("apple", $apple); $this->set("orange", $orange); $this->set("lemon", $lemon);
という書き方が出来るようになります。 これでビューの方では$appleや$orangeを宣言しなくても使うことが出来ます。