Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
core_blog\external\post_exporter Class Reference

Class for exporting a blog post (entry). More...

Inheritance diagram for core_blog\external\post_exporter:
core\external\exporter

Public Member Functions

 export (renderer_base $output)
 Function to export the renderer data in a format that is suitable for a mustache template. More...
 

Static Public Member Functions

static format_properties ($properties)
 Recursively formats a given property definition with the default fields required. More...
 
static get_create_structure ()
 Returns the create structure. More...
 
static get_read_structure ()
 Returns the read structure. More...
 
static get_update_structure ()
 Returns the update structure. More...
 
static properties_definition ()
 Get the properties definition of this exporter used for create, and update structures. More...
 
static read_properties_definition ()
 Get the read properties definition of this exporter. More...
 

Protected Member Functions

 get_format_parameters ($property)
 Get the format parameters. More...
 
 get_other_values (renderer_base $output)
 Get the additional values to inject while exporting. More...
 

Static Protected Member Functions

static define_other_properties ()
 Return the list of additional properties used only for display. More...
 
static define_properties ()
 Return the list of properties. More...
 
static define_related ()
 Returns a list of objects that are related to this persistent. More...
 
static get_context_structure ()
 Get the context structure. More...
 
static get_format_field ($definitions, $property)
 Get the format field name. More...
 
static get_format_structure ($property, $definition, $required=VALUE_REQUIRED)
 Get the format structure. More...
 
static get_read_structure_from_properties ($properties, $required=VALUE_REQUIRED, $default=null)
 Returns the read structure from a set of properties (recursive). More...
 

Protected Attributes

stdClass array $data = null
 The data of this exporter.
 
array $related = array()
 $related List of related objects used to avoid DB queries.
 

Detailed Description

Class for exporting a blog post (entry).

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ define_other_properties()

static core_blog\external\post_exporter::define_other_properties ( )
staticprotected

Return the list of additional properties used only for display.

Additional properties are only ever used for the read structure, and during export of the persistent data.

The format of the array returned by this method has to match the structure defined in (). The display properties can however do some more fancy things. They can define 'multiple' => true to wrap values in an external_multiple_structure automatically - or they can define the type as a nested array of more properties in order to generate a nested external_single_structure.

You can specify an array of values by including a 'multiple' => true array value. This will result in a nested external_multiple_structure. E.g.

  'arrayofbools' => array(
      'type' => PARAM_BOOL,
      'multiple' => true
  ),

You can return a nested array in the type field, which will result in a nested external_single_structure. E.g. 'competency' => array( 'type' => competency_exporter::read_properties_definition() ),

Other properties can be specifically marked as optional, in which case they do not need to be included in the export in self::get_other_values(). This is useful when exporting a substructure which cannot be set as null due to webservices protocol constraints. E.g. 'competency' => array( 'type' => competency_exporter::read_properties_definition(), 'optional' => true ),

Return values
array

Reimplemented from core\external\exporter.

◆ define_properties()

static core_blog\external\post_exporter::define_properties ( )
staticprotected

Return the list of properties.

Return values
arraylist of properties

Reimplemented from core\external\exporter.

◆ define_related()

static core_blog\external\post_exporter::define_related ( )
staticprotected

Returns a list of objects that are related to this persistent.

Only objects listed here can be cached in this object.

The class name can be suffixed:

  • with [] to indicate an array of values.
  • with ? to indicate that 'null' is allowed.
Return values
arrayof 'propertyname' => array('type' => classname, 'required' => true)

Reimplemented from core\external\exporter.

◆ export()

core\external\exporter::export ( renderer_base  $output)
finalinherited

Function to export the renderer data in a format that is suitable for a mustache template.

This means raw records are generated as in to_record, but all strings are correctly passed through external_format_text (or external_format_string).

Parameters
renderer_base$outputUsed to do a final render of any components that need to be rendered for export.
Return values
stdClass

◆ format_properties()

static core\external\exporter::format_properties (   $properties)
staticfinalinherited

Recursively formats a given property definition with the default fields required.

Parameters
array$propertiesList of properties to format
Return values
arrayFormatted array

◆ get_context_structure()

static core\external\exporter::get_context_structure ( )
staticfinalprotectedinherited

Get the context structure.

Return values
external_single_structure

◆ get_create_structure()

static core\external\exporter::get_create_structure ( )
staticfinalinherited

Returns the create structure.

Return values
external_single_structure

◆ get_format_field()

static core\external\exporter::get_format_field (   $definitions,
  $property 
)
staticfinalprotectedinherited

Get the format field name.

Parameters
array$definitionsList of properties definitions.
string$propertyThe name of the property that may have a format field.
Return values
bool|stringFalse, or the name of the format property.

◆ get_format_parameters()

core\external\exporter::get_format_parameters (   $property)
finalprotectedinherited

Get the format parameters.

This method returns the parameters to use with the functions external_format_text(), and external_format_string(). To override the default parameters, you can define a protected method called 'get_format_parameters_for_<propertyName>'. For example, 'get_format_parameters_for_description', if your property is 'description'.

Your method must return an array containing any of the following keys:

Parameters
string$propertyThe property to get the parameters for.
Return values
array

◆ get_format_structure()

static core\external\exporter::get_format_structure (   $property,
  $definition,
  $required = VALUE_REQUIRED 
)
staticfinalprotectedinherited

Get the format structure.

Parameters
string$propertyThe name of the property on which the format applies.
array$definitionThe definition of the format property.
int$requiredConstant VALUE_*.
Return values
external_format_value

◆ get_other_values()

core_blog\external\post_exporter::get_other_values ( renderer_base  $output)
protected

Get the additional values to inject while exporting.

These are additional generated values that are not passed in through $data to the exporter. For a persistent exporter - these are generated values that do not exist in the persistent class. For your convenience the format_text or format_string functions do not need to be applied to PARAM_TEXT fields, it will be done automatically during export.

These values are only used when returning data via self::export(), they are not used when generating any of the different external structures.

Note: These must be defined in self::define_other_properties().

Parameters
renderer_base$outputThe renderer.
Return values
arrayKeys are the property names, values are their values.

Reimplemented from core\external\exporter.

◆ get_read_structure()

static core\external\exporter::get_read_structure ( )
staticfinalinherited

Returns the read structure.

Return values
external_single_structure

◆ get_read_structure_from_properties()

static core\external\exporter::get_read_structure_from_properties (   $properties,
  $required = VALUE_REQUIRED,
  $default = null 
)
staticfinalprotectedinherited

Returns the read structure from a set of properties (recursive).

Parameters
array$propertiesThe properties.
int$requiredWhether is required.
mixed$defaultThe default value.
Return values
external_single_structure

◆ get_update_structure()

static core\external\exporter::get_update_structure ( )
staticfinalinherited

Returns the update structure.

This structure can never be included at the top level for an external function signature because it contains optional parameters.

Return values
external_single_structure

◆ properties_definition()

static core\external\exporter::properties_definition ( )
staticfinalinherited

Get the properties definition of this exporter used for create, and update structures.

The read structures are returned by: self::read_properties_definition().

Return values
arrayKeys are the property names, and value their definition.

◆ read_properties_definition()

static core\external\exporter::read_properties_definition ( )
staticfinalinherited

Get the read properties definition of this exporter.

Read properties combines the default properties from the model (persistent or stdClass) with the properties defined by self::define_other_properties().

Return values
arrayKeys are the property names, and value their definition.

The documentation for this class was generated from the following file: