我正在寻找一个包含mysqli扩展名的PHP脚本示例。有问题的代码如下:
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
我很困惑这是一个函数或类实例。如果它是一个函数,是否可以实例化一个函数?
答案 0 :(得分:4)
让您困惑的是构造函数。
这是一个类中的特殊公共函数,在创建实例后直接调用它。
在你的情况下, mysqli
是一个类,它有一个像这样的构造函数:
public function __construct($server, $user, $password, $dbname) {
// do something
}
见:
http://php.net/manual/en/mysqli.construct.php
http://php.net/manual/en/language.oop5.decon.php
<强> Geekfact:强>
你可以通过使用闭包以某种方式获得函数的“实例”。这些不是真实的实例,只是callables
。
function createInstance() {
return function($a, $b) {
return $a + $b;
};
}
$myIndependendFunction = createInstance();
echo $myIndependendFunction(3, 2); // prints 5
答案 1 :(得分:0)
您声明函数并使用它,您声明对象(在这种情况下为mysqli对象)并且您实例化它强>
您可以阅读本手册。 http://www.php.net/manual/en/language.oop5.basic.php
答案 2 :(得分:-2)
如果你想在一个地方包含实例化逻辑,你可以将当前代码包装在一个函数中并返回准备使用的mysqli类吗?
示例:
<?php
function getMysqliConnection(){
return new mysqli("myServer", "myUser", "myPassword", "Northwind");
}
$conn = getMysqliConnection();