Я пытаюсь написать хороший код, и часть этого типа намекает на то, чтобы упростить работу по линии и заставить ожидания. Это может показаться немного ухищренным, но это скорее доказательство концепции для меня. Я пишу класс для разделения TSV-файла на вкладках и вставки в мою модель. В моем конструкторе я просил: Illuminate\Database\Eloquent\Model На что я прошел: […]
У меня есть класс «Коллекция», который имеет метод добавления. Метод add должен принимать только объекты. Итак, это желаемое поведение: $x=5;//arbitrary non-object $obj=new Foo; //arbitrary object $collection=new Collection; $collection->add($obj); //should be acceptable arg, no matter the actual class $collection->add($x); //should throw an error because $x is not an object Согласно руководству PHP, можно ввести методы typehint, […]
Поэтому я знаю, что могу возвращать тип намека на php7. Я могу сделать подсказку с объектом: function getUser($pdo, $username) : User { } где Пользователь является возвращаемым объектом. Однако, если пользователь не найден в SQL, возвращающий 'false' вместо объекта User дает: Uncaught TypeError: возвращаемое значение UserFind :: findUser () должно быть экземпляром User, boolean возвращено […]
Я пытаюсь реализовать Type Hinting PHP5 на одном из моих классов, class ClassA { public function method_a (ClassB $b) {} } class ClassB {} class ClassWrong{} Правильное использование: $a = new ClassA; $a->method_a(new ClassB); ошибка изготовления: $a = new ClassA; $a->method_a(new ClassWrong); Обрезаемая фатальная ошибка: аргумент 1, переданный ClassA :: method_a (), должен быть экземпляром […]