fonction variable php

不言
Libérer: 2023-04-02 18:42:01
original
2151 Les gens l'ont consulté

Cet article présente principalement les fonctions variables de PHP, qui ont une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Fonctions variables PHP

Laissez-moi. écrivez d'abord mon pseudocode.

    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();
    }
Copier après la connexion

Dans getLists, il y a un paramètre de $isPage. L'intention initiale est de transmettre get pour obtenir toutes les données, et paginate de paginer. Après avoir fini d’écrire, j’ai senti que quelque chose n’allait pas. Dans notre manière habituelle d'écrire, rechercher toutes les données $this->model->orderBy($order, $sort)->get(); est comme ça, je n'ai jamais vu utiliser des variables pour remplacer get(). En fonctionnement réel, le programme s'exécute normalement. Puis posé des questions sur cette méthode d'écriture dans le forum. Ensuite, nous présenterons un concept, « Fonction variable ».

Qu'est-ce qu'une fonction variable ?

PHP prend en charge le concept de fonctions variadiques. Cela signifie que s'il y a des parenthèses après un nom de variable, PHP recherchera une fonction portant le même nom que la valeur de la variable et tentera de l'exécuter.

Après avoir compris ce concept, la procédure ci-dessus aura du sens. Lorsque le programme est en cours d'exécution, remplacez $isPage par get, et il y a une parenthèse après $isPage, alors le programme recherchera une fonction du même nom. Continuez ensuite l'exécution.

Exemple :
<?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 />
Copier après la connexion
Syntaxe de fonction variable pour appeler une méthode d'un objet.
<?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
Copier après la connexion
Lors de l'appel de méthodes statiques, les appels de fonction ont priorité sur les propriétés statiques. Exemples de méthodes variables et de propriétés statiques.
<?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.
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Code de tri rapide php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal