If I understand your question correctly the answer is NO.
Namespaces are language feature and works this way. The use Phalcon\Mvc\Model\Criteria
only declares that you'll use Criteria
class from Phalcon\Mvc\Model\
namespace. So in your code you can write new Criteria()
to create object instead of using its' full name new \Phalcon\Mvc\Model\Criteria()
.
You must declare each class in every file which instantiates object of that class so autoloader will know in which file given class exists.