この記事は はてなブログ から移行されました

BEAR.Skeleton で作ったアプリケーションでファイル書き込みをしたくない (WIP)

PHPインフラ

追記: 実行時に書かれるファイルは所謂キャッシュなので、生成後にデプロイすれば良いとのこと


現状の見解: 依存パッケージがそれぞれカジュアルにファイルを書く傾向にあるので排除するのは難しい

調べてみる

<?php
class MyAppMeta extends \BEAR\AppMeta\AppMeta
{
    public function __construct($name, $context = 'app')
    {
        $appModule = $name . '\Module\AppModule';
        if (!class_exists($appModule)) {
            throw new \BEAR\AppMeta\Exception\AppNameException($name);
        }
        $this->name = $name;
        $this->appDir = dirname(dirname(dirname((new \ReflectionClass($appModule))->getFileName())));
    }
}

route:{
    $appMeta = new MyAppMeta(__NAMESPACE__, $context);
    $app = (new Bootstrap)->newApp($appMeta, $context);
    /* @var $app AbstractApp \BEAR\Sunday\Extension\Application\AbstractApp */
    $request = $app->router->match($GLOBALS, $_SERVER);
}