[英]Is it possible to instantiate a function in php?
我正在寻找一个包含mysqli扩展的PHP脚本示例。 有问题的代码如下:
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
我很困惑这是一个函数或类实例。 如果它是一个函数,是否可以实例化一个函数?
令你困惑的是构造函数。
这是一个类中的特殊公共函数,它在创建实例后直接调用。
在你的情况下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
你声明函数并使用它 ,你声明对象 (在这种情况下是mysqli对象)并实例化它 。
你可以阅读手册。 http://www.php.net/manual/en/language.oop5.basic.php
如果要在一个地方包含实例化逻辑,可以将当前代码包装在一个函数中并返回准备使用的mysqli类?
例:
<?php
function getMysqliConnection(){
return new mysqli("myServer", "myUser", "myPassword", "Northwind");
}
$conn = getMysqliConnection();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.