Собственно, подскажите как поправить? Не работает автокомлпит:
Есть следующие файлы:
$administrators = new administrators();
Вот тут нет автокомплита:
$administrators->fetch()->... (нифига не предлагает)
Есть следующие файлы:
PHP:
<?php
abstract class objects {
protected $_objects = array();
public function create() {
$this->_objects[] = $object = $this->object();
$object->setSQLTable($this->table);
return $object;
}
public function load($filter = array(), $value = false) {
$this->_objects = array();
if ($filter && !is_array($filter)) {
$filter = array($filter => $value);
}
$sql = new sql();
$sql->setTable($this->table())
->setFilter($filter)
->query();
while ($row = $sql->fetch()) {
$object = $this->create();
$object->setAttributes($row);
}
return $this;
}
public function fetch() {
return array_shift($this->_objects);
}
public function find($attribute, $value, $eq = false) {
$method = "get".$attribute;
if (!method_exists($this->object(), $method)) {
trigger_error("Ошибка. Метод {$method} объекта {$this->object()} не сущевствует", E_USER_ERROR);
}
foreach ($this->_objects as $object) {
if ($eq) {
if ($object->$method() === $value) {
return $object;
}
} else {
if ($object->$method() == $value) {
return $object;
}
}
}
return false;
}
public function sizeof() {
return sizeof($this->_objects);
}
public function length() {
return $this->sizeof();
}
public function get($index = false) {
if ($index !== false) {
return isset($this->_objects[$index]) ? $this->_objects[$index] : false;
}
return $this->_objects;
}
}
?>
<?php
class administrators extends objects implements iAdministrators {
public function table() {
return "administrators";
}
public function object() {
return new administrator();
}
}
?>
<?php
interface iAdministrators {
/**
* Enter description here ...
* @return administrator
*/
public function object();
/**
* Enter description here ...
* @return string
*/
public function table();
/**
* Enter description here ...
* @return administrator
*/
public function create();
/**
* Enter description here ...
* @param unknown_type $filter
* @param unknown_type $value
* @return administrators
*/
public function load($filter = array(), $value = false);
/**
* Enter description here ...
* @return administrator
*/
public function fetch();
/**
* Enter description here ...
* @param unknown_type $attribute
* @param unknown_type $value
* @param unknown_type $eq
* @return administrator
*/
public function find($attribute, $value, $eq = false);
/**
* Enter description here ...
* @return integer
*/
public function sizeof();
/**
* Enter description here ...
* @return interger
*/
public function length();
/**
* Enter description here ...
* @param unknown_type $index
* @return administrator
*/
public function get($index = false);
}
?>
<?php
class administrator extends object {
public $id = null;
public $login = null;
public $email = null;
public $password = null;
public $isAdministrator = 0;
public $secret = null;
protected $SQLAttributes = array('id', 'login', 'email', 'password', 'isAdministrator', 'secret');
private $_accessModules = false;
public function setId($id) {
$this->id = $id;
return $this;
}
public function setLogin($login) {
$this->login = $login;
return $this;
}
public function setEmail($email) {
$this->email = $email;
return $this;
}
public function setIsAdministrator($isAdministrator) {
$this->isAdministrator = $isAdministrator ? 1 : 0;
return $this;
}
public function setPassword($password) {
$this->password = crypt($password);
return $this;
}
public function setSecret($secret) {
$this->secret = $secret;
return $this;
}
public function getId() {
return $this->id;
}
public function getLogin() {
return $this->login;
}
public function getEmail() {
return $this->email;
}
public function getPassword() {
return $this->getPassword();
}
public function getIsAdministrator() {
return $this->isAdministrator;
}
public function getSecret() {
return $this->secret;
}
public function accessModules() {
return $this->_accessModules;
}
public function save() {
if ($this->check()) {
return false;
};
if ($this->getId()) {
$this->update();
} else {
$this->add();
}
return true;
}
public function check() {
return array();
}
}
?>
Вот тут нет автокомплита:
$administrators->fetch()->... (нифига не предлагает)