将CMS集成到PHP应用程序中
我有很多PHP应用程序(除了PHP之外),由于应用程序或遗留实现的复杂性,它们不太适合构建在CMS之上。将CMS功能引入应用程序的好方法是什么?在过去,我一直在服务器端使用HTML代码段,这些代码段包含在页面中,并通过Dreamweaver或CushyCMS等HTML工具进行维护。这使我有一些内容领域,管理员可以维护。但是我对CushyCMS(或独立DW)不是很满意,因为它的能力有限。我一直在考虑使用类似的Wordpress来维护直接包含在服务器页面中的内容。但实际问题是……:)将CMS集成到PHP应用程序中,php,content-management-system,Php,Content Management System,我有很多PHP应用程序(除了PHP之外),由于应用程序或遗留实现的复杂性,它们不太适合构建在CMS之上。将CMS功能引入应用程序的好方法是什么?在过去,我一直在服务器端使用HTML代码段,这些代码段包含在页面中,并通过Dreamweaver或CushyCMS等HTML工具进行维护。这使我有一些内容领域,管理员可以维护。但是我对CushyCMS(或独立DW)不是很满意,因为它的能力有限。我一直在考虑使用类似的Wordpress来维护直接包含在服务器页面中的内容。但实际问题是……:) 在不使用Wor
在不使用Wordpress或类似的CMS构建整个网站的情况下,获得CMS功能的好方法是什么。CMS变得复杂是有原因的-您可以从添加保存到文件或sqlite的简单文章管理开始。。那么你需要几个用户。。然后是树状菜单、权限系统、文章锁定或版本控制。。然后,您需要更好的性能和可伸缩性,因此可以迁移到real DB。。然后您需要动态数据,如小部件或表格。然后是模块化结构。一个商店模块、时事通讯等等,这样你就得到了一个只有你自己知道如何工作的复杂引擎
因此,如果您希望长期使用可维护的CMS,请使用现有的开源解决方案,即使它们在内部像Wordpress一样难看。您可能需要将一个组件集成到另一个组件中,在这两个组件上都需要API。好的,您可以创建一个CMS扩展来处理CMS中的路由,然后将结果委托给底层应用程序 举个例子,让我们考虑一下Drupal7。在此CMS中,您可以创建一个包含两个文件的文件夹模块:一个用于模块数据,另一个用于模块代码 my_module/my_module.info 有了这段基本代码,您可以将应用程序“集成”到drupal,只需将其作为任何drupal模块安装,然后转到htt://your-cool-site/App 执行您的应用程序 更多关于drupal模块创作的信息 我希望有帮助:)
是一个考虑到这一点的框架,它绑定到drupal(6、7和8)和joomla。在CMS上切换现有软件并不总是可以选择的,我不喜欢创建自己的CMS,所以我正在考虑解决这个问题的不同选项。
name = My Module
description = A description of what your module does.
core = 7.x
<?php
/**
* Respond to a drupal's URL with a callback.
*/
function my_module_menu() {
$menu = array();
$menu["App"] = array(
"page callback" => "my_module_run",
"access callback" => true,
);
return $menu;
}
/*
* Do the job
*/
function my_module_run() {
ob_start();
// Call your application by including it's index.php file or whatever
// operation needed.....
// Capture the result of the application.
$result = ob_get_clean();
// If the request is ajax, echo the result.
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
echo $result;
} else {
//Otherwise, return it, so it is rendered as part of the
// CMS content.
return $result;
}
}
?>