我正在编写一个CakePHP应用程序,并试图将经常显示(或特别长)的文本保存在我们可以轻松编辑的配置文件中。 我应该把这个文件放在哪里,如何访问它? 当我们需要显示文本以及从能够使用它的其他进程锁定时,我也担心读取此文件的速度权衡。这是我应该担心的问题还是框架处理的问题?
答案 0 :(得分:6)
是的,Rob说它非常好。你可以把它放在视野中,无论是静态还是动态。如果它是静态的,你可以直接将HTML部分放在一个元素中,然后可以在你想要的任何地方调用它。如果它是动态的,您可以通过Model从数据库中获取数据,将其传递给Controller,然后将其呈现给元素(View的一小部分,或者您可以将其称为Abstract)。
答案 1 :(得分:1)
如果它显示在多个位置,但是静态,则元素就足够了。我不确定我会担心长度,但是一个元素也会在那里工作。如果需要频繁编辑,那么你可能想要考虑放入CakePHP可以轻松处理它的数据库,尽管有人可能已经创建了一个平面文件数据源(我从来没有看过)也能正常工作。
如果您打算使用任何大量非结构化文本,您可能还需要考虑使用MongoDB,CouchDB或其他“NoSQL”变体。对于你提到的内容似乎并不值得,但如果你有更大的背景......也许。
框架不会处理速度权衡 - 事实上,使用框架根本就是你已经选择支持的权衡。除非你预期高负荷和频繁编辑,否则我也不会过于担心锁定,但这只是一种内心的反应。因为我不知道你的细节,所以带上一粒盐。
答案 2 :(得分:0)
...包含经常显示的文字 (或特别长)
根据手册,最好存储在视图元素中跨多个视图使用的文本(如Rob Wilkerson所指出的)。
我们可以在某个地方 轻松编辑它。
即使在这种情况下,视图元素仍然是选择,因为您可以从多个视图引用此单个元素,因此不需要在数据库中存储。如果您更改了视图元素,那么无论在何处引用/嵌入(非常合乎逻辑),它都会立即生效。
...保存在配置文件中
当你开始弱化你的MVC结构时,这将被认为是不好的做法。
Supereasy,supershort阅读: http://book.cakephp.org/view/1081/Elements
祝你的项目好运。