/** @var Inil::$i->app->cache FileCache */
Inil::$i->app->cache
i()->app->cache
Inil::$i = new stdClass;
Inil::$i->app = new StdClass;
Inil::$i->app->cache = new FileCache;
$env = [];
$env['app'] = [];
$env['app']['cache'] = new FileCache;
$env['app']['render'] = new Render;
$env['app']['router'] = new Router;
# массив
$env['app']['router'];
# обьект
$env->app->cache;
interface ICache {
public function method1();
}
class App {
public ?ICache $cache = null;
}
class FileCache implements ICache {
public function method1() {
echo '1';
}
}
$app = new App();
$app->cache = new FileCache();
/**
* @property FileCache $cache
*/
class App {}
Inil::$app = new App();
Inil::$app->cache = new FileCache;