If you use variables as a objects, you can make a fake empty class with properties and phpDOC for each property, declare the object of that class, and netbeans will autocomplete the properties (keys of the object).
<?php
namespace Models\Geo;
/**
* Results from GeoNames.
* Dummy class for autocompletition only
* See http://trac/wiki/Geo
*
* @property string $countryName
* @property string $adminCode1
* ...
* @property string $population
*
* @category BNT
* @package Library
*/
class GeoNamesResult
{
}
?>
Then in your netbeans code
<?php
/* @var $obj \Models\Geo\GeoNamesResult */
$obj-> // will autocomplete with countryName, adminCode1 etc...
?>
Of course if a function is returning $obj and it has the phpDoc @return, there is no need to use the comment @var