静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法 非静态方法调用静态方法: 可以self 或者 类名加::的形式调用 如下面的案例: <?php class A{ public function noneStaticFun(){ echo __CLASS__." none static function<br/>"; } public static function staticFun(){ echo __CLASS__."
1.首先来澄清一些观点 由于静态方法在内存中只有一份,无论你调用多少次,都是共用的,而且没有对象的概念,所以不能在静态方法里面使用$this调用,如果非得调用的话,只能实例化自身类 而实例化不一样,每一个实例化是一个对象,在内存中是多个的 <?php Error_reporting(E_ALL|E_STRICT); class A{ public function bar(){ echo 'bar'.PHP_EOL; } public static function foo(){ echo 'f
转载:http://blog.csdn.net/seattle1215/article/details/6657814 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cash { class Program { static void Main(string[] args) { (new Program()).run(); // writeFee(ca
方法一: class foo { static public function test() { var_dump(get_called_class()); } } class bar extends foo { } foo::test(); bar::test(); 输出: string(3) "foo" string(3) "bar" 方法二: class Bar { public static function test() { var_dump(static
刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { public static function getList() { return self::get()->toArray(); } } 直到有朋友告诉可以不用这么写,声明一个 protected 方法,方法中用 $this.在外部使