最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 可變函數(shù)使用小結(jié)

 更新時(shí)間:2018年06月12日 09:41:20   作者:煙熏妝  
PHP 支持可變函數(shù)的概念。這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它。本文重點(diǎn)給大家介紹php 可變函數(shù)使用小結(jié),感興趣的朋友一起看看吧

可變函數(shù)

PHP 支持可變函數(shù)的概念。這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它??勺兒瘮?shù)可以用來(lái)實(shí)現(xiàn)包括回調(diào)函數(shù),函數(shù)表在內(nèi)的一些用途。

變量函數(shù)不能用于語(yǔ)言結(jié)構(gòu),例如 echo(),print(),unset(),isset(),empty(),include(),require() 以及類(lèi)似的語(yǔ)句。需要使用自己的包裝函數(shù)來(lái)將這些結(jié)構(gòu)用作變量函數(shù)。

先將我的偽代碼寫(xiě)上。

 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è)。寫(xiě)完以后覺(jué)得哪里不對(duì)。在我們平常的寫(xiě)法中,查找全部數(shù)據(jù) $this->model->orderBy($order, $sort)->get(); 是這樣的,我也未見(jiàn)過(guò)使用變量來(lái)替換 get() 的。在實(shí)際運(yùn)行中,程序正常執(zhí)行。隨后在論壇中詢問(wèn)這種寫(xiě)法。接下來(lái)就要引入一個(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í)行。

示例:

<?php
function foo() {
 echo "In foo()<br />\n";
}
function bar($arg = '') {
 echo "In bar(); argument was '$arg'.<br />\n";
}
$func = 'foo';
$func();  // 執(zhí)行 foo(); 命令行中輸出:In foo()<br />
$func = 'bar';
$func('test'); // 執(zhí)行 bar();命令行中輸出:In bar(); argument was 'test'.<br />

可變函數(shù)的語(yǔ)法來(lái)調(diào)用一個(gè)對(duì)象的方法。

<?phpclass Foo
{
 function Variable()
 {
  $name = 'Bar';
  $this->$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)屬性示例。

<?php
class Foo
{
 static $variable = 'static property';
 static function Variable()
 {
  echo 'Method Variable called';
 }
}
echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.
$variable = "Variable";
Foo::$variable(); // This calls $foo->Variable() reading $variable in this scope.

總結(jié)

以上所述是小編給大家介紹的php 可變函數(shù)使用小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • php基礎(chǔ)教程

    php基礎(chǔ)教程

    PHP是全球范圍內(nèi)應(yīng)用廣泛的開(kāi)發(fā)語(yǔ)言,Web開(kāi)發(fā)的最佳語(yǔ)言; PHP和Linux,Apache,MySQL緊密結(jié)合,形成LAMP的開(kāi)源黃金組合,本文給大家php基礎(chǔ)教程,php基礎(chǔ),需要的朋友可以參考下
    2015-08-08
  • PHP內(nèi)核探索之變量

    PHP內(nèi)核探索之變量

    php變量由變量名,類(lèi)型,內(nèi)容等部分組成,本文給大家分享php內(nèi)核探索之變量,對(duì)php內(nèi)核探索相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • laravel admin實(shí)現(xiàn)分類(lèi)樹(shù)/模型樹(shù)的示例代碼

    laravel admin實(shí)現(xiàn)分類(lèi)樹(shù)/模型樹(shù)的示例代碼

    這篇文章主要介紹了laravel admin實(shí)現(xiàn)分類(lèi)樹(shù)/模型樹(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • PHP 將數(shù)組打亂 shuffle函數(shù)的用法及簡(jiǎn)單實(shí)例

    PHP 將數(shù)組打亂 shuffle函數(shù)的用法及簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇PHP 將數(shù)組打亂 shuffle函數(shù)的用法及簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • codeigniter集成ucenter1.6雙向通信的解決辦法

    codeigniter集成ucenter1.6雙向通信的解決辦法

    用codeigniter開(kāi)發(fā)一個(gè)子網(wǎng)站,之后想和原來(lái)的論壇進(jìn)行同步,包括同步登陸和雙向通信。這篇文章主要介紹了codeigniter集成ucenter1.6雙向通信的解決辦法,需要的朋友可以參考下
    2014-06-06
  • php打造智能化的柱狀圖程序,用于報(bào)表等

    php打造智能化的柱狀圖程序,用于報(bào)表等

    這篇文章主要介紹了php打造智能化的柱狀圖程序,用于報(bào)表等的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • 深入淺析安裝PhpStorm并激活的步驟詳解

    深入淺析安裝PhpStorm并激活的步驟詳解

    這篇文章主要介紹了深入淺析安裝PhpStorm并激活的步驟詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • CodeIgniter控制器之業(yè)務(wù)邏輯實(shí)例分析

    CodeIgniter控制器之業(yè)務(wù)邏輯實(shí)例分析

    這篇文章主要介紹了CodeIgniter控制器之業(yè)務(wù)邏輯使用方法,結(jié)合實(shí)例形式分析了業(yè)務(wù)邏輯所涉及的相關(guān)概念與具體使用方法,需要的朋友可以參考下
    2016-01-01
  • 淺談PHP中靜態(tài)方法和非靜態(tài)方法的相互調(diào)用

    淺談PHP中靜態(tài)方法和非靜態(tài)方法的相互調(diào)用

    下面小編就為大家?guī)?lái)一篇淺談PHP中靜態(tài)方法和非靜態(tài)方法的相互調(diào)用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • php將數(shù)據(jù)庫(kù)中的電話號(hào)碼讀取出來(lái)并生成圖片

    php將數(shù)據(jù)庫(kù)中的電話號(hào)碼讀取出來(lái)并生成圖片

    本PHP程序作用是從數(shù)據(jù)庫(kù)中讀取出手機(jī)號(hào)碼或其他數(shù)據(jù)并生成圖片,起到干擾采集防采集的作用。(英文或數(shù)字,如果要支持中文的話需要額外添加字庫(kù))。本代碼為原創(chuàng)代碼。
    2008-08-08

最新評(píng)論

登封市| 天门市| 常宁市| 开封县| 开封市| 天峻县| 海原县| 南部县| 仪陇县| 延寿县| 许昌县| 苍梧县| 长岭县| 隆尧县| 盐源县| 监利县| 锡林郭勒盟| 民乐县| 名山县| 扬州市| 乐山市| 宁都县| 宜兰市| 德江县| 青岛市| 清苑县| 甘泉县| 大名县| 梅州市| 常熟市| 镇雄县| 岑巩县| 普兰店市| 甘洛县| 厦门市| 尉犁县| 明光市| 疏附县| 东山县| 北川| 瑞安市|