public function find($item = null, $array = null)
    {
        if(is_null($item)) return null;

        if(strpos($item, '.')) {
            $arr = explode('.', $item);
            if(count($arr) > 2 ) {
                $itemToSearch = join('.', array_slice($arr, 1));
            }
            else {
                $itemToSearch = $arr[1];
            }
            return $this->findItemIn($itemToSearch, $arr[0]);
        }
        else {
            $array = !is_null($array) ? $array : $this->settings;
            foreach ($array as $key => $value) {
                if($key === $item) {
                    $this->currentItem = $value;
                    $this->found = true;
                    break;
                }
                else {
                    if(is_array($value)) {
                        $this->find($item, $value);
                    }
                }
            }
        }

        if(!$this->found) {
            return false;
        }
        return $this->currentItem;
    }
public function find($item = null, $array = null)
    {
        if(is_null($item)) return null;

        if(strpos($item, '.')) {
            $arr = explode('.', $item);
            if(count($arr) > 2 ) {
                $itemToSearch = join('.', array_slice($arr, 1));
            }
            else {
                $itemToSearch = $arr[1];
            }
            return $this->findItemIn($itemToSearch, $arr[0]);
        }
        else {
            $array = !is_null($array) ? $array : $this->settings;
            foreach ($array as $key => $value) {
                if($key === $item) {
                    $this->currentItem = $value;
                    $this->found = true;
                    break;
                }
                else {
                    if(is_array($value)) {
                        $this->find($item, $value);
                    }
                }
            }
        }

        if(!$this->found) {
            return false;
        }
        return $this->currentItem;
    }
public function find ( $ item = null , $ array = null ) { if ( is_null ( $ item ) ) return null ; if ( strpos ( $ item , '.' ) ) { $ arr = explode ( '.' , $ item ) ; if ( count ( $ arr ) > 2 ) { $ itemToSearch = join ( '.' , array_slice ( $ arr , 1 ) ) ; } else { $ itemToSearch = $ arr [ 1 ] ; } return $ this -> findItemIn ( $ itemToSearch , $ arr [ 0 ] ) ; } else { $ array = ! is_null ( $ array ) ? $ array : $ this -> settings ; foreach ( $ array as $ key => $ value ) { if ( $ key === $ item ) { $ this -> currentItem = $ value ; $ this -> found = true ; break ; } else { if ( is_array ( $ value ) ) { $ this -> find ( $ item , $ value ) ; } } } } if ( ! $ this -> found ) { return false ; } return $ this -> currentItem ; }
Recursively finds an item from the settings array

@param  string   $item
@param  array   $array
@return object/$this
Recursively finds an item from the settings array