1. Go to this page and download the library: Download mordilion/configurable 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/ */
mordilion / configurable example snippets
use Mordilion\Configurable\Configurable;
use Mordilion\Configurable\Configuration\Configuration;
class Something
{
/**
* Use the following traits.
*/
use Configurable;
/**
* Default configuration settings.
*
* @var array
*/
private $defaults = array(
'setting1' => 'http://www.devjunkie.de',
'setting2' => null,
'setting3' => 12345
);
/**
* A public property.
*
* @var integer
*/
public $setting3;
/**
* Constructor.
*
* The provided $configuration will configure the object.
*
* @param mixed $configuration
*
* @return void
*/
public function __construct($configuration = null)
{
$this->defaults['setting2'] = new \DateTime('now', new \DateTimeZone('America/Chicago'));
$this->setConfiguration(new Configuration($this->defaults));
if ($configuration != null) {
$this->addConfiguration(new Configuration($configuration));
}
}
/**
* Sets the value for setting1.
*
* @param string $value
*
* @return Something
*/
public function setSetting1($value)
{
$this->configuration->set('setting1', $value);
return $this;
}
/**
* Sets the value for setting2.
*
* @param \DateTime $value
*
* @return Something
*/
public function setSetting2(\DateTime $value)
{
$this->configuration->set('setting2', $value); // or $this->configuration->setting2 = $value;
return $this;
}
}
use Mordilion\Configurable\Configurable;
class Something
{
/**
* Use the following traits.
*/
use Configurable;
/**
* A public property.
*
* @var mixed
*/
public $property1;
/**
* Routing requests directly to the configuration if needed.
*
* @param string $name
*
* @return mixed
*/
public function __get($name)
{
if (property_exists($this, $name) || isset($this->$name)) {
return $this->$name;
} else if (isset($this->configuration->$name)) {
return $this->configuration->$name;
}
return null;
}
/**
* Routing requests directly to the configuration if needed.
*
* @param string $name
* @param mixed $value
*
* @return void
*/
public function __set($name, $value)
{
if (property_exists($this, $name) || isset($this->$name)) {
$this->$name = $value;
} else if (isset($this->configuration->$name)) {
$this->configuration->$name = $value;
}
}
}
// { ... }
$object = new Something();
$obejct->setConfiguration(array('property1' => 'some text', 'property2' => 'some other text')); // simple use
echo $object->property1 . ' -- ' . $object->property2; // => "some text -- some other text"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.