Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
xmldb_field Class Reference
Inheritance diagram for xmldb_field:

Public Member Functions

 __construct ($name, $type=null, $precision=null, $unsigned=null, $notnull=null, $sequence=null, $default=null, $previous=null)
 Creates one new xmldb_field.
 
 arr2xmldb_field ($xmlarr)
 Load data from XML to the table.
 
 calculateHash ($recursive=false)
 This function calculate and set the hash of one xmldb_field.
 
 checkName ()
 This function will check if one key name is ok or no (true/false) only lowercase a-z, 0-9 and _ are allowed.
 
 checkNameValues ($arr)
 This function will check that all the elements in one array have a correct name [a-z0-9_].
 
 comma2array ($string)
 Returns one array of elements from one comma separated string, supporting quoted strings containing commas and concat function calls.
 
 debug ($message)
 This function will perform the central debug of all the XMLDB classes being called automatically every time one error is found.
 
 findObjectInArray ($objectname, $arr)
 Returns the position of one object in the array.
 
 fixPrevNext (&$arr)
 Reconstruct previous/next attributes.
 
 getComment ()
 This function returns the comment of one xmldb_object.
 
 getDecimals ()
 Get the decimals.
 
 getDefault ()
 Get the default.
 
 getError ()
 This function will return the error detected in the object.
 
 getHash ()
 This function returns the hash of one xmldb_object.
 
 getLength ()
 Get the length.
 
 getName ()
 This function will return the name of the xmldb_object.
 
 getNext ()
 This function will return the name of the next xmldb_object.
 
 getNotNull ()
 Get the notnull.
 
 getPHP ($includeprevious=true)
 Returns the PHP code needed to define one xmldb_field.
 
 getPrevious ()
 This function will return the name of the previous xmldb_object.
 
 getSequence ()
 Get the sequence.
 
 getType ()
 Get the type.
 
 getUnsigned ()
 Get the unsigned.
 
 getXMLDBFieldType ($type)
 This function returns the correct XMLDB_TYPE_XXX value for the string passed as argument.
 
 getXMLDBTypeName ($type)
 This function returns the correct name value for the XMLDB_TYPE_XXX passed as argument.
 
 hasChanged ()
 This function returns true/false, if the xmldb_object has changed.
 
 isLoaded ()
 This function returns true/false, if the xmldb_object has been loaded.
 
 orderElements ($arr)
 This function will order all the elements in one array, following the previous/next rules.
 
 readableInfo ()
 Shows info in a readable format.
 
 set_attributes ($type, $precision=null, $unsigned=null, $notnull=null, $sequence=null, $default=null, $previous=null)
 Set all the attributes of one xmldb_field.
 
 setChanged ($changed=true)
 This function will set the changed field of the xmldb_object.
 
 setComment ($comment)
 This function will set the comment of the xmldb_object.
 
 setDecimals ($decimals)
 Set the field decimals.
 
 setDefault ($default)
 Set the field default.
 
 setFromADOField ($adofield)
 This function will set all the attributes of the xmldb_field object based on information passed in one ADOField.
 
 setHash ($hash)
 This function will set the hash of the xmldb_object.
 
 setLength ($length)
 Set the field length.
 
 setLoaded ($loaded=true)
 This function will set the loaded field of the xmldb_object.
 
 setName ($name)
 This function will set the name field of the xmldb_object.
 
 setNext ($next)
 This function will set the next of the xmldb_object.
 
 setNotNull ($notnull=true)
 Set the field notnull.
 
 setPrevious ($previous)
 This function will set the previous of the xmldb_object.
 
 setSequence ($sequence=true)
 Set the field sequence.
 
 setType ($type)
 Set the field type.
 
 setUnsigned ($unsigned=true)
 Set the field unsigned.
 
 validateDefinition (xmldb_table $xmldb_table=null)
 Validates the field restrictions.
 
 xmlOutput ()
 This function will output the XML text for one field.
 

Public Attributes

maximum const CHAR_MAX_LENGTH = 1333
 Note:
 
max const FLOAT_MAX_LENGTH = 20
 length of floats
 
maximum const INTEGER_MAX_LENGTH = 20
 number of digits of integers
 
int const NAME_MAX_LENGTH = 63
 Note:
 
max const NUMBER_MAX_LENGTH = 38
 length (precision, the total number of digits) of decimals
 

Protected Attributes

bool $changed
 was object changed
 
string $comment
 comment on object
 
int $decimals
 number of decimals
 
mixed $default
 default value
 
string $errormsg
 error message
 
string $hash
 hash of object
 
int $length
 size of field
 
bool $loaded
 is it loaded yet
 
string $name
 name of obejct
 
string $next
 
bool $notnull
 is null forbidden? XMLDB_NOTNULL
 
