Actually, in CriteriaElement, setLimit, setStart, setSort and setOrder do not returns anything, so when you define a criteria, you to do simething like this :
$criteria = new Criteria('my_field', 0, '<>');
$criteria->setSort($sort);
$criteria->setOrder($order);
$criteria->setStart($start);
$criteria->setLimit($limit);
If those functions were chainable, it will be easier and shorter to code criterias like this :
$criteria = new Criteria('my_field', 0, '<>');
$criteria->setSort($sort)
>setOrder($order);
>setStart($start);
->setLimit($limit);
The methods just need to return $this, that's the only change !
I've been too quickly, the code should looks like this :
$criteria = new Criteria('my_field', 0, '<>');
$criteria->setSort($sort)
->setOrder($order);
->setStart($start);
->setLimit($limit);
Two minus were missing