PHP code example of justenough / craft-siteawareconfig
1. Go to this page and download the library: Download justenough/craft-siteawareconfig 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/ */
justenough / craft-siteawareconfig example snippets
// Craft's multi-environment config syntax is (optionally) supported
'*' => [
'staticValue' => 'I am the same for every site',
'myCustomConfigKey' => [
// value for the default site
'default' => 'defaultValue',
// value for another site
'aSecondSite' => 'alternateValue',
],
// be careful with nested array values - per site values
// are replaced, not merged. e.g. [1] below
'aDeepNestedKey' => [
'default' => [
'apiKey' => 'API_KEY_FOR_DEFAULT_SITE',
'apiSecret' => 'API_SECRET_FOR_DEFAULT_SITE',
'deeper' => [
'foo' => 'bar',
'baz' => 'cux',
],
],
// [1] Because we've overwritten aDeepNestedKey for this site,
// craft.siteAwareConfig.forSite('aSecondSite').aDeepNestedKey.deeper
// will throw a missing key Error in Twig / UnknownPropertyException
// in PHP
'aSecondSite' => [
'apiKey' => 'API_KEY_FOR_A_SECOND_SITE',
'apiSecret' => 'API_SECRET_FOR_A_SECOND_SITE',
],
],
// Callable example
'myDynamicKey' => function (string $siteHandle = ''): int {
return $siteHandle[0] == 'd' ? 1 : 2;
},
],
// overide a setting in dev environment only
'dev' => [
'myCustomConfigKey' => [
'aSecondSite' => 'aDevOnlyValue',
],
// multi-environment configs are merged, not replaced,
// so in dev craft.siteAwareConfig.forSite('default').aDeepNestedKey.deeper
// will work here
'aDeepNestedKey' => [
'default' => [
'apiKey' => 'API_KEY_FOR_DEFAULT_SITE',
],
],
],
use justenough\siteawareconfig\Plugin as SiteAwareConfigPlugin;
$currentSiteConfig = SiteAwareConfigPlugin::getInstance()->config->config;
$otherSiteConfig = SiteAwareConfigPlugin::getInstance()->config->forSite('siteHandle');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.