ホームページ  >  記事  >  バックエンド開発  >  PHP変数関数

PHP変数関数

不言
不言オリジナル
2018-07-06 17:37:062099ブラウズ

この記事では、主に参考価値のある PHP の変数関数を紹介します。今から皆さんに共有します。困っている友達は参考にしてください。

PHP の変数関数

させてください。最初に疑似コードを書きます。

    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 には、$isPage というパラメータがあります。本来の目的は、get を渡してすべてのデータを取得し、paginate を渡してページ付けすることです。書き終えた後、何かがおかしいと感じました。通常の書き方では、すべてのデータを検索します。 $this->model->orderBy($order, $sort)->get(); これはこんな感じです、見たことありませんget() を置き換えるために変数を使用しました。実際の動作ではプログラムは正常に実行されます。次に、フォーラムでこの書き方について質問しました。次に「変数関数」という概念を紹介します。

変数関数とは何ですか?

PHP は変数関数の概念をサポートしています。これは、変数名の後に括弧がある場合、PHP は変数の値と同じ名前の関数を探し、それを実行しようとすることを意味します。

この概念を理解すると、上記の手順が理解できるようになります。プログラムの実行中、$isPageget に置き換えられ、$isPage の後にかっこがある場合、プログラムは次のような関数を探します。同じ名前。その後、実行を続行します。

例:
<?php
function foo() {
    echo "In foo()<br />\n";
}

function bar($arg = &#39;&#39;) {
    echo "In bar(); argument was &#39;$arg&#39;.<br />\n";
}
$func = &#39;foo&#39;;
$func();        //  执行 foo(); 命令行中输出:In foo()<br />

$func = &#39;bar&#39;;
$func(&#39;test&#39;);   // 执行 bar();命令行中输出:In bar(); argument was &#39;test&#39;.<br />
オブジェクトのメソッドを呼び出すための変数関数の構文。
<?php
class Foo
{
    function Variable()
    {
        $name = &#39;Bar&#39;;
        $this->$name(); // This calls the Bar() method
    }

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

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

// 命令行执行输出: This is Bar
静的メソッドを呼び出す場合、関数呼び出しは静的プロパティよりも優先されます。変数メソッドと静的プロパティの例。
<?php
class Foo
{
    static $variable = &#39;static property&#39;;
    static function Variable()
    {
        echo &#39;Method Variable called&#39;;
    }
}

echo Foo::$variable; // This prints &#39;static property&#39;. It does need a $variable in this scope.
$variable = "Variable";
Foo::$variable();  // This calls $foo->Variable() reading $variable in this scope.

以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

php クイック ソート コード

以上がPHP変数関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。