I\'m using the PHP script with Mink+Zombie driver (install as on nodejs cannot find module 'zombie' with PHP mink) from here: PHP Mink/Zombie - page visit returns st
First thing to do in order to avoid fatal exceptions is to implement/use methods with proper error handling. You can create a method to check if the element is not null and if it is to throw a custom exception.
For example in your case findField method will return null if the element is not found, in this case setValue will e used on a non-object resulting in a fatal error.
An example of exception handling is:
public function fillWith($locator, $text){
$element = $this->getSession()->getPage()->find("xpath", $locator);
if($element === null){
throw new Exception("Element $locator not found");
}else{
$element->setValue($text);
}
}