/** * Modify class source * * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current node * * @return void */ protected function writeCallToSourceFile(\Includes\Decorator\DataStructure\Graph\Classes $node) { $path = \Includes\Decorator\ADecorator::getCacheClassesDir() . $node->getPath(); $content = \Includes\Utils\FileManager::read($path); $content .= PHP_EOL . '// Call static constructor' . PHP_EOL; $content .= '\\' . $node->getClass() . '::' . static::STATIC_CONSTRUCTOR_METHOD . '();'; \Includes\Utils\FileManager::write($path, $content); }
/** * Write PHP class to the files * * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current class node * @param \Includes\Decorator\DataStructure\Graph\Classes $parent Parent class node * * @return void */ public static function writeClassFile(\Includes\Decorator\DataStructure\Graph\Classes $node, \Includes\Decorator\DataStructure\Graph\Classes $parent = null) { \Includes\Utils\FileManager::write(LC_DIR_CACHE_CLASSES . $node->getPath(), $node->getSource($parent)); }
/** * Correct (if needed) class doc block comment. Works for one element from the queue * * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current node * * @return void */ protected function correctTagsOnElement(\Includes\Decorator\DataStructure\Graph\Classes $node) { $path = LC_DIR_CACHE_CLASSES . $node->getPath(); \Includes\Utils\FileManager::write($path, \Includes\Decorator\Utils\Tokenizer::getSourceCode($path, null, null, null, call_user_func_array(array($node, 'addLinesToDocBlock'), $this->getTagsToAdd($node)), $node->isDecorator() ? 'abstract' : null)); }
/** * Write PHP class to the files * * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current class node * @param \Includes\Decorator\DataStructure\Graph\Classes $parent Parent class node * * @return void */ public static function writeClassFile(\Includes\Decorator\DataStructure\Graph\Classes $node, \Includes\Decorator\DataStructure\Graph\Classes $parent = null) { \Includes\Utils\FileManager::write(\Includes\Decorator\ADecorator::getCacheClassesDir() . $node->getPath(), $node->getSource($parent)); }
/** * Correct (if needed) class doc block comment. Works for one element from the queue * * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current node * * @return void */ protected function correctTagsOnElement(\Includes\Decorator\DataStructure\Graph\Classes $node) { \Includes\Utils\FileManager::replace(\Includes\Decorator\ADecorator::getCacheClassesDir() . $node->getPath(), '@$1 ' . $this->getRepositoryCustomClassParameter($node), \Includes\Decorator\Utils\Operator::getTagPattern(array('Entity', 'MappedSuperClass'))); }