I have a simple php structures.
class Ingredient and class Ingredients, i have this code:
class Ingredient
{
public function objectIsValid()
function __construct(){ $ingObject = new Ingredient(); }
ought to be
function __construct(){ $this->ingObject = new Ingredient(); }
In the first case you're setting a local variable, not a field, so it remains null. Then on the validateData you invoke a method on a null variable.
I'm assuming you snipped some code, because your Ingredient class doesn't make sense (there's a $validate variable there that isn't defined).