(这只是理论上的问题,而不是服务器作为一个好例子)
我想写一些orm并且所有开发人员都应该使用这个类,是否可以禁止在php中实例化某些std类,以确保不会建立其他连接到这个db?
E.g mysqli不应该被构建。
这技术可行吗?
由于
答案 0 :(得分:1)
......但没有一个是完美的。
如果您不希望任何人设置mysql/i
,mongodb
或类似设备,您只需卸载扩展程序即可。那么你的ORM需要使用另一个连接类。
这个名为runkit的好扩展包含了你不应该使用的所有功能。可以从类中删除方法,这样您就可以覆盖要阻止的类的构造函数。我是否需要提一下这是真的坏主意?
...是代码审查。您可能认为那些并非真正阻止某人使用mysqli
,但是:
正确审核您的代码。无论如何,它是良好编码风格的一部分,可以防止不良解决方案强制使用好的解决方案,并在需要时允许例外。