Maison > Questions et réponses > le corps du texte
<?php namespace App\Sdks\Services; use App\Sdks\Library\CommonHelper; class test extends CommonHelper { public function index() { //不懂这里面的 static::getSharedConfig() 这个方法是调用的那个类? return static::getSharedConfig()->logic->edu_page->search_page_size; } }
钟毅2017-10-04 16:32:28
Il s'agit d'une classe statique que commhelper possède elle-même et ne peut pas être instanciée. Parce qu'il s'agit d'un objet généré dans une fonction statique qui a été définie dans COMMHELPER. En termes simples, cette fonction fonctionnelle renvoie la fonction statique définie dans la classe parent de test. Pensez simplement que les éléments de la classe parent seront là par défaut. Utilisez-le si vous le souhaitez. Plus pratique à utiliser.
数据分析师2017-10-01 00:30:35
Vous ne comprenez pas la statique en php ? - Questions et réponses sur le site Web chinois PHP - Vous ne comprenez pas la statique en php ? - Questions et réponses sur le site Web chinois PHP
Jetez un œil et apprenez.
阿神2017-02-24 09:24:19
首先,你应该先了解static的用法,再去理解你不明白的这段代码的含义。先给你看你一个static使用的例子:
class zhang{ protected static $name = 'zhangsan'; public static function getName() { echo static::$name; } } class li extends zhang { protected static $name = 'lisi'; } Sedan::getName();
上面输出的是结果是:lisi;也就是数据当前类的属性。
迷茫2017-02-24 09:23:31
如果本类没有的话,那就代表它的父类中的getSharedConfig()静态方法,这里也可以写成self::getSharedConfig(),父类就是extends 的那个类哈
class father { static public function fatherF(){ echo "我在父类中哦"; } }class oneself extends father{ public function start(){ // return self::fatherF(); return static::fatherF(); // return self::oneselfF(); } static public function oneselfF(){ echo "我在儿子类中哦"; } }echo PHP_VERSION; // 版本$c = new oneself;$c->start();/* +---------------------------------------------------------------------- | 5.6.29 我在父类中哦 +---------------------------------------------------------------------- */