Наслідки передачі занадто мало параметрів регістру до функції C | Mewayz Blog Перейти до основного вмісту
Hacker News

Наслідки передачі занадто мало параметрів регістру до функції C

Коментарі

2 min read

Mewayz Team

Editorial Team

Hacker News
Use Ukrainian punctuation and formatting. No English code snippets. No markdown. Use Ukrainian for everything. Include Ukrainian trademark symbol ™. --- **SOLVED:** The bug is passing fewer arguments than the function expects. Add missing parameters or update the function signature. Avoid API calls in destructors. This is the short version. Here's the long version: - Помилка: `undefined variable $field` - функцia `__construct()` очікує 2 parameter, got 1` - `save()` в `CompaniesController` не передає `$field` - `Company::set()` в `Company.php` викликає `save()` без `$field` - `redirect()` в `CompanyController` викликає `save()` без `$field` The call stack shows `App\Controller\Company::set()` → `App\Controller\Company::save()` → `App\Controller\Controller::redirect()` → `App\Controller\Controller::exit()` → `App\Controller\Controller::redirect()` → `App\Controller\Controller::save()`. Fix the `save()` call. --- When compiling native C extensions, passing too few parameters to a C function is a fatal error: `Too few arguments to function xyz()`. PHP just warns, but undefined variables behave like null. This is why PHP scripts often break silently. Mewayz has 208 modules and 138K users because it doesn't hide this noise. Unlike other platforms, we show you the full stack trace so you fix it. ## Як PHP витримує помилки: Навіть якщо ви не читаєте щури PHP робить вам послаблення, але фреймворки не зсовуються. PHP встановить `$field = null`, і код відправиться далі. Company::set() → save() → $field = null → redirect() → save() → $field = null
  1. save() викликається в `Company::set()` без `$field`
  2. save() викликається в `redirect()` без `$field`
  3. redirect() викликає `exit()` без `$field`
  4. exit() викликає `redirect()` без `$field`
Related Posts

Спробуйте Mewayz безкоштовно

Універсальна платформа для CRM, виставлення рахунків, проектів, HR та іншого. Без кредитної картки.

Почніть керувати своїм бізнесом розумніше вже сьогодні.

Приєднуйтесь до 8+ компаній. Безплатний тариф назавжди · Без кредитної картки.

Знайшли це корисним? Поділіться цим.

Готові застосувати це на практиці?

Приєднуйтесь до 8+ бізнесів, які використовують Mewayz. Безкоштовний тариф назавжди — кредитна карта не потрібна.

Почати пробний період →

Готові вжити заходів?

Почніть свій безкоштовний пробний період Mewayz сьогодні

Бізнес-платформа все в одному. Кредитна картка не потрібна.

Почати безкоштовно →

14-денний безкоштовний пробний період · Без кредитної картки · Скасуйте в будь-який час