[英]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.