gpt4 book ai didi

php - 如何构建 CMS?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:37 24 4
gpt4 key购买 nike

所以我正在制作一个 CMS,一个通过面向对象的 PHP 编写的画廊脚本。不管怎样,现在的问题是我已经有了对象的基本布局,所以我需要开始将它们放在一起,但我不知道该怎么做。

我拥有的本质上是导航、数据、图库和模块类。模块代表页面、类别等。问题是图库输出图像,模块提供页面数据,导航创建(你猜对了)导航。你明白了。

在索引页上,我最终基本上做了这个(这会改变,但它说明了我是如何开始设置它的):

$navigation = new Navigation();
$navigation->top();

$page = new Module();
$page->basicPage($_GET['m']);

basicPage() 做了一些事情,但主要是这个问题:

$gallery = new Gallery();
$gallery->setGallery($id);
$gallery->thumbGallery();

以此类推。

问题在于,如果我调用 basicPage(),设计者或其他人几乎无法控制这些选择。如您所见,它是 thumbGallery,它不允许完整图像,它甚至不允许您设置缩略图的大小(我允许他们这样做,但前提是他们可以自己调用该函数) .

于是想到了几个解决问题的办法。我没有这些基本页面,但我让设计人员构建出类似于 wordpress 的模板。我不喜欢这个解决方案,因为它使设计过程变得复杂,尽管很彻底。我不想让一切都受到控制,而且是一种方式。当然,您可以像设计者一样对元素“显示:无”和其他一些技巧,但我希望他们能够做很多事情,而无需像 Wordpress 那样采用复杂的方式。

我的问题是如何在简单性和灵 active 之间取得平衡?

任何帮助,甚至想法都会受到赞赏。谢谢。

编辑:我忘了说。问题在于让索引拥有所有这些数据,否则我将不得不做很多 if/else 之类的事情,我真的不想把它变成一个程序程序,只是一个你基本上可以扑通一声的程序东西下来,我们很好。看,模块代表图库和页面。大多数页面不会附加图像,类别会有图像,但不总是文本。如果我调用 thumbGallery 并且它只是一个信息页面,它将导致错误,如果我调用一个信息页面并且它是一个类别,它将不会显示图像(以避免错误)。我可以,并且已经开始在所谓的基本页面中一起构建它,但是我之前提到的问题是它限制了设计者在不必搞乱 php 的情况下拥有的自由度,而且大多数设计者在它出现时都非常愚蠢PHP,不幸的是。特别是 OOP(无意冒犯。我也是一名设计师,但碰巧我也是编程人员)。

最佳答案

如果不查看您的其余代码,就您已有的内容而言,很难知道最佳解决方案。在过去的 9 年里,我从零开始开发了自己的自定义 CMS 应用程序框架,我很乐意为您提供一些提示。

我假设您将所有 CMS 内容存储在数据库中。将图库设置的配置存储在数据库中可能是一种可能的解决方案。从理论上讲,您应该有不同的 View (遵循 MVC 模式)以不同的方式显示画廊。一个用于显示多个图像缩略图的 ListView ,一个用于显示单个图像的 ListView ,以及一个可能用于列出类别的 View 。

因此,在数据库中您可以定义页面 X 应显示缩略图 View 而不是类别 View 。

不确定这是否是您所遇到问题的解决方案,但这是我过去在 CMS 中如何完成的一个非常简单的示例。

关于php - 如何构建 CMS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com