我有一个处理翻译的模块。
它没有绑定到任何数据库,该文件纯粹而简单:
$arr["key1"]="text";
...
我需要进行Ajax调用才能编辑该文件。每次访问页面时都会导入该文件,以便提供我需要的任何文本内容(它可能不是世界上最好的东西,但是它完成了工作,而且它应该非常快,因为没有“XML”解析“有点东西,它只是存储在标准的.php文件中。”
要处理这些具有添加/编辑操作等操作的ajax调用,我创建了一个无模型的TranslationController:
class TranslationsController extends AppController {
public $uses = array(); // Model-less
public $components = array('RequestHandler');
public $helpers = array('Session');
protected $translationFilePath;
public function setItem() {
}
public function backupFile() {
}
}
我的问题很简单:我在哪里放置用于在文件中打开/写入/查找的自定义函数?
例如,我有一个从正在读取的行中提取键的函数。
我看过一些帖子,我们建议将数据放在模型中,但在我的情况下,我没有模型,而且这些函数没有链接到数据。所以它不应该在模型中,对吧? 我不希望它是全球性的。
感谢您的帮助。
答案 0 :(得分:1)
为什么不使用CakePHP附带的内置翻译内容并且基于或多或少的标准gettext工具?
你正在做的只是重新发明轮子,可能会提出一个未经测试的定制翻译实现,这显然缺乏CakePHP为你提供的功能。例如,你如何处理复数?
CakePHP为您提供__(),__ d(),_ n_(),__ gn()用于翻译,翻译文件存储在APP / Locale /纯文本文件中,并使用poedit进行编辑。
请参阅http://www.gnu.org/software/gettext/和http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html
答案 1 :(得分:0)
听起来像是自定义数据源的用例:http://book.cakephp.org/2.0/en/models/datasources.html。
就个人而言,我只想在你的应用程序的app/Lib
文件夹中创建一个普通的PHP类。