成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

php 可變函數(shù)

cuieney / 1877人閱讀

摘要:接下來就要引入一個(gè)概念,可變函數(shù)。這意味著如果一個(gè)變量名后有圓括號(hào),將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它。示例執(zhí)行命令行中輸出執(zhí)行命令行中輸出可變函數(shù)的語(yǔ)法來調(diào)用一個(gè)對(duì)象的方法。示例代碼來源可變函數(shù)轉(zhuǎn)載地址

PHP 可變函數(shù)

先將我的偽代碼寫上。

    protected $model;

    public function __construct(Category $category)
    {
        $this->model = $category;
    }

    public function getLists($request, $isPage = "get", $order = "created_at", $sort = "desc")
    {
        return $this->model->orderBy($order, $sort)->$isPage();
    }

getLists 中,有一個(gè) $isPage 的參數(shù)。本意是傳入 get 就是獲取全部數(shù)據(jù),paginate 就是分頁(yè)。寫完以后覺得哪里不對(duì)。在我們平常的寫法中,查找全部數(shù)據(jù) $this->model->orderBy($order, $sort)->get(); 是這樣的,我也未見過使用變量來替換 get() 的。在實(shí)際運(yùn)行中,程序正常執(zhí)行。隨后在論壇中詢問這種寫法。接下來就要引入一個(gè)概念,《可變函數(shù)》。

什么是可變函數(shù)?
PHP 支持可變函數(shù)的概念。這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它。

了解了這個(gè)概念以后那么上述程序就可以講的通了。$isPage 在程序運(yùn)行中,替換為 get, 而 $isPage 后有一個(gè)圓括號(hào),那么程序就會(huì)尋找同名函數(shù)。進(jìn)而繼續(xù)執(zhí)行。

示例:

";
}

function bar($arg = "") {
    echo "In bar(); argument was "$arg".
"; } $func = "foo"; $func(); // 執(zhí)行 foo(); 命令行中輸出:In foo()
$func = "bar"; $func("test"); // 執(zhí)行 bar();命令行中輸出:In bar(); argument was "test".
可變函數(shù)的語(yǔ)法來調(diào)用一個(gè)對(duì)象的方法。
$name(); // This calls the Bar() method
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();   // This calls $foo->Variable()

// 命令行執(zhí)行輸出: This is Bar
當(dāng)調(diào)用靜態(tài)方法時(shí),函數(shù)調(diào)用要比靜態(tài)屬性優(yōu)先。Variable 方法和靜態(tài)屬性示例。
Variable() reading $variable in this scope.

示例代碼來源 php 可變函數(shù)
轉(zhuǎn)載地址 lost in you

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28819.html

相關(guān)文章

  • php可變函數(shù)

    摘要:支持可變函數(shù)的概念??勺兒瘮?shù)可以用來實(shí)現(xiàn)包括回調(diào)函數(shù),函數(shù)表在內(nèi)的一些用途。注意可變函數(shù)不能用于例如,,,,,,以及類似的語(yǔ)言結(jié)構(gòu)。需要使用自己的包裝函數(shù)來將這些結(jié)構(gòu)用作可變函數(shù)??梢杂每勺兒瘮?shù)的語(yǔ)法來調(diào)用一個(gè)對(duì)象的方法。 php支持可變函數(shù)的概念。這意味著如果一個(gè)變量名后面有圓括號(hào),php將尋找與變量的值同名的函數(shù),并且嘗試運(yùn)行它??勺兒瘮?shù)可以用來實(shí)現(xiàn)包括回調(diào)函數(shù),函數(shù)表在內(nèi)的一些用...

    masturbator 評(píng)論0 收藏0
  • php易錯(cuò)筆記-流程控制,函數(shù)

    摘要:的語(yǔ)法和其它流程控制結(jié)構(gòu)相似部分允許設(shè)定代碼段的行為。返回值在失敗時(shí)返回并且發(fā)出警告。當(dāng)一個(gè)函數(shù)是有條件被定義時(shí),必須在調(diào)用函數(shù)之前定義。有條件的函數(shù)不能在此處調(diào)用函數(shù),因?yàn)樗€不存在,但可以調(diào)用函數(shù)。 流程控制 PHP 提供了一些流程控制的替代語(yǔ)法,包括 if,while,for,foreach 和 switch。替代語(yǔ)法的基本形式是把左花括號(hào)({)換成冒號(hào)(:),把右花括號(hào)(})分...

    mrcode 評(píng)論0 收藏0
  • PHP可變函數(shù)

    摘要:支持可變函數(shù)的概念。通常用在回調(diào)函數(shù)函數(shù)列表或者根據(jù)動(dòng)態(tài)參數(shù)來調(diào)用不同的函數(shù)。那么如何使用呢定義三個(gè)函數(shù)接下來就開始使用啦這一句就打印出如何傳入?yún)?shù)呢很簡(jiǎn)單這句代碼就打印出了那么如何用可變函數(shù)的語(yǔ)法來調(diào)用一個(gè)對(duì)象的方法呢其實(shí)與上面的類似。 PHP支持可變函數(shù)的概念。通常用在回調(diào)函數(shù)、函數(shù)列表或者根據(jù)動(dòng)態(tài)參數(shù)來調(diào)用不同的函數(shù)。 那么如何使用呢?

    馬永翠 評(píng)論0 收藏0
  • 搞定PHP面試 - 變量知識(shí)點(diǎn)整理

    摘要:聲明靜態(tài)變量時(shí)不能用表達(dá)式的結(jié)果對(duì)其賦值正確錯(cuò)誤使用表達(dá)式的結(jié)果賦值錯(cuò)誤使用表達(dá)式的結(jié)果賦值靜態(tài)變量與遞歸函數(shù)靜態(tài)變量提供了一種處理遞歸函數(shù)的方法。 一、變量的定義 1. 變量的命名規(guī)則 變量名可以包含字母、數(shù)字、下劃線,不能以數(shù)字開頭。 $Var_1 = foo; // 合法 $var1 = foo; // 合法 $_var1 = foo; // 合法 $Var-1 = foo; /...

    Mertens 評(píng)論0 收藏0
  • Laravel 路由中不固定數(shù)量參數(shù),是如何實(shí)現(xiàn)的?

    摘要:是用戶自定義函數(shù)中支持可變數(shù)量的參數(shù)列表。在及更早版本中,使用函數(shù),,和??勺償?shù)量的參數(shù)列表,這個(gè)概念可能你會(huì)覺得很抽象。我們?cè)倏匆粋€(gè)示例以上例程會(huì)輸出可變數(shù)量參數(shù)將被傳遞到中,給定的數(shù)組會(huì)作為參數(shù)變量。 最近在讀 Laravel 源碼的時(shí)候,發(fā)現(xiàn)了一個(gè)段特別有趣的代碼,大家請(qǐng)看: showImg(https://segmentfault.com/img/remote/14600000...

    BingqiChen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<