PHP>;存储CMS可编辑用户设置的最佳方法
我正在开发一个将被多家公司使用的CMS。因此,每个用户都有一些个人偏好和设置 在论坛中搜索时,我发现将配置设置存储在.ini文件中可能是一个很好的方法。。。但在我的例子中,每个用户都可以随时更改自己的设置 请记住,每个用户将存储30到50个选项(只有一些变量/值或几个数组),每个用户都有自己的数据库,但所有文件都将在同一台服务器中共享 所以,我想知道什么是最好的方式 1) 数据库: 创建一个“config”表,将每个设置存储为一行,应用程序将每次访问数据库以加载设置; 诸如此类: 第1行->var=“user\u logo\u url”//type=“string”//value=“” 第2行->var=“some\u array\u value”//type=“array”//value=“此处序列化的值” 2) XML: 将数据存储到xml文件中并对其进行解析以加载配置(或者在登录时加载并将其存储在$\u会话中) 3) 数据库并写入INI或PHP文件: 好的,我甚至知道这是可能的,但它将把所有设置存储在数据库中(以便于管理),然后使用fwrite将设置保存为php文件中的变量,从而在加载设置时具有更好的性能 我对php非常陌生,所以我不知道考虑应用程序性能的最佳方法是什么,如果您能提供帮助,我将不胜感激 如果我有什么不清楚的地方,请告诉我PHP>;存储CMS可编辑用户设置的最佳方法,php,mysql,xml,settings,Php,Mysql,Xml,Settings,我正在开发一个将被多家公司使用的CMS。因此,每个用户都有一些个人偏好和设置 在论坛中搜索时,我发现将配置设置存储在.ini文件中可能是一个很好的方法。。。但在我的例子中,每个用户都可以随时更改自己的设置 请记住,每个用户将存储30到50个选项(只有一些变量/值或几个数组),每个用户都有自己的数据库,但所有文件都将在同一台服务器中共享 所以,我想知道什么是最好的方式 1) 数据库: 创建一个“config”表,将每个设置存储为一行,应用程序将每次访问数据库以加载设置; 诸如此类: 第1行->va
谢谢 我个人会使用数据库。只需创建一个名为“config”的表(或类似的表),其中包含两个字段:configId varchar(100)、configValue varchar(255)(如果需要大量数据,请键入text) PHP数组可以序列化,也可以使用
内爆()
例如:
$value = array("one", "two", "three");
$configValue = implode("|", $value);
$configValue
将以单个字符串的形式返回:“一|二|三”
。使用$value=explode(“|”,$configValue)
将反转此过程。我将设置存储为json字符串,尝试一下……搜索json_encode和json_decode顺便说一句,您可以只保存在db上,当您要加载时,加载一个全局变量并将数据库请求(web名称等)保存在那里,或者与db进行持续连接,甚至通过ini文件(使用php.ini parse)。
在缺乏性能的情况下,这可能是相同的,因为它们将不得不加载,但如果您有一些配置只需要加载一次的网站,您可以在var上连接db->storage并使用该var来满足您的需要我对json一无所知,但现在您提到了,我将搜索它。非常感谢。谢谢你的提示。。。但是加载每个页面的所有配置行不会影响性能?最好是在登录时加载所有配置并存储为$\u会话,还是在每个页面加载数据库并保持temp目录较小(存储的会话变量较少)。这取决于您希望它的安全程度。如果设置中没有存储任何重要的内容(或安全性),那么使用会话是完全可以接受的。但是,如果您正在存储API访问键之类的内容或需要隐藏的内容,最好每次都调用数据库。编辑:由于这个原因,我在会话中存储一些值,同时为其他人进行数据库调用。起初没有重要的值可存储,但很高兴知道您对安全性的看法。。。因此,即使是服务器端,$\u会话(而不是cookies)也不能安全地保存密码,例如?再次感谢(好的。会话信息存储在服务器上的公共临时目录中,任何人(我指的是任何人)都可以查看,所有数据都以纯文本形式存储。