Да, это нормально и предназначено.
Ваш файл helpers.php
следует использовать для глобальных функций, которые просто не принадлежат ни к какой другой категории, например, для работы со строками, простых вычислений и т. Д. c.
Если вы заметили шаблон в своих функциях, вы, вероятно, захотите разделить его на собственный класс.
Поэтому, чтобы избежать некоторых ошибок, все вспомогательные функции упакованы следующим образом:
if(!function_exists('my_helper_func')) {
function my_helper_func($param) {
return $param;
}
}
Однако вы правы в том, что это может вступить в противоречие с другим кодом, если они применяют один и тот же материал. Вот почему Laravel недавно переместил все помощники строк и массивов в пакет composer, что теперь означает, что глобальная функция, такая как starts_with()
, должна вызываться как \Illuminate\Suppor\Str::startsWith()
.