. */ namespace SP\Infrastructure\Common\Repositories; /** * Trait RepositoryItemTrait */ trait RepositoryItemTrait { /** * Crear un hash con el nombre del elemento. * * Esta función crear un hash para detectar nombres de elementos duplicados mediante * la eliminación de carácteres especiales y capitalización */ protected function makeItemHash(string $name): string { $charsSrc = ['.', ' ', '_', ', ', '-', ';', '\'', '"', ':', '(', ')', '|', '/']; return sha1( strtolower( str_replace($charsSrc, '', $name) ) ); } /** * Devuelve una cadena con los parámetros para una consulta SQL desde un array * * @param array $items * @param string $placeholder Cadena a utilizar para los parámetros * * @return string */ protected function buildParamsFromArray(array $items, string $placeholder = '?'): string { return implode( ',', array_fill(0, count($items), $placeholder) ); } }