for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Chuckbe\Chuckcms\Models;
use Eloquent;
class Module extends Eloquent
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'slug', 'hintpath', 'path', 'type', 'version', 'author', 'json',
];
* The attributes that are castable.
protected $casts = [
'json' => 'array',
public function getSettingsAttribute()
if (array_key_exists('settings', $this->json)) {
json
Chuckbe\Chuckcms\Models\Module
__get
return $this->json['settings'];
}
if (!array_key_exists('admin', $this->json)) {
return [];
if (!array_key_exists('settings', $this->json['admin'])) {
return $this->json['admin']['settings'];
public function getSetting(string $string)
$setting = $this->resolveSetting($string);
return !is_null($setting) ? $setting : null;
private function resolveSetting($var)
$setting = $this->settings;
settings
$split = explode('.', $var);
foreach ($split as $value) {
if (array_key_exists($value, $setting)) {
$setting = $setting[$value];
} else {
return null;
return $setting;