PHP code example of opensky / runtime-config-bundle
1. Go to this page and download the library: Download opensky/runtime-config-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
opensky / runtime-config-bundle example snippets
// app/AppKernel.php
public function registerBundles()
{
return [
new OpenSky\Bundle\RuntimeConfigBundle\OpenSkyRuntimeConfigBundle(),
];
}
// src/MyBundle/Entity/Parameter.php
namespace MyBundle\Entity\Parameter;
use Doctrine\ORM\Mapping as ORM;
use OpenSky\Bundle\RuntimeConfigBundle\Model\Parameter as BaseParameter;
use Symfony\Bridge\Doctrine\Validator\Constraints as AssertORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;
/**
* @ORM\Entity(repositoryClass="MyBundle\Entity\ParameterRepository")
* @ORM\Table(
* name="parameters",
* uniqueConstraints={
* @ORM\UniqueConstraint(name="name_unique", columns={"name"})
* }
* )
* @Assert\Callback(methods={"validateValueAsYaml"})
*/
class Parameter extends BaseParameter
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
private $id;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @param ExecutionContextInterface $context
*/
public function validateValueAsYaml(ExecutionContextInterface $context)
{
try {
Yaml::parse($this->value);
} catch (ParseException $e) {
$context->buildViolation('This value is not valid YAML syntax')
->atPath('value')
->addViolation();
}
}
}
// src/MyBundle/Entity/ParameterRepository.php
namespace MyBundle\Entity\Parameter;
use OpenSky\Bundle\RuntimeConfigBundle\Entity\ParameterRepository as BaseParameterRepository;
use Symfony\Component\Yaml\Yaml;
class ParameterRepository extends BaseParameterRepository
{
public function getParametersAsKeyValueHash()
{
return array_map(function($v) {
return Yaml::parse($v);
}, parent::getParametersAsKeyValueHash());
}
}
// src/MyBundle/Entity/Parameter.php
namespace MyBundle\Entity\Parameter;
use Doctrine\ORM\Mapping as ORM;
use OpenSky\Bundle\RuntimeConfigBundle\Model\Parameter as BaseParameter;
use Symfony\Bridge\Doctrine\Validator\Constraints as AssertORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
/**
* @ORM\Entity(repositoryClass="MyBundle\Entity\ParameterRepository")
* @ORM\Table(
* name="parameters",
* uniqueConstraints={
* @ORM\UniqueConstraint(name="name_unique", columns={"name"})
* }
* )
* @Assert\Callback(methods={"validateValueAsJson"})
*/
class Parameter extends BaseParameter
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
private $id;
/**
* @var mixed
*
* @ORM\Column(type="json", nullable=true)
*/
protected $value;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @param ExecutionContextInterface $context
*/
public function validateValueAsYaml(ExecutionContextInterface $context)
{
@json_encode($this->value);
if (json_last_error() !== JSON_ERROR_NONE) {
$context->buildViolation('This value is not valid JSON')
->atPath('value')
->addViolation();
}
}
}
// src/MyBundle/Entity/ParameterRepository.php
namespace MyBundle\Entity\Parameter;
use OpenSky\Bundle\RuntimeConfigBundle\Entity\ParameterRepository as BaseParameterRepository;
class ParameterRepository extends BaseParameterRepository
{
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.