[討論] PHP7後靜態呼叫時建立實體的方法
以前的PHP還可以在靜態method裡使用$this,不過新版的改掉了
所以前那種 $foo = foo::bar() 等同 $foor = new foor , $foo->bar();
的寫法在PHP7已經不可行了
class foo{
public function __construct(){
}
public static function bar(){
if(!isset($this)){
$foo = new foo;
return $foo->bar();
}
//
return blablabla..
}
}
不過看laravel卻可以讓method同時被靜態呼叫又被實體呼叫
$DB = DB::table('name');
$DB = new db ; $DB->table('name');
又是怎樣做到的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.66.226.169 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1591923430.A.E02.html
推
06/12 09:27,
4年前
, 1F
06/12 09:27, 1F
推
06/13 01:43,
4年前
, 2F
06/13 01:43, 2F
推
06/14 11:13,
4年前
, 3F
06/14 11:13, 3F
→
06/14 11:13,
4年前
, 4F
06/14 11:13, 4F
推
06/14 19:58,
4年前
, 5F
06/14 19:58, 5F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章