Pros

  1. Won’t break the app.
  2. Null is equal to “nothing”, so it is expected in the event that a commodity is not found.

Cons

  1. End-coder has to manually and OPTIONALLY check for NULL or unexpected, and bad things can happen that won’t be detectable so much until runtime, potentially far away from the function call… Such as, if they try to access $commodiyStore->quantity, the app will crash in a totally non-recoverable “ACCESS PROPERTY ON NON-OBJECT” error, which to the end user will look like a WHITE SCREEN OF DEATH, which is, of course, very bad.

  2. That’s the only con i think of…