private function runIfNotCached($variableName, callable $function)
    {
        if (null === $this->{$variableName}) {
            // Only assign that don't returns
            if (null !== $result = $function()) {
                $this->{$variableName} = $result;
            }
        }
    }
private function runIfNotCached($variableName, callable $function)
    {
        if (null === $this->{$variableName}) {
            // Only assign that don't returns
            if (null !== $result = $function()) {
                $this->{$variableName} = $result;
            }
        }
    }
private function runIfNotCached ( $ variableName , callable $ function ) { if ( null === $ this -> { $ variableName } ) { // Only assign that don't returns if ( null !== $ result = $ function ( ) ) { $ this -> { $ variableName } = $ result ; } } }
Check if a variable is empty and run function to

@param $variableName
@param callable     $function
Check if a variable is empty and run function to