string $previous
 
bool $sequence
 use automatic counter
 
int $type
 XMLDB_TYPE_ constants.
 

Constructor & Destructor Documentation

◆ __construct()

xmldb_field::__construct ( $name,
$type = null,
$precision = null,
$unsigned = null,
$notnull = null,
$sequence = null,
$default = null,
$previous = null )

Creates one new xmldb_field.

Parameters
string$nameof field
int$typeXMLDB_TYPE_INTEGER, XMLDB_TYPE_NUMBER, XMLDB_TYPE_CHAR, XMLDB_TYPE_TEXT, XMLDB_TYPE_BINARY
string$precisionlength for integers and chars, two-comma separated numbers for numbers
bool$unsignedXMLDB_UNSIGNED or null (or false)
bool$notnullXMLDB_NOTNULL or null (or false)
bool$sequenceXMLDB_SEQUENCE or null (or false)
mixed$defaultmeaningful default o null (or false)
string$previous

Member Function Documentation

◆ arr2xmldb_field()

xmldb_field::arr2xmldb_field ( $xmlarr)

Load data from XML to the table.

Parameters
array$xmlarr
Return values
mixed

◆ calculateHash()

xmldb_field::calculateHash ( $recursive = false)

This function calculate and set the hash of one xmldb_field.

Parameters
bool$recursive
Return values
void,modifies\$this-,>hash

◆ checkName()

xmldb_object::checkName ( )
inherited

This function will check if one key name is ok or no (true/false) only lowercase a-z, 0-9 and _ are allowed.

Return values
bool

◆ checkNameValues()

xmldb_object::checkNameValues ( $arr)
inherited

This function will check that all the elements in one array have a correct name [a-z0-9_].

Parameters
array$arr
Return values
bool

◆ comma2array()

xmldb_object::comma2array ( $string)
inherited

Returns one array of elements from one comma separated string, supporting quoted strings containing commas and concat function calls.

Parameters
string$string
Return values
array

◆ debug()

xmldb_object::debug ( $message)
inherited

This function will perform the central debug of all the XMLDB classes being called automatically every time one error is found.

Apart from the main actions performed in it (XMLDB agnostic) it looks for one function called xmldb_debug() and invokes it, passing both the message code and the whole object. So, to perform custom debugging just add such function to your libs.

Call to the external hook function can be disabled by request by defining XMLDB_SKIP_DEBUG_HOOK

Parameters
string$message

◆ findObjectInArray()

xmldb_object::findObjectInArray ( $objectname,
$arr )
inherited

Returns the position of one object in the array.

Parameters
string$objectname
array$arr
Return values
mixed

◆ fixPrevNext()

xmldb_object::fixPrevNext ( & $arr)
inherited

Reconstruct previous/next attributes.

Parameters
array$arr
Return values
booltrue if $arr modified

◆ getComment()

xmldb_object::getComment ( )
inherited

This function returns the comment of one xmldb_object.

Return values
string

◆ getDecimals()

xmldb_field::getDecimals ( )

Get the decimals.

Return values
string

◆ getDefault()

xmldb_field::getDefault ( )

Get the default.

Return values
mixed

◆ getError()

xmldb_object::getError ( )
inherited

This function will return the error detected in the object.

Return values
string

◆ getHash()

xmldb_object::getHash ( )
inherited

This function returns the hash of one xmldb_object.

Return values
string

◆ getLength()

xmldb_field::getLength ( )

Get the length.

Return values
int

◆ getName()

xmldb_object::getName ( )
inherited

This function will return the name of the xmldb_object.

Return values
string

◆ getNext()

xmldb_object::getNext ( )
inherited

This function will return the name of the next xmldb_object.

Return values
string

◆ getNotNull()

xmldb_field::getNotNull ( )

Get the notnull.

Return values
bool

◆ getPHP()

xmldb_field::getPHP ( $includeprevious = true)

Returns the PHP code needed to define one xmldb_field.

Parameters
bool$includeprevious
Return values
string

◆ getPrevious()

xmldb_object::getPrevious ( )
inherited

This function will return the name of the previous xmldb_object.

Return values
string

◆ getSequence()

xmldb_field::getSequence ( )

Get the sequence.

Return values
bool

◆ getType()

xmldb_field::getType ( )

Get the type.

Return values
int

◆ getUnsigned()

xmldb_field::getUnsigned ( )

Get the unsigned.

Deprecated
since moodle 2.3
Return values
bool

◆ getXMLDBFieldType()

xmldb_field::getXMLDBFieldType ( $type)

This function returns the correct XMLDB_TYPE_XXX value for the string passed as argument.

Parameters
string$type
Return values
int

◆ getXMLDBTypeName()

xmldb_field::getXMLDBTypeName ( $type)

