Heim > Backend-Entwicklung > PHP-Tutorial > Wann werden Verschlüsse in PHP verwendet?

Wann werden Verschlüsse in PHP verwendet?

清浅
Freigeben: 2023-04-06 15:10:02
Original
4436 Leute haben es durchsucht

Die Verwendungsszenarien von Abschlüssen in PHP sind: 1. Beim dynamischen Aufruf statischer Klassen; 3. Einer gewöhnlichen Variablen zugewiesen; 5. Verwendung zum Erben von der übergeordneten Domäne; . Bei der Übergabe von Parametern usw.

Wann werden Verschlüsse in PHP verwendet?

Die Verwendungsszenarien von Abschlüssen in PHP sind: Wenn Sie eine statische Klasse dynamisch aufrufen, verwenden Sie sie in der Rückruffunktion, weisen Sie sie einer gewöhnlichen Variablen zu und verwenden Sie sie Beim Erben von der übergeordneten Domäne und Übergeben von Parametern

Verschlussfunktion

Anonyme Funktion, auch Abschlussfunktion (Closure) genannt, ermöglicht temporäre Erstellt a Funktion ohne angegebenen Namen. Der am häufigsten als Callback-Funktionsargument verwendete Wert. Natürlich gibt es auch andere Anwendungen.

Verwendungsszenarien

Beim dynamischen Aufruf einer statischen Klasse

<?php
class test
{
    public static function getinfo()
    {
        var_dump(func_get_args());
    }
}
call_user_func(array(&#39;test&#39;, &#39;getinfo&#39;), &#39;hello world&#39;);
Nach dem Login kopieren

Verwendung in der Rückruffunktion

<?php
//eg array_walk array_map preg_replace_callback etc
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
    return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>
Nach dem Login kopieren

wird einer gewöhnlichen Variablen

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};
$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>
Nach dem Login kopieren

Verwenden Sie use, um von der übergeordneten Domäne zu erben

<?php
$message = &#39;hello&#39;;
// 继承 $message
$example = function () use ($message) {
    var_dump($message);
};
echo $example();
// Inherit by-reference
$example = function () use (&$message) {
    var_dump($message);
};
echo $example();
// The changed value in the parent scope
// is reflected inside the function call
$message = &#39;world&#39;;
echo $example();
Nach dem Login kopieren

Parameter übergeben

<?php
$example = function ($arg) use ($message) {
    var_dump($arg . &#39; &#39; . $message);
};
$example("hello");
Nach dem Login kopieren

Verwendung in OO

<?php
class factory{
    private $_factory;
    public function set($id,$value){
        $this->_factory[$id] = $value;
    }   
    public function get($id){
        $value = $this->_factory[$id];
        return $value();
    }
}
class User{
    private $_username;
    function __construct($username="") {
        $this->_username = $username;
    }
    function getUserName(){
        return $this->_username;
    }
} 
$factory = new factory();
$factory->set("zhangsan",function(){
    return new User(&#39;张三&#39;);
});
$factory->set("lisi",function(){
   return new User("李四");
});
echo $factory->get("zhangsan")->getUserName();
echo $factory->get("lisi")->getUserName();
Nach dem Login kopieren

Funktion aufrufen

<?php
 
function call($callback){
            $callback();
    }
call(function() {
    var_dump(&#39;hell world&#39;);
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWann werden Verschlüsse in PHP verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage