cakephp在哪里编写自定义函数

时间:2013-08-08 00:23:29

标签: cakephp cakephp-2.0 cakephp-2.1

我正在开发一个Cakephp 2.3 ..在我的模态中,我在这两个函数中进行加密解密,之前是在保存和后续查找...我一次又一次地写这个

  Security::rijndael($text, Configure::read('constants.crypt_key'), 'encrypt');

所以我决定做一个功能,所以我做了这个

static public function encrypt($text) {
    return Security::rijndael($text, Configure::read('constants.crypt_key'), 'encrypt');
}

  static public function decrypt($text) {
    return Security::rijndael($text), Configure::read('constants.crypt_key'), 'decrypt');
}

但是我想知道我应该在哪里编写这些功能..应该在 app / lib / utility app / vendors 目录中以及建议之后告诉我如何在模型中访问该函数..我可以在Model..thanks中预先导入该类

2 个答案:

答案 0 :(得分:1)

要在控制器端使用通用功能,您必须在'AppController.php'中声明它 在视图文件中使用函数时,您可以在'AppHelper.php'中提及它。对于模型,您可以将它放在'Appmodel.php'中

答案 1 :(得分:0)

这取决于你想要从哪里调用它们。如果你只是从你的模型中调用它们(我觉得这在你的情况下是有意义的),那么你应该将它们放在AppModel.php中,这是你所有模型继承的。

然而,看过你之前的问题,如果你不得不“一次又一次”编写加密/解密功能,那么你可能不会很好地设计你的应用程序。

实际上,你只需要在afterFind中调用一次加密,然后在afterFind中解密一次。如果你必须在一两个地方打电话给他们......好的。但是,如果你不得不在整个地方打电话给他们,你就会采取错误的方式。

而且,应该没有必要使它成为一个静态函数。