MVC,我该如何编写配置文件?

时间:2011-08-01 23:08:15

标签: model-view-controller settings config

我决定使用MVC设计模式重写我的上传器,因为我的代码很混乱。文件以这样的方式组织:

-model.php: 基本上,它是一个具有从我的数据库中检索数据所需的所有功能的类,例如上次上传的文件,当前用户上传的文件数等。有一个名为db_link的私有变量,用于保存PDO创建的资源。 (PDO对象)。

-index.php: 这是控制器。它检查是否有正在上传的文件,检查它是否有有效的扩展名等。它调用model.php中包含的类中的函数(我先创建该类的对象)。

-settings.php: 我的配置文件。这是我确定我的数据库用户名,密码,最大文件大小,允许的扩展名等的地方。 我只是做以下事情: $ allowed_extension = array('swf','txt','jpg','gif','png');

但是,如果我将它包含在index.php中并尝试在函数中使用此变量,则它不起作用,因为它不在同一范围内(除非我将其包含在函数本身内,但我不想这样做)。我只需要一种更好的方式来组织我的设置。

另外,我用前面讨论过的类创建了一个db对象。我需要将对象传递给我想要调用的函数,这也是一个痛苦的问题。还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

您可能应该在settings.php中使用常量:

  • 您可以使用serialize方法存储数组(请参阅答案 PHP Constants Containing Arrays?
  • 常量随处可见
  • 更具可读性
  • 设置应始终保持不变

对于db,我自己总是使用单例模式,然后只使用Model_Mysql::getInstance();,这使它在任何地方都可以自动使用。