<?php
namespace app\models;
use core\App;
use core\base\Model;
class VeteranRiddle extends Model
{
public $number;
public $last_number;
public $last_winner;
public $prize;
public function handler(User $user, $number)
{
if (!preg_match('~^[1-9]\d{8}$~', $number)) {
throw new App('Вы не ввели или неправильно ввели данные');
}
if ($number != $this->number) {
if (!$this->last_number) {
$this->last_number = $number;
$this->save();
throw new App('Вы не угадали, но ввели ближайшее число');
}
if ($number == $this->last_number) {
throw new App('Вы не угадали, но повторили ближайшее число');
}
if (abs($number - $this->number) < abs($this->last_number - $this->number)) {
$this->last_number = $number;
$this->save();
throw new App('Вы не угадали, но ввели новое ближайшее число');
}
throw new App('Вы не угадали, попробуйте ещё раз');
}
$this->number = mt_rand(100000000, 999999999);
$this->last_number = null;
$this->last_winner = $user->login;
$this->save();
$user->gold += $this->prize;
}
}
<?php
namespace app\controllers;
use app\models\VeteranRiddle;
use core\App;
class ClubController extends AppController
{
public function __construct($route)
{
parent::__construct($route);
$this->userArea();
}
public function indexAction()
{
$this->setTitle('Клуб офицеров');
$user = $this->user->getAfter();
$this->setVars(compact('user'));
}
public function veteranRiddleAction()
{
try {
$veteran_riddle = VeteranRiddle::findOne(1);
if ($this->formButton('veteran_riddle')) {
$number = filter_input(INPUT_POST, 'number');
$veteran_riddle->handler($this->user, $number);
$prize = $this->numericDeclension($veteran_riddle->prize, ['золото', 'золота', 'золота']);
$this->alert('success', 'Вы угадали число и получили ' . $prize);
}
} catch (App $app) {
$this->alert('danger', $app->getMessage());
}
$this->setTitle('Клуб офицеров: Загадка ветерана');
$user = $this->user->getAfter();
$this->setVars(compact('user', 'veteran_riddle'));
}
}
App::run(); // запустил скрипт
var_dump(new App()); // не вижу в распечатке ни одного своего статического свойства и метода
как ты вообще нашел вход в интернет с таким интеллектом то?
3х летней давности, но не хочешь это подтверждать
индексах+