Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Background
The VCL backend code was significantly reworked in version 2.0 to utilize a "modularized" framework.  This framework allows certain parts of the code to be separated from the core code through the implementation of modules.

...

Object Orientation and Inheritance

Image Added

Module.pm (VCL::Module)

  • Provides a constructor for all derived objects to use
    • Objects which inherit from VCL::Module do not need to implement their own new() subroutines
    • Objects which inherit from VCL::Module do not need to deal with "blessing" themselves
  • Provides access to the database data for the reservation via the data() subroutine implemented by Module.pm
    • Wiki Markup
      Any module derived from VCL::Module can call $self->data->\[get_something\] or $self->data->\[set_something\]

...