在PHP数组或MySQL数据库中存储文本?

在PHP数组或MySQL数据库中存储文本?,php,mysql,arrays,query-optimization,Php,Mysql,Arrays,Query Optimization,假设我有50页,我想为其中的30页写一篇描述 每一页大约有两段描述 如果我将描述保存在MySQL数据库中,然后在每个页面上查询以查看是否有相应的描述,对我的服务器来说是更有效的,还是最好将它们存储在PHP文件的数组中并查看元素是否存在 额外信息: 我会手动编辑数组文件,或者通过phpMyAdmin编辑db条目,这两者所需的时间相同。而且,只有我在编辑它们,我才不必担心生成一个快速编辑文件。如果您不经常更改这些描述,可以将它们存储在数组中。但最好将它们保存在单独的文件中,而不是将它们全部保存在一个

假设我有50页,我想为其中的30页写一篇描述

每一页大约有两段描述

如果我将描述保存在MySQL数据库中,然后在每个页面上查询以查看是否有相应的描述,对我的服务器来说是更有效的,还是最好将它们存储在PHP文件的数组中并查看元素是否存在

额外信息:
我会手动编辑数组文件,或者通过phpMyAdmin编辑db条目,这两者所需的时间相同。而且,只有我在编辑它们,我才不必担心生成一个快速编辑文件。

如果您不经常更改这些描述,可以将它们存储在数组中。但最好将它们保存在单独的文件中,而不是将它们全部保存在一个PHP文件中

但是您的服务器可以轻松处理这种小行。所以,做对你来说容易的事

也许您可以将它们存储在数据库中以添加/编辑内容,并对其进行缓存以从您的页面中读取。

如下所示:

$data = require 'data.php';
将它们存储在一个数组中,存储在一个单独的文件
data.php
,格式如下:

<?php
return array(
  // here be data
);
然后根据需要在整个站点中使用$data变量。您还可以拆分数组,并根据特定标准使用多个文件,如“语言”或“文章类别”或其他任何标准


如果你这样做的话,你总是可以插入一个带有web界面的编辑器来编辑这个数组,然后用
file\u put\u contents('data.php',“将信息存储在数据库中。它更慢但更优雅。
如果要使用阵列执行此操作,请执行以下操作:

Class Page
{
    // global configuration
    private static $config = null;

    // individuel configuration
    public $title, $content;

    // constructor
    function __construct($page) {
        // get the configuration
        $config = self::getConfig();

        // cheack weather the page exists
        if(!isset($config[$page]))
            die('unknown page "'.$page.'"');

        // set some stuff
        $this->title = $config[$page]['title'];
        $this->content = $config[$page]['content'];
    }

    // get the configuration
    private function getConfig() {
        if(self::$config === null)
            self::$config = include(dirname(__FILE__) . '/config.php');
        return self::$config;
    }
}
配置:

return Array(
    'home' => Array(
        'title' => 'Welcome!',
        'content' => 'Welcome to my site!' /* maybe include some html for complxe stuff */
    )
);
例如:

$myPage = new Page('home');
echo $myPage->content;

如何在请求之间持久化数组?我认为在性能方面可能是相同的,但如果您以后必须升级系统,如果您在MySQL数据库中进行升级,您会非常高兴。@Dogbert我认为数组将在脚本运行时定义。@bearbin,数据将存储在何处?只需在php文件中设置即可