CompilesJson.php
TLDR
This file is part of the Illuminate\View\Compilers\Concerns namespace and contains the CompilesJson trait. This trait provides a method for compiling JSON statements into valid PHP code.
Methods
compileJson
This method takes a JSON statement as input and compiles it into valid PHP code. It uses the json_encode()
function to encode the JSON, and the resulting PHP code is echoed out.
Classes
None
<?php
namespace Illuminate\View\Compilers\Concerns;
trait CompilesJson
{
/**
* The default JSON encoding options.
*
* @var int
*/
private $encodingOptions = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT;
/**
* Compile the JSON statement into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileJson($expression)
{
$parts = explode(',', $this->stripParentheses($expression));
$options = isset($parts[1]) ? trim($parts[1]) : $this->encodingOptions;
$depth = isset($parts[2]) ? trim($parts[2]) : 512;
return "<?php echo json_encode($parts[0], $options, $depth) ?>";
}
}