SilverLeague\IDEAnnotator\DataObjectAnnotator
Class DataObjectAnnotator Generates phpdoc annotations for database fields and orm relations so IDE's with autocompletion and property inspection will recognize properties and relation methods.
The annotations can be generated with dev/build with @see Annotatable
and from the @see DataObjectAnnotatorTask
The generation is disabled by default.
It is advisable to only enable it in your local dev environment,
so the files won't change on a production server when you run dev/build
Synopsis
class DataObjectAnnotator
{
- // members
- protected static array $extension_classes = ;
- private static bool $enabled = false;
- private static array $enabled_modules = ;
- private AnnotatePermissionChecker $permissionChecker;
- private array $annotatableClasses = ;
- // methods
- public void __construct()
- protected void setupExtensionClasses()
- protected void setEnabledClasses()
- public static array getExtensionClasses()
- public static void setExtensionClasses()
- public static void pushExtensionClass()
- public static boolean isEnabled()
- public bool annotateModule()
- public array getClassesForModule()
- public bool annotateObject()
- protected void writeFileContent()
- protected mixed getGeneratedFileContent()
Hierarchy
Uses
- SilverStripe\Core\Injector\Injectable
- SilverStripe\Core\Config\Configurable
- SilverStripe\Core\Extensible
Members
private
- $annotatableClasses — array
- $enabled — SilverLeague\IDEAnnotator\bool
- $enabled_modules — array
- $permissionChecker — SilverLeague\IDEAnnotator\Helpers\AnnotatePermissionChecker
protected
- $extension_classes
—
array
All classes that subclass Object
Methods
protected
- getGeneratedFileContent() — Return the complete File content with the newly generated DocBlocks
- setEnabledClasses() — Get all annotatable classes from enabled modules
- setupExtensionClasses() — Named `setup` to not clash with the actual setter
- writeFileContent()
public
- __construct() — DataObjectAnnotator constructor.
- annotateModule() — Generate docblock for all subclasses of DataObjects and DataExtenions within a module.
- annotateObject() — Generate docblock for a single subclass of DataObject or DataExtenions
- getClassesForModule()
- getExtensionClasses()
- isEnabled()
- pushExtensionClass() — Add another extension class False checking, because what we get might be uppercase and then lowercase Allowing for duplicates here, to clean up later
- setExtensionClasses()