假设我有 50 页,我想为其中大约 30 页写一个描述。
描述将在每页上大约两段。
如果我将描述保存在 MySQL 数据库中然后在每个页面上查询以查看是否有相应的描述,或者将它们存储在我的 PHP 文件中的数组中并查看是否元素存在吗?
额外信息:我会手动编辑数组文件或通过 phpMyAdmin 编辑数据库条目,这两者都需要相同的时间。此外,只有我编辑它们,所以我不必担心制作快速编辑文件。
假设我有 50 页,我想为其中大约 30 页写一个描述。
描述将在每页上大约两段。
如果我将描述保存在 MySQL 数据库中然后在每个页面上查询以查看是否有相应的描述,或者将它们存储在我的 PHP 文件中的数组中并查看是否元素存在吗?
额外信息:我会手动编辑数组文件或通过 phpMyAdmin 编辑数据库条目,这两者都需要相同的时间。此外,只有我编辑它们,所以我不必担心制作快速编辑文件。
像这样做:
data.php
以这种形式将它们存储在一个单独的文件中的数组中:
<?php
return array(
// here be data
);
在调用者脚本中,您可以像这样使用它:
$data = require 'data.php';
然后根据需要在整个站点中使用 $data 变量。您还可以拆分数组并根据特定条件使用多个文件,例如“语言”或“文章类别”或其他。
如果你这样做,你总是可以插入一个带有 Web 界面的编辑器来编辑该数组并将其存储回file_put_contents('data.php', '<?php return '. var_export($data));
,例如,$data
在处理POST
表单后,它的值是从 的旧值生成的$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;