वीर

23 เมษายน 2008

เตรียม model (+ db) สำหรับ AuthComponent ใน CakePHP 1.2.x

Filed under: Uncategorized — Tags: , , , , , , , , , , , — वीर @ 08:45

ก่อนที่จะใช้ AuthComponent ได้ก็ต้องมีการเตรียมการสร้าง database และ model กันนิดๆ หน่อยๆ หลังจากติดตั้ง CakePHP เรียบร้อยแล้ว. นอกจากนั้นเพื่อให้การทดลองเป็นได้โดยสะดวกผมคิดว่าควรจะสร้าง view กับ controller ง่ายๆ ไว้ใช้ในทดลองก่อน. จากนั้นก็สร้าง user table ผ่านทาง CakeSchema. แล้วก็ต่อด้วยสร้าง table ของ acl (access control list) โดยเข้าไปใน folder: cake/console แล้วสั่ง ./cake schema run create DbAcl แล้วตามด้วยการกด y ไปเรื่อยๆ เพื่อลบ table เก่าถ้ามี แล้วสร้างใหม่. ต่อด้วยการสร้าง model ของ user ใน app/models ในไฟล์ user.php:

< ?php
class User extends AppModel {
}
?>

ต่อจากนั้นก็ add user เข้าไปสักคนเพื่อเป็นการทดลอง เพื่อความสะดวกในการ add user ผมก็สร้าง CakeShell ไว้ใน folder: app/vendors/shells ชื่อไฟล์ว่า user.php:

< ?php
uses ('controller'.DS.'components'.DS.'auth');

class UserShell extends Shell {
    var $uses = array("User");
    function add() {
        $auth = new AuthComponent();
        $username = $this->args[0];
        $password = $auth->password($this->args[1]);       
        $data = array("User" =>
                      array("username" => $username,
                            "password" => $password));
        if($this->User->save($data)) {
            print "Success: $username was added\n";
        } else {
            print "Fail\n";
        }
    }
}

จากนั้นก็เข้าไปใน folder: cake/console แล้วก็เรียก ./cake user add myusername mypassword

อาจจะสั้นๆ ไปหน่อย นอกจากนั้นก็ปล่อยให้ CakePHP จัดการ.

No Comments Yet »

ยังไม่มีความคิดเห็นใดๆ

RSS feed สำหรับความคิดเห็นในกระทู้นี้ TrackBack URI

เขียนความคิดเห็นของคุณ

บลอกที่ WordPress.com .