cake

1

bakeで焼いたときの delete 処理は 『$this->Model->del($id)』となっているが、cakeのマニュアルには Model->del($id)が載ってないんですよね。

Model->remove($id)がModel->del($id)のシノニムですよって。でも、del()は載ってなくて、代わりに delete() が載ってる。ついでに deleteAll() ってのもある。これは saveAll() 的な使い方になるのでしょうか?

マニュアル見ても分からないときは、ソースコードを読みましょう!!

前回はACLの制御『誰が何に対してアクセス可能か制御する』仕組みの『誰が』の部分を作成しました。

今回は『何に対してアクセス可能か』の部分についてみていきたいと思います。

しかし、何度マニュアルを読んでも理解不明。ちなみに現在日本語サイトはリンク切れです。

そんな時に救世主が現れました。「CakePHPのACLにはまる...でも、出てくる?!

さっぱりチンプンカンプンだったのが、ぼんやりと理解できてきたような・・・。

それでは早速作業にかかりましょう。

cakePHPのチュートリアル「ACL を制御するシンプルなアプリケーション」を実践したときの備忘録

  1. まずはcakePHPをダウンロード。

    http://cakephp.org/から現在の安定版1.2.5をダウンロードしてweb領域にセットします。

  2. 続いてDBの設定。

    「cake_tutorial」というDBを作成して以下のテーブルを作成。

    CREATE TABLE users (
        id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	username VARCHAR(255) NOT NULL UNIQUE,
        password CHAR(40) NOT NULL,
        group_id INT(11) NOT NULL,
        created DATETIME,
        modified DATETIME
    );
    
     
    CREATE TABLE groups (
        id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        created DATETIME,
        modified DATETIME
    );
    
    
    CREATE TABLE posts (
        id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        user_id INT(11) NOT NULL,
        title VARCHAR(255) NOT NULL,
        body TEXT,
        created DATETIME,
        modified DATETIME
    );
    
    CREATE TABLE widgets (
        id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        part_no VARCHAR(12),
        quantity INT(11)
    );
    

ここまで出来たら後はbakeでサクッと作成しちゃいます。

windowsで作成したcakephpのプログラムをmacbookに移設したとき、403や404エラーが出てしまいました。そのときの対処法をメモしておきます。

1