Example #1
0
 /**
  * Returns table name by presenter i.e.: BaseTestPresenter => base_test
  * @return string
  */
 public function getTableName()
 {
     $name = parent::getName();
     if ($pos = strpos($name, ':')) {
         $name = substr($name, $pos + 1);
     }
     return Strings::toSnakeCase($name);
 }
Example #2
0
 /**
  * Convert array keys to snake case
  * @param array|\Traversable $array
  */
 private function convertToSnake(&$array)
 {
     if ($array instanceof \Traversable) {
         $array = iterator_to_array($array);
     }
     foreach (array_keys($array) as $key) {
         $value =& $array[$key];
         unset($array[$key]);
         $transformedKey = Strings::toSnakeCase($key);
         if (is_array($value) || $value instanceof \Traversable) {
             $this->convertToSnake($value);
         }
         $array[$transformedKey] = $value;
         unset($value);
     }
 }