编写支持模块的PHP应用程序有哪些好方法?
我开始和我的一个朋友用php编写一个应用程序,我想知道您是否对如何在我们的应用程序中实现模块支持有任何建议 或者有没有一种方法可以自动加载php应用程序用php编写的模块?或者我应该仅仅依靠自动加载功能吗 我们不需要可以通过web界面安装的插件,我们只需要一些巧妙的方法将项目的web页面与某些类关联(它们将呈现页面),这样index.php就可以调用正确的类并检索它生成的子页面编写支持模块的PHP应用程序有哪些好方法?,php,module,Php,Module,我开始和我的一个朋友用php编写一个应用程序,我想知道您是否对如何在我们的应用程序中实现模块支持有任何建议 或者有没有一种方法可以自动加载php应用程序用php编写的模块?或者我应该仅仅依靠自动加载功能吗 我们不需要可以通过web界面安装的插件,我们只需要一些巧妙的方法将项目的web页面与某些类关联(它们将呈现页面),这样index.php就可以调用正确的类并检索它生成的子页面 至少目前,我们没有使用任何框架。听起来您正在寻找一种方法来组织每个页面需要执行的不同任务。在本例中,请查看。它提供了一
至少目前,我们没有使用任何框架。听起来您正在寻找一种方法来组织每个页面需要执行的不同任务。在本例中,请查看。它提供了一种分离数据访问(模型)和呈现/呈现信息(视图)方式的简单方法 您可以轻松地将页面映射到函数。如果将信息存储在映射值数组中,然后使用函数将请求的URL与数组中的每个URL进行比较。这样的阵列可能如下所示:
$urls = array(
'/' => 'index',
'/aboutus/' => 'aboutUs',
);
有几篇文章讨论了如何在几小时内用PHP实现它。这是一个非常简单的指南。我不喜欢他们使用注册表模式,但通读应该可以为您提供足够的信息,让您了解如何自己实现它。请注意:在这种情况下,自动加载和严格的文件命名就足够了 您可以定义一个特定的名称空间(不是以新的PHP5.3
名称空间
的方式,只是在名称的通用前缀的意义上),例如模块类名称的模块*
然后,您可以使用只包含一个类定义的类文件在目录中组织模块,例如:
/modules/Mail/index.php // defines class Module_Mail
/modules/Database/index.php // defines class Module_Database
/modules/Image/index.php // defines class Module_Image
然后,每当请求模块*
类时,您的自动加载功能将:
$Database = new Module_Database("localhost", .....);
从正确的目录中包含正确的文件
Zend框架就是这样做的,而且做得非常好
考虑选择比模块
更具体的名称空间,以确保与其他脚本和应用程序的互操作性(如果这是将来的选择)
略微相关:这里您只需要一个MVC体系结构,每个“模块”都有一个控制器类 如果你不反对使用框架,那就选择 它允许您具备以下原则:
- 像这样的URL:
- 将或多或少自动调用MyModuleController类中的editAction方法李>