Лучше делать так, чтобы потом было легко отловить исключение:
<?php
class BalanceException extends \Exception { } // Ну или BankAccountException, зависит уже от конкретной ситуации
class BankAccount {
...
public function withdrawBalance($amount) {
if ($amount > $this->balance) {
throw new BalanceException('Amount greater than available balance.');
}
$this->balance -= $amount;
}
...
}
Можно захватить переменную извне тремя способами, в статье не используется ни один из них:
1. Лямбда с use, как описал выше;
2. Вариант nokimaro с global внутри функции;
3. Использовать $GLOBALS, но это дичь какая-то:
Прошу прощения, нечаянно отправил комментарий, не могу изменить его уже.
Хотя вот так прокатит: $name = 'Ryan McDermott';
$splitIntoFirstAndLastName = function () use (&$name) {
$name = preg_split('/ /', $name);
};
$splitIntoFirstAndLastName();
Мне действительно нравится новый Gmail. Тем более он лучше старого, Вы просто не привыкли. Просто пользуйтесь им и он Вам понравится даже больше чем старый.
ИМХО.
Можно захватить переменную извне тремя способами, в статье не используется ни один из них:
1. Лямбда с use, как описал выше;
2. Вариант nokimaro с global внутри функции;
3. Использовать $GLOBALS, но это дичь какая-то:
Чтобы не соврать, проверил все варианты (и вариант из статьи) в PHP 5.6 и 7.0, а также прочёл документацию, вдруг забыл что.
php.net/manual/en/language.variables.scope.php
Хотя вот так прокатит:
$name = 'Ryan McDermott';
$splitIntoFirstAndLastName = function () use (&$name) {
$name = preg_split('/ /', $name);
};
$splitIntoFirstAndLastName();
var_dump($name); // ['Ryan', 'McDermott'];
Но такой код ещё нужно додуматься написать
Тут чушь написана. Такое просто не захватит переменную $name.
`
$name = 'Ryan McDermott';
function splitIntoFirstAndLastName() {
$name = preg_split('/ /', $name);
}
splitIntoFirstAndLastName();
var_dump($name); // ['Ryan', 'McDermott'];
// Не ['Ryan', 'McDermott'], а string(14) 'Ryan McDermott'
`
Хотя вот так прокатит:
Естественно, многоагентные системы
Подскажите что-нибудь интересное про МАС. Желательно, чтобы ещё и примеры клёвые были
Вот ключевая ошибка.
ИМХО.
Простите, ссылка не прошла =(