“Vision without action is daydream. Action without vision is nightmare.”
– Japanese Proverb


Quickie OOP

Just dropping quickly here, and wanting to share a little and yet important part of software development, in web or in any platform.

I believe it is always nice to have a property in your object (or class) to hold the latest error encountered or latest command executed. Sort of like this

class test1
{
  var $last_error;
  var $last_cmd;
  // some other properties here
  function test1()
  {
    // other codes here
  }
  /**
   * the "why" for this class
   */
  function execute()
  {
    $command = $this->get_command();
    $this->last_cmd = $command;
    system($command, $res);
    if ($res)
    {
      $this->last_error = $res;
      return false;
    }
    return true;
  }
}

I realize the need for these two properties when I was debugging the CMS I was working on. It involved GraphicsMagick to process resizing, cropping and sharpening image, and executed thru PHP exec or system functions. I forgot why I arrived at using exec over the other. What I did was include these two properties in the log thru a logger method of another class in the system, which indeed, helped me get back to my sanity :D .

Leave a Reply