use (&$b)
class Scope
{
public int $b = 1;
}
class Scope2
{
public int $b = 2;
}
$callback = function (int $a) {
return $a + $this->b;
};
$scope = new Scope();
$scope2 = new Scope2();
var_dump($callback->call($scope, 3), $callback->call($scope2, 3));
я имею виду классы с приватными полямиможно получить к ним доступ через
ReflectionProperty::setAccessible()
объекты у которых вложенные объекты
$themesResponse = $shop->api()->rest('GET', '/admin/themes.json');
выносится в отдельный метод$apiMock = $this->createMock(BasicShopifyAPI::class);
$apiMock->method('rest')
->with($this->equalTo('GET'), $this->equalTo('/admin/themes.json'))
->willReturn(['errors' => [], 'body' => ['themes' => []]]);
$shopMock = $this->createMock(ShopModel::class);
$shopMock->method('api')->willReturn($apiMock);
final class Element
{
/**
* @XmlAttribute
*/
private ?int $zone = null;
public function __set(string $name, $value)
{
if ($name === 'zone' && $value === 0) {
$value = null;
}
$this->{$name} = $value;
}
}
final class Element
{
/**
* @XmlAttribute
*/
private ?int $zone = null;
public function __get(string $name)
{
if ($name === 'zone' && $this->zone === 0) {
return null;
}
return $this->{$name};
}
}
Пожалуйста объясните что делает этот код.
И откуда там взялись методы указанные в PHPDoc