把FleaPHP的组件搬进cakePHP中

来源:互联网 发布:js null 与 undefined 编辑:程序博客网 时间:2024/04/19 07:00

一直没有在cakePHP里找到生成验证码的助手。虽然可以自己实现,可是我又不想费那事。回想了之前cakePHP整合Smarty的例子。我照着老虎画老猫,把FleaPHP的验证码助手搬进cakePHP里使用。
­
首先,把FleaPHP的验证码助手的文件(ImgCode.php)搬到cakePHP里vendors目录下安置,把文件名改成小写的(imgcode.php)。然后进入cake项目的 controllers/components 目录,创建一个php文件。文件名是imgcode.php(文件名自己取),添加以下内容:
-------------------------------------------------------------
<?php
App::import('Vendor', 'imgcode');
class ImgcodeComponent extends FLEA_Helper_ImgCode {
}
?>

-------------------------------------------------------------
第一行意思是调入imgcode.php文件,第二行的意思是从FLEA_Helper_ImgCode派生一个名为imgcode的第三方控件。OK,这样就可以了,现在只要在控制器里直接使用就可以了。具体操作,返回上层目录(Controllers),在控制器里添加以下红色的代码:
-------------------------------------------------
<?php
class UsersController extends AppController
{
var $name = 'Users';
var $ext  = '.html';
var $components  = array('imgcode'); //加载第三方控件
function index()
{
  $this->imgcode->image(); //第三方控件已经被加载到程序本身,直接使用对象名称操作就可以了。
}
/**
  * 用户注册页面
  */
function register()
{
}
/**
  * 添加新用户
  */
function create()
{
}
}
?>

-------------------------------------------------
更多的组件,再照虎画猫就可以了。原理是一样的。我们没必要什么都要自己来开发的。真的,时间是宝贵的~