Heim > Artikel > Backend-Entwicklung > Das Yii-Framework verwendet eine magische Methode, um ein Beispiel für eine dateiübergreifende Aufruffunktion zu implementieren
In diesem Artikel wird hauptsächlich die Verwendung magischer Methoden zum Implementieren dateiübergreifender Aufruffunktionen durch das Yii-Framework vorgestellt, einschließlich Betriebstechniken im Zusammenhang mit der objektorientierten PHP-Programmierung im Yii-Framework. Freunde in Not können sich darauf beziehen
In diesem Artikel werden die Beispiele von Yii beschrieben. Das Framework verwendet magische Methoden, um dateiübergreifende Aufrufe zu implementieren. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Das aktuelle Projekt verwendet das Yii-Framework, der Controller ruft die Fassadenmethode auf, die Fassade ruft die Adaptermethode auf, der Adapter ruft die API-Methode auf API kapselt die SQL-Methode, aber in den meisten Fällen ist es nur ein einfacher Aufruf, der jedoch auf die Regeln des aktuellen Projekts beschränkt ist. Methoden müssen geschrieben werden, und die Methoden sind alle einfache Rückgaben, also habe ich eine Demo geschrieben und sie simuliert .
<?php class aApi { public static function tt1($name, $age) { print_r($name); echo $age; } } class aAdapter { public function __call($func, $params) { $class = substr(get_called_class(), 0, -7) . 'Api'; return call_user_func_array(array($class, $func), $params); } } class aFacade { public static function __callstatic($func, $params) { // 这里也可以用debug_backtrace() $class = substr(get_called_class(), 0, -6) . 'Adapter'; $obj = new $class(); return call_user_func_array(array($obj, $func), $params); } } class aController { public function actionC() { aFacade::tt1(['name'], 'age'); } } $a = new aController; $a->actionC();
Das obige ist der detaillierte Inhalt vonDas Yii-Framework verwendet eine magische Methode, um ein Beispiel für eine dateiübergreifende Aufruffunktion zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!