. * * @file * @ingroup Skins */ declare( strict_types=1 ); namespace Citizen\Partials; use Citizen\GetConfigTrait; use OutputPage; use SkinCitizen; use Title; /** * The base class for all skin partials */ abstract class Partial { use GetConfigTrait; /** * @var SkinCitizen */ protected $skin; /** * Needed for trait * * @var OutputPage */ protected $out; /** * @var Title */ protected $title; /** * @var User */ protected $user; /** * Constructor * @param SkinCitizen $skin */ public function __construct( SkinCitizen $skin ) { $this->skin = $skin; $this->out = $skin->getOutput(); $this->title = $this->out->getTitle(); $this->user = $this->out->getUser(); } }