ใช้ CakePHP จาก command line interface (terminal, console, etc.)
ใน CakePHP เราสามารถสั่งคำสังต่างใน shell ได้อยู่แล้ว เช่น ./cake bake (ต้องเข้า cd เข้าไปใน folder cake/console ก่อน) ที่มีไว้สร้าง controller, view และอื่นๆ อันโนมัติ.
มากไปกว่านั้นเรายังสร้างคำสั่งบน shell แบบนี้ขึ้นมาให้เองได้ง่ายๆ อีกด้วย. ในกรณีผมต้องการสร้าง shell ขึ้นมาเพื่อ encode password เพื่อใช้กับ AuthComponent ซึ่งจำเป็นต้องใช้ค่า Security.salt ใน app/config/core.php มาคำนวณด้วย ซึ่งแต่ละ app (project) สามารถแตกต่างกันได้. อย่างไรก็ตามเราไม่ต้องเขียนรายละเอียดเอง เพียงแต่เรียก function ชื่อ password จาก AuthComponent. ผมก็เลยเขียน encode.php ไว้ใน /app/vendors/shells แบบข้างล่าง.
< ?php
uses ('controller'.DS.'components'.DS.'auth');
class EncodeShell extends Shell {
function main() {
$auth = new AuthComponent();
echo $auth->password($this->args[0]);
}
}
?>
เวลาจะเรียกใช้งานก็ cd เข้าไปใน folder cake/console แล้วก็เรียก ./cake encode <password ที่ต้องการ encode>
อ้างอิง
