小编Jör*_*örg的帖子

如何在数据库中存储具有动态数量的属性的数据

我有许多不同的对象,具有不同数量的属性.到目前为止,我已将数据保存在XML文件中,这些文件可轻松实现不断变化的属性数量.但我正在尝试将其移至数据库.

存储此数据的首选方法是什么?

到目前为止我已经确定了一些策略:

  • 在对象的表中有一个名为"attributes"的字段,并将数据序列化或json存储在那里.
  • 将数据存储在两个表(对象,属性)中,并使用第三个表来保存关系,使其成为真正的n:m关系.非常干净的解决方案,但可能非常昂贵,以获取整个对象及其所有属性
  • 识别所有对象共有的属性,并为对象的表创建这些属性.将其余属性作为序列化数据存储在另一个字段中.这比第一个策略有优势,使搜索更容易.

有任何想法吗?

mysql database rdbms

19
推荐指数
2
解决办法
2万
查看次数

XML文件中的数据:一个大文件还是多个小文件?

我目前正在开发一个基于XML的CMS,它将数据保存在名为"items"的块中.这些可以在网站上用来显示内容.

现在,目前我为每个项目都有一个单独的XML文件.由于该网站上的大多数页面使用这些项目中的大约三到四个,因此具有例如20个页面的相当小的网站具有大约100个不同的项目.因此,我/ xml/items文件夹中的xml文件数量相同.

是否最好将所有数据存储在一个单独的items.xml文件中,还是我当前的方法更好?

Pro Single File - xml/items.xml

  • 较少的文件(在较大的网站上谈论数千个项目时可能会开始成为性能问题.)
  • 减少磁盘访问(特别是在管理中包含所有项目的列表)

Pro多个文件 - xml/items/*.xml

  • 由于只需要解析一个小文件,因此访问单个项目的速度更快

xml performance parsing

7
推荐指数
2
解决办法
4370
查看次数

函数参数变量的命名约定?

是否有命名约定或可能有关如何命名函数参数的指南?

永远,我一直这样做:

function divide( $pDividend, $pDivisor )
{ ... }
Run Code Online (Sandbox Code Playgroud)

这样我就会知道哪些变量作为参数传递.

(这是PHP的,但它应该适用于大多数编程语言)

是否有一个主要原因反对这个?

有没有更好的方法来做到这一点,或者最好是避免这样的命名方案?

php parameters function naming-conventions

4
推荐指数
1
解决办法
3277
查看次数

使用PHP获取HTTP响应头/重定向状态

嘿那里,

我目前正在开发一个基于PHP的工具来监控相当多的URL及其重定向状态.我花了很长时间才找到获取HTTP响应头内容的最佳方法来提取当前的重定向代码和位置.这就是目前的做法:

$resource = fopen( $url, 'r' );
$metadata = stream_get_meta_data( $resource );
$metadata = $metadata['wrapper_data'];

// Looping through the array to find the necessary fields
Run Code Online (Sandbox Code Playgroud)

这适用于我正在监控的95%的URL.还有一些我通过解析网站在执行重定向之前返回的实际HTML来解决它,因为它包含类似"此网站已被移动到此处"的内容.这似乎不是一个非常强大的解决方案,但它在一些情况下有所帮助.

这仍然留给我一些我无法自动检查的URL.

Ask Apache HTTP Headers Tool这样的工具似乎更可靠,我想知道什么是获得重定向信息的更好方法?

php redirect http-headers

2
推荐指数
1
解决办法
2329
查看次数