它有什么作用 ? (PHP 特质)
What does it do ? (PHP Trait)
我刚找到这段代码,但我不知道如何 google 它。 :-)
最后一个特征是做什么的?
我无法理解它的语法。
如果花括号之间的那些线是新实例的参数,它不应该在括号之间吗?
<?php
namespace Laravel\Dusk;
use Closure;
use BadMethodCallException;
use Illuminate\Support\Str;
use Illuminate\Support\Traits\Macroable;
use Facebook\WebDriver\WebDriverDimension;
class Browser
{
use Concerns\InteractsWithAuthentication,
Concerns\InteractsWithCookies,
Concerns\InteractsWithElements,
Concerns\InteractsWithJavascript,
Concerns\InteractsWithMouse,
Concerns\MakesAssertions,
Concerns\WaitsForElements,
Macroable {
__call as macroCall;
}
// ...
}
代码来自Laravel\Dusk。
这里是原文GitHub repository and the Class itself
这个:
namespace Laravel\Dusk;
use Illuminate\Support\Traits\Macroable;
class Browser
{
use Macroable {
__call as macroCall;
}
public function __call($method, $parameters)
{
// this is defined in THIS class
}
}
只是从 Macroable
特征中为 __call
方法起别名,并使其作为
可用
$this->macroCall($method, $parameters)
这是为了避免在 class 和导入的 trait
中定义的 __call
方法发生冲突
我刚找到这段代码,但我不知道如何 google 它。 :-)
最后一个特征是做什么的? 我无法理解它的语法。 如果花括号之间的那些线是新实例的参数,它不应该在括号之间吗?
<?php
namespace Laravel\Dusk;
use Closure;
use BadMethodCallException;
use Illuminate\Support\Str;
use Illuminate\Support\Traits\Macroable;
use Facebook\WebDriver\WebDriverDimension;
class Browser
{
use Concerns\InteractsWithAuthentication,
Concerns\InteractsWithCookies,
Concerns\InteractsWithElements,
Concerns\InteractsWithJavascript,
Concerns\InteractsWithMouse,
Concerns\MakesAssertions,
Concerns\WaitsForElements,
Macroable {
__call as macroCall;
}
// ...
}
代码来自Laravel\Dusk。 这里是原文GitHub repository and the Class itself
这个:
namespace Laravel\Dusk;
use Illuminate\Support\Traits\Macroable;
class Browser
{
use Macroable {
__call as macroCall;
}
public function __call($method, $parameters)
{
// this is defined in THIS class
}
}
只是从 Macroable
特征中为 __call
方法起别名,并使其作为
$this->macroCall($method, $parameters)
这是为了避免在 class 和导入的 trait
中定义的__call
方法发生冲突