public function __construct(int $is_preview = 0, int $w_id = 0, array $sh_store, array $prod_gr, $type = 'prod', array $path_ls, $user, $site_sn) {}
НИКОГДА так не пиши
не надо в конструктор ничего пихать - не путай класс с функцией
объект - это механизм, позволяющий изменять данные сущности в любой момент. Учи ООП.
следовательно, делаем -set -get методы и наслаждаемся красотой:
<?php
class foo
{
/**
* @var int
*/
protected $is_preview = 0;
/**
* @var int
*/
protected $w_id = 0;
/**
* @var array
*/
protected $sh_store = [];
/**
* @var array
*/
protected $prod_gr = [];
/**
* @var string
*/
protected $type = 'prod';
/**
* @var array
*/
protected $path_ls = [];
/**
* @var User
*/
protected $user;
protected $site_sn;
public function __construct()
{
}
/**
* @return int
*/
public function getisPreview(): int
{
return $this->is_preview;
}
/**
* @param int $is_preview
*/
public function setIsPreview(int $is_preview)
{
$this->is_preview = $is_preview;
return $this;
}
/**
* @return int
*/
public function getWId(): int
{
return $this->w_id;
}
/**
* @param int $w_id
*/
public function setWId(int $w_id)
{
$this->w_id = $w_id;
return $this;
}
/**
* @return array
*/
public function getShStore(): array
{
return $this->sh_store;
}
/**
* @param array $sh_store
*/
public function setShStore(array $sh_store)
{
$this->sh_store = $sh_store;
return $this;
}
/**
* @return array
*/
public function getProdGr(): array
{
return $this->prod_gr;
}
/**
* @param array $prod_gr
*/
public function setProdGr(array $prod_gr)
{
$this->prod_gr = $prod_gr;
return $this;
}
/**
* @return string
*/
public function getType(): string
{
return $this->type;
}
/**
* @param string $type
*/
public function setType(string $type)
{
$this->type = $type;
return $this;
}
/**
* @return array
*/
public function getPathLs(): array
{
return $this->path_ls;
}
/**
* @param array $path_ls
*/
public function setPathLs(array $path_ls)
{
$this->path_ls = $path_ls;
return $this;
}
/**
* @return User
*/
public function getUser(): User
{
return $this->user;
}
/**
* @param User $user
*/
public function setUser(User $user)
{
$this->user = $user;
return $this;
}
/**
* @return mixed
*/
public function getSiteSn()
{
return $this->site_sn;
}
/**
* @param mixed $site_sn
*/
public function setSiteSn($site_sn)
{
$this->site_sn = $site_sn;
return $this;
}
}
$obj = (new foo())
->setType('type')
->setPathLs(123)
->setProdGr(1)
->setWId(12)
->setUser(new User());
И что за имена proв_gr, w_id и тд? Гадалкой надо быть? Правильно именуй. На
читай.