/** * @inheritdoc */ public function getHasChanged($cache) { $result = parent::getHasChanged($cache); if ($result && $this->compiledFileName) { @unlink($this->compiledFileName); FileHelper::removeDirIfEmpty(dirname($this->compiledFileName)); } return $result; }
/** * Removes all compiled files in renderer path. * @param ViewRenderer $renderer */ protected function unlinkAllCompiledFiles($renderer) { if (!$this->confirm("Are you want to unlink all php files in '{$renderer->compiledPath}'?", true)) { return; } $this->stdout("Search all php files in '{$renderer->compiledPath}'...\n"); $dir = Yii::getAlias($renderer->compiledPath); $files = FileHelper::findFiles($dir, ['only' => ['/*/*.php']]); $this->stdout(Yii::$app->i18n->format("There {n, plural, =0{are no files} =1{is one file} other{are # files}} in '{$renderer->compiledPath}'.\n", ['n' => count($files)], 'en-US')); foreach ($files as $file) { $this->stdout("Unlink {$file}.\n"); @unlink($file); FileHelper::removeDirIfEmpty(dirname($file)); } }