Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在框架之上构建CMS(仅限理论)_Php_Zend Framework_Content Management System_Abstraction - Fatal编程技术网

Php 在框架之上构建CMS(仅限理论)

Php 在框架之上构建CMS(仅限理论),php,zend-framework,content-management-system,abstraction,Php,Zend Framework,Content Management System,Abstraction,我在寻找详细的理论方法的答案,所以不要担心任何技术细节 我正在研究构建一个简单CMS的概念,有一件事我无法决定是将纯PHP用于各种库,还是在Zend或Symfony等MVC框架之上构建它 我担心的是,在一个框架上构建它意味着模板和内容管理必须经过我自己构建的自定义抽象层,其处理将构建在框架之上,因此基本上是两层框架 这是一个有效的解决方案,还是应该从头开始构建路由系统,并简单地使用第三方库进行DBO抽象和其他用于更具体组件的有用工具 谢谢。还有另一种方法要考虑,比如构建CMS作为一个服务来支持多

我在寻找详细的理论方法的答案,所以不要担心任何技术细节

我正在研究构建一个简单CMS的概念,有一件事我无法决定是将纯PHP用于各种库,还是在Zend或Symfony等MVC框架之上构建它

我担心的是,在一个框架上构建它意味着模板和内容管理必须经过我自己构建的自定义抽象层,其处理将构建在框架之上,因此基本上是两层框架

这是一个有效的解决方案,还是应该从头开始构建路由系统,并简单地使用第三方库进行DBO抽象和其他用于更具体组件的有用工具


谢谢。

还有另一种方法要考虑,比如构建CMS作为一个服务来支持多个网站托管的任何地方。通过使用REST、HTML5和CORS的插件方法来实现这一点,这将允许您对任何服务器端技术中的任意内容项进行内容管理。我最终为我的电子商务公司做了这件事,因为我们在这些场景中支持不同的服务器端和不同的方法和框架。然后我把它作为一个副业公司,但它实际上只是一个我更喜欢使用的工具,因为我不推广它,所以收入不高。如果我重新开始,我会做什么?我可能会决定让它变得更干净,作为它的翻版,我会让它在安全模型和API风格方面更像Amazon Web服务。如果你看看kitgui.com,你就能更好地理解我说的内容。如果你使用库构建一个CMS,你所要做的就是重用你自己编写的代码,并且可能有一种简单的编码方式。如果你可以很容易地把代码拆开,或者在时机成熟时从头开始重新编写代码,这应该不会是一个问题


但是如果你使用一个框架来编写CMS,它将为你提供一个已经包含在其中的编码功能,比如MVC、测试、模板语言、ORM,可能还有脚手架、迁移等等。

@anonymousdownvotingislame是的,当然,使用传统的意大利面代码博客平台,扭曲成一个多用途的cms,带有不可靠源代码的插件,并通过SS缓存来克服自然的缓慢。不,真的,请不要每次都建议WP。而且,它甚至不能回答已经存在的问题question@DamienPirsy显然,您从未破解过WP的代码库,从未将其用作通用CMS,也从未在五秒钟内寻找过任何“可靠”源代码的插件。我可以摧毁你提出的每一点,但是像你这样诋毁WP的人,从来没有探索过它,不值得它的惊人。好吧,事实上,我这么说正是因为我打开它并使用它…但这不是一个进行无休止讨论的地方,最后:这是我的感觉。我担心的是,通过使用MCV库,我可以相对轻松地构建一个管理面板,但当涉及到用户网站的定制时,CMS页面的框架和路由系统之间可能存在冲突。我可能会考虑使用一个,因为不使用一个,我可以否认自己的许多尝试和测试的概念,但我必须有一个很长的想法。这确实是我第一次想要做的事情,但是使用框架的路由系统,要比你自己构建一个路由系统容易得多,而且更易于定制。它可以从你的数据库中提取一些东西,然后用这些东西填充url。你真的只想用PHP类做一些事情吗?我有点担心我的应用程序将变得依赖于框架。我应该提到,路由系统需要以API的形式提供数据,而不是加载页面。因此,尽管MVC的形式很重要,但考虑到模板之类的东西,它不需要如此繁重。我决定使用phps PDO而不是Zend或Doctrine,因为我的系统需要快速且可移植,以实现流畅的“交互和响应”UI。也许基于API的UI独立系统是您所熟悉的?您的应用程序将依赖于您使用的任何代码。我的意思是,我担心它变得足够依赖于框架的改变会要求系统架构的改变,而使用框架来执行更具体的任务在这种情况下只需要适度的改变。我看过一些开源系统的源代码,不仅仅是CMS,我也不经常看到它们构建在MVC框架之上,而MVC框架不是它们自己构建的。有什么特别的原因吗?