我正在开发一个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中预先导入该类
答案 0 :(得分:1)
要在控制器端使用通用功能,您必须在'AppController.php'中声明它 在视图文件中使用函数时,您可以在'AppHelper.php'中提及它。对于模型,您可以将它放在'Appmodel.php'中
答案 1 :(得分:0)
这取决于你想要从哪里调用它们。如果你只是从你的模型中调用它们(我觉得这在你的情况下是有意义的),那么你应该将它们放在AppModel.php
中,这是你所有模型继承的。
然而,看过你之前的问题,如果你不得不“一次又一次”编写加密/解密功能,那么你可能不会很好地设计你的应用程序。
实际上,你只需要在afterFind中调用一次加密,然后在afterFind中解密一次。如果你必须在一两个地方打电话给他们......好的。但是,如果你不得不在整个地方打电话给他们,你就会采取错误的方式。
而且,应该没有必要使它成为一个静态函数。