Вход Регистрация
Файл: vendor/whichbrowser/parser/src/Model/Primitive/Base.php
Строк: 60
<?php

namespace WhichBrowserModelPrimitive;

/**
 * @internal
 */

class Base
{
    
/**
     * Set the properties of the object the the values specified in the array
     *
     * @param  array|null   An array, the key of an element determines the name of the property
     */
    
public function __construct($defaults null)
    {
        if (
is_array($defaults)) {
            
$this->set($defaults);
        }
    }


    
/**
     * Set the properties of the object the the values specified in the array
     *
     * @param  array  $properties  An array, the key of an element determines the name of the property
     *
     * @internal
     */
    
public function set($properties)
    {
        foreach (
$properties as $k => $v) {
            
$this->{$k} = $v;
        }
    }


    
/**
     * Get a string containing a JavaScript representation of the object
     *
     * @internal
     *
     * @return string
     */

    
public function toJavaScript()
    {
        
$lines = [];

        foreach (
get_object_vars($this) as $key => $value) {
            if (!
is_null($value)) {
                
$line $key ": ";

                if (
$key == 'version') {
                    
$line .= 'new Version({ ' $value->toJavaScript() . ' })';
                } elseif (
$key == 'family') {
                    
$line .= 'new Family({ ' $value->toJavaScript() . ' })';
                } elseif (
$key == 'using') {
                    
$line .= 'new Using({ ' $value->toJavaScript() . ' })';
                } else {
                    switch (
gettype($value)) {
                        case 
'boolean':
                            
$line .= $value 'true' 'false';
                            break;
                        case 
'string':
                            
$line .= '"' addslashes($value) . '"';
                            break;
                        case 
'integer':
                            
$line .= $value;
                            break;
                    }
                }

                
$lines[] = $line;
            }
        }

        return 
implode(", "$lines);
    }
}
Онлайн: 2
Реклама