/** * @param $name * @param $visibility * @param $default * @param $type * * @return PropertyGenerator */ public static function property($name, $visibility = 'public', $default = null, $type = 'mixed') { $property = (new PropertyGenerator($name, $default))->setVisibility($visibility); $property->setIndentation(Generator::$indentation); $docBlock = new DocBlockGenerator(); $docBlock->setIndentation(Generator::$indentation); $tag = new Tag(); $tag->setName('var'); $tag->setContent($type); $tag->setIndentation(Generator::$indentation); $docBlock->setTag($tag); $property->setDocBlock($docBlock); return $property; }