PHP Classes

File: src/Utils/Config/Json.php

Recommend this page to a friend!
  Classes of Thierry Feuzeu   Jaxon   src/Utils/Config/Json.php   Download  
File: src/Utils/Config/Json.php
Role: Class source
Content type: text/plain
Description: Class source
Class: Jaxon
Call PHP classes from JavaScript using AJAX
Author: By
Last change: Fixed translation keys in config.
Date: 3 years ago
Size: 1,223 bytes
 

Contents

Class file image Download
<?php

/**
 * Json.php - Jaxon config reader
 *
 * Read the config data from a JSON formatted config file.
 *
 * @package jaxon-core
 * @author Thierry Feuzeu <thierry.feuzeu@gmail.com>
 * @copyright 2016 Thierry Feuzeu <thierry.feuzeu@gmail.com>
 * @license https://opensource.org/licenses/BSD-3-Clause BSD 3-Clause License
 * @link https://github.com/jaxon-php/jaxon-core
 */

namespace Jaxon\Utils\Config;

class
Json
{
   
/**
     * Read options from a JSON formatted config file
     *
     * @param string $sConfigFile The full path to the config file
     *
     * @return array
     */
   
public static function read($sConfigFile)
    {
       
$sConfigFile = realpath($sConfigFile);
        if(!
is_readable($sConfigFile))
        {
            throw new \
Jaxon\Utils\Config\Exception\File(jaxon_trans('errors.file.access', ['path' => $sConfigFile]));
        }
       
$sFileContent = file_get_contents($sConfigFile);
       
$aConfigOptions = json_decode($sFileContent, true);
        if(!
is_array($aConfigOptions))
        {
            throw new \
Jaxon\Utils\Config\Exception\File(jaxon_trans('errors.file.content', ['path' => $sConfigFile]));
        }

        return
$aConfigOptions;
    }
}