在我即将结束的一个项目中,我为 PHP 编写并实现了一个对象关系映射解决方案。在怀疑者和梦想家大声喊出“到底是怎么回事?”之前,放松一下——我还没有找到一种方法来使后期的静态绑定起作用——我只是在以尽可能最好的方式解决它。
无论如何,我目前没有使用准备好的语句进行查询,因为我想不出一种方法来将可变数量的参数传递给bind_params()
orbind_result()
方法。
你问,为什么我需要支持可变数量的参数?因为我的模型的超类(将我的解决方案想象成一个被破解的 PHP ActiveRecord 崇拜者)是定义查询的地方,因此例如 find() 方法不知道它需要绑定多少参数.
现在,我已经考虑过构建一个参数列表并将一个字符串传递给 eval(),但我不太喜欢这种解决方案——我宁愿只实现自己的安全检查并传递语句。
有没有人对如何完成这项工作有任何建议(或成功案例)?如果你能帮我解决第一个问题,也许我们可以解决结果集的绑定问题(如果涉及到确定表结构的初始查询,我怀疑这会更困难,或者至少更耗费资源)。