<?php namespace kernel; class Widget { protected CgView $cgView; protected array $data; public function __construct(array $data = []) { $this->cgView = new CgView(); $this->cgView->viewPath = ROOT_DIR . "/views/widgets"; $this->data = $data; $this->init(); } public function run() { } public static function create(array $data = []): Widget { return new static($data); } protected function init() { } }