This function returns the correct name value for the XMLDB_TYPE_XXX passed as argument.

Parameters
int$type
Return values
string

◆ hasChanged()

xmldb_object::hasChanged ( )
inherited

This function returns true/false, if the xmldb_object has changed.

Return values
bool

◆ isLoaded()

xmldb_object::isLoaded ( )
inherited

This function returns true/false, if the xmldb_object has been loaded.

Return values
bool

◆ orderElements()

xmldb_object::orderElements ( $arr)
inherited

This function will order all the elements in one array, following the previous/next rules.

Parameters
array$arr
Return values
array|bool

◆ readableInfo()

xmldb_field::readableInfo ( )

Shows info in a readable format.

Return values
string

Reimplemented from xmldb_object.

◆ set_attributes()

xmldb_field::set_attributes ( $type,
$precision = null,
$unsigned = null,
$notnull = null,
$sequence = null,
$default = null,
$previous = null )

Set all the attributes of one xmldb_field.

Parameters
int$typeXMLDB_TYPE_INTEGER, XMLDB_TYPE_NUMBER, XMLDB_TYPE_CHAR, XMLDB_TYPE_TEXT, XMLDB_TYPE_BINARY
string$precisionlength for integers and chars, two-comma separated numbers for numbers
bool$unsignedXMLDB_UNSIGNED or null (or false)
bool$notnullXMLDB_NOTNULL or null (or false)
bool$sequenceXMLDB_SEQUENCE or null (or false)
mixed$defaultmeaningful default o null (or false)
string$previous

◆ setChanged()

xmldb_object::setChanged ( $changed = true)
inherited

This function will set the changed field of the xmldb_object.

Parameters
bool$changed

◆ setComment()

xmldb_object::setComment ( $comment)
inherited

This function will set the comment of the xmldb_object.

Parameters
string$comment

◆ setDecimals()

xmldb_field::setDecimals ( $decimals)

Set the field decimals.

Parameters
string

◆ setDefault()

xmldb_field::setDefault ( $default)

Set the field default.

Parameters
mixed$default

◆ setFromADOField()

xmldb_field::setFromADOField ( $adofield)

This function will set all the attributes of the xmldb_field object based on information passed in one ADOField.

Parameters
database_column_info$adofield
Return values
void,sets\$this-,>type

◆ setHash()

xmldb_object::setHash ( $hash)
inherited

This function will set the hash of the xmldb_object.

Parameters
string$hash

◆ setLength()

xmldb_field::setLength ( $length)

Set the field length.

Parameters
int$length

◆ setLoaded()

xmldb_object::setLoaded ( $loaded = true)
inherited

This function will set the loaded field of the xmldb_object.

Parameters
bool$loaded

◆ setName()

xmldb_object::setName ( $name)
inherited

This function will set the name field of the xmldb_object.

Parameters
string$name

◆ setNext()

xmldb_object::setNext ( $next)
inherited

This function will set the next of the xmldb_object.

Parameters
string$next

◆ setNotNull()

xmldb_field::setNotNull ( $notnull = true)

Set the field notnull.

Parameters
bool$notnull

◆ setPrevious()

xmldb_object::setPrevious ( $previous)
inherited

This function will set the previous of the xmldb_object.

Parameters
string$previous

◆ setSequence()

xmldb_field::setSequence ( $sequence = true)

Set the field sequence.

Parameters
bool$sequence

◆ setType()

xmldb_field::setType ( $type)

Set the field type.

Parameters
int$type

◆ setUnsigned()

xmldb_field::setUnsigned ( $unsigned = true)

Set the field unsigned.

Deprecated
since moodle 2.3
Parameters
bool$unsigned

◆ validateDefinition()

xmldb_field::validateDefinition ( xmldb_table $xmldb_table = null)

Validates the field restrictions.

The error message should not be localised because it is intended for developers, end users and admins should never see these problems!

Parameters
xmldb_table$xmldb_tableoptional when object is table
Return values
stringnull if ok, error message if problem found

Reimplemented from xmldb_object.

◆ xmlOutput()

xmldb_field::xmlOutput ( )

This function will output the XML text for one field.

Return values
string

Member Data Documentation

◆ CHAR_MAX_LENGTH

maximum const xmldb_field::CHAR_MAX_LENGTH = 1333

Note:

  • Oracle: VARCHAR2 has a limit of 4000 bytes
  • SQL Server: NVARCHAR has a limit of 40000 chars
  • MySQL: VARCHAR 65,535 chars
  • PostgreSQL: no limit

length of text field

◆ NAME_MAX_LENGTH

int const xmldb_field::NAME_MAX_LENGTH = 63

Note:

  • PostgreSQL has a limit of 63 ascii chars (bytes) for table names. Others have greater limits.

max length of field names.


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