@SVaa

Почему некорректно работает класс?

class Company
{
  public $company;

  public function __construct($company = null)
  {
    if (preg_match("/[a-zA-Z\s]+/",$company)){
      $this->conmapy = $company;}
  }

  public function checkCompany(){
    if($this->company === null){
      echo 'Имя компании введено не коректо';
    }
  }
}
$obj = new Company($_POST['company']);
$obj->checkCompany();


class Agre
{
  public $agre;

  public function __construct($ager = null)
  {
    if (!empty($agre)){
      $this->agre = $agre;}
  }

    public function checkAgre(){
      if($this->agre === null){
        echo 'Не все поля заполены';
      }
    }
  }


При вводе любых значений в инпуты класа company name выдает ошибку.
Так же класс agre подразумевает проверку наличия галочки для ползовательского соглашения но даже когда она стоит выдает ошибку. Подскажите в чем ошибка ?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
У вас Company::__construct($company = null), $company может быть любой, и строка, и массив, и null, и объект исключения и т.д., вы ожидаете в проверке только строку, это не корректно.
С Agre - то же самое.

echo вы вообще зря используете, если что-то не так - бросайте исключение.

При вводе любых значений в инпуты класа company name выдает ошибку.

debug/var_dump в помощь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы