我有一个PHP函数,该函数需要对SOAP请求的授权才能获取数据并对其进行处理。 我想将用户名/密码保留在auth.php中的程序外部,并使用如下include语句:
include 'auth.php'; // Contains $username and $password.
我通常在PHP程序顶部使用include语句。 但是我不想将值传递给函数,所以我将include语句放入函数中。
这是否会减慢程序的速度,因为它在每次调用该函数时都会读取auth.php,或者PHP会读取所有包含文件并将其保留在程序中,因此每次调用此函数时都不会读取同一auth.php文件?
我考虑过使用DEFINE来代替为用户名/密码设置变量,以便在整个程序中都可以访问它们,但是不确定是否必要。 谢谢!
函数接受参数,请使用该功能传递用户名和密码。 不要包括包含它们的文件。 它的坏习惯。
@ Twisted1919您能解释一下为什么它是不好的做法吗?
原因有很多(不必要的文件依赖,方法内部的黑魔法,开发人员试图了解其工作原理的伏都教徒,无法正确记录等)。 只需避免它,并使用params编写适当的方法即可。
一百万次include调用可能花费与单个SOAP请求一样多的时间。
尽管我真的同意@ Twisted1919在评论中的内容,并且我认为您应该听取他的建议,但我也想回答您的问题(这会减慢执行速度吗?)。
我之所以说"不太重要",是因为非常简单的原因:即使本地完成,SOAP也会隐藏XML编码和解析。 加上您提到的"数据处理",您会发现该功能完成的全部工作要比读取和解析(大概)仅定义几个变量的PHP文件要多得多。 因此,这部分确实微不足道。
好的,所以这与性能执行时间无关,但是要考虑的是编程风格。 我同意,我会将其移出功能范围,因为我也担心软件的维护能力,并且没有令人信服的理由去做被认为"奇怪"的事情。 感谢所有发表评论的人!