TGViewer
adelf on programming adelf on programming @adelf_on_programming · 1.57K subscribers
Post #150 2.7K
Исследую сейчас исходники Livewire4. Прекрасный пример, когда две совсем разные логики пытаются всунуть в один метод.

Тут можно добавить компонент либо на основе класса, либо на основе вью. И эти две логики не имеют ничего общего.

Весь этот код буквально плачет и кричит: тут должны быть два метода! addClassComponent() и addViewComponent()

public function addComponent($name = null, $viewPath = null, $class = null): void
{
// Support $name being used a single argument for class-based components...
if ($name !== null && $class === null && $viewPath === null) {
$class = $name;

$name = null;
}

if (is_object($class)) {
$class = get_class($class);
}

// Support $class being used a single named argument for class-based components...
if ($name === null && $class !== null && $viewPath === null) {
$name = $this->generateHashName($class);
}

if ($name == null && $class === null && $viewPath !== null) {
throw new \Exception('You must provide a name when registering a single/multi-file component');
}

if ($name) {
if ($class !== null) $this->classComponents[$name] = $this->normalizeClassName($class);
elseif ($viewPath !== null) $this->viewComponents[$name] = $viewPath;
}
}
  • 🤮 27
  • 👍 12
  • 💯 10
  • 😢 1
  • 💩 1
More from @adelf_on_programming
  1. Sep 10, 2026Новый дивный мир Пришел issue, в котором юзер жалуется на какое-то несоответствие логики.…
  2. Aug 11, 2026Podlodka #489 – Laravel Laravel любят за скорость разработки, ругают за магию и регулярно…
  3. Jun 4, 2026Под прошлым постом развернулась дискуссия, которая в очередной раз показала, что в програм…
  4. Jun 1, 2026Часто слышу мнение в стиле "неймспейс это тоже часть имени класса. Используйте его" И, как…
  5. Apr 20, 2026Хранение дефолтных значений Для новой фичи мне нужно хранить токен Sentry и домен, где это…
  6. Dec 9, 2025Вчера вышел PhpStorm 2025.3 со встроенной Laravel Idea на борту. JetBrains даже небольшую…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →