简而言之:这是一个简单的工具,让人们在用密码登录后下载文件.
所以我的问题是:
1)我应该如何处理配置值?我没有使用数据库,所以配置文件似乎合适.我知道其他PHP应用程序(例如wordpress)使用定义,但它们是全局的,并且名称可能会发生冲突. (显然,全局变量也有同样的问题.)我查看了PHP内置的“ini”文件机制.它只允许顶部的注释 – 因此您无法轻松地为每个设置添加注释 – 并且您无法使用“PHP -f”验证语法.其他选择?
2)如何处理模板?该应用程序需要抽出一个表格.可能有错误信息. (例如“抱歉,密码错误.”)我有一个带有HTML表单的类变量,但也允许使用外部模板文件(在配置中指定).我做了一些简单的搜索和替换 – 例如%SCRIPT%到脚本的名称,%STATUS%来保存错误消息.这感觉有点像重新发明轮子,但包括像Smarty这样的模板系统是过度的. (另外他们可能已经有模板系统.)其他选择?
3)i18n – 只有3个消息字符串,并且gettext似乎没有普遍安装.仅仅在配置文件中创建这三个字符串参数是一个坏主意吗?
4)如何最好地与其他框架集成?我的应用程序是一个单独的类.所以,我想我可以只包含一个显示该类被调用的PHP脚本.对于那些不得不将其集成到另一个框架中的人来说,这将是一个起点,但对于那些对定制不感兴趣的人来说也是如此.合理?
5)GET / POST参数 – 对于一个类来说,查看$_GET和$_POST是不好的形式?在施工期间是否应将所有值传递给我的班级?
谢谢.
<?PHP return array( 'option1' => 'foobar','option2' => 123,//and so on... ); ?>
而在主类只需使用:
$config = (array) include 'path/to/config/file';
如果您计划将您的类作为组件分发到其他应用程序中,那么只需将config array / object作为参数放在类的构造函数中,并将详细信息留给用户.
模板
对于这种简单的应用,您描述的方法应该足够了.请记住,总是可以扩展您的类并使用自己的输出方法重载您的输出方法.
I10N
如前所述,对于3个变量而言,除了将它们存储为配置之外的任何东西都是过度的.
积分
评论每个公共方法(甚至更好的是受保护的和私有的方法),并解释它们做了什么以及需要什么参数.如果将它与示例相结合,对大多数用户来说应该足够了.
GET与POST
你的班级使用密码,你甚至想过通过GET发送它们?