cakephp/cakephp — pull request #2287 by AD7six (2013-11-08 23:22:56+00:00)
Title: remove short-syntax finder delegation

There's a significant risk of creating ambiguity whereby `Table->foo()` means any of:

$Table->foo(); // implemented on the table class, expected, but is nolonger a finder
$Table->find('foo'); // table finder, expected
$Behavior->find('foo'); // behavior finder, expected
$Behavior->foo(); // implemented on a loaded behavior, UNexpected

While it would be convenient most of the time, it creates the following possibility:

$Table->foo()->bar()->zum();
$Table->addBehavior('Something'); (a behavior implementing function foo)
$Table->foo()->bar()->zum();
Fatal call to method bar on a none object

Whereas this does not:

$Table->find('foo')->bar()->zum();
$Table->addBehavior('Something'); (a behavior implementing function foo)
$Table->find('foo')->bar()->zum();

Therefore it's best IMO to nip this in the bud and remove this feature.