0

我正在研究 Cakephp 2.3 ..在我的模态中,我正在对这两个函数进行加密和解密 beforeSave 和 afterFind .. 一次又一次我必须写这个

  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/utilityapp/vendors目录中,并且在建议之后,请告诉我如何访问模型中的函数..我如何导入模型中的类..提前感谢

4

2 回答 2

1

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

于 2013-08-08T10:39:57.283 回答
0

这取决于你想从哪里给他们打电话。如果您只是从您的模型中调用它们(我认为这在您的情况下是有道理的),那么您应该将它们放在AppModel.php您的所有模型都继承自的 中。

但是,在看到您之前的问题后,如果您不得不“一次又一次地”编写加密/解密函数,那么您可能没有很好地设计您的应用程序。

实际上,您应该只需要在 beforeSave 中调用一次加密,在 afterFind 中调用一次解密。如果您必须在一两个其他地方给他们打电话……好吧。但是,如果您不得不到处打电话给他们,那么您就走错了路。

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

于 2013-08-08T00:29:32.023 回答