openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

Data.class.php (807B)


      1 <?php
      2 namespace dsl\standard;
      3 
      4 use dsl\context\BaseScriptableObject;
      5 
      6 class Data extends BaseScriptableObject
      7 {
      8 	/**
      9 	 * @var mixed|null
     10 	 */
     11 	private $value;
     12 
     13 	/**
     14 	 * StandardArray constructor.
     15 	 * @param $value
     16 	 */
     17 	public function __construct($value=null)
     18 	{
     19 		$this->value = $value;
     20 	}
     21 
     22 	public function getData() {
     23 
     24 		return array_map(
     25 
     26 			function( $val ) {
     27 				if   ( is_array($val) )
     28 					return new Data( $val );
     29 				else
     30 					return $val;
     31 			}
     32 			,$this->value);
     33 	}
     34 
     35 
     36 	public function __toString()
     37 	{
     38 		return '['.implode(',',array_map(
     39 
     40 				function( $val ) {
     41 					if   ( is_object($val) )
     42 						return (new Data( get_object_vars($val) ))->__toString();
     43 					if   ( is_array($val) )
     44 						return (new Data( $val ))->__toString();
     45 					else
     46 						return $val;
     47 				}
     48 				,$this->value)).']';
     49 	}
     50 }