Magento source model conventions

Viewed 2287

I often see two different methods in a source model that appear to do the same thing:

class Mypackage_Mymodule_Model_Source_Generic {

  /* I sometimes see this method */
  public function getAllOptions() {}

  /* And other times this method */
  public function toOptionArray() {}

}

In my experience, there's no rhyme or reason as to when which method name is employed; they both appear to return the same data structure.

Is there something I'm missing?

Is there semantic link between a source model's toOptionArray and Varien_Data_Collection::toOptionArray?

1 Answers
Related