Объекты PHP и их функции - PullRequest
       3

Объекты PHP и их функции

4 голосов
/ 11 октября 2010

Я сейчас использую PHP 5 и очень стараюсь использовать ООП в PHP 5. Я столкнулся с проблемой. У меня есть несколько классов и несколько функций внутри них. Немногие функции требуют передачи аргументов, которые являются объектами тех классов, которые я написал сам. Аргументы не строго напечатаны, я заметил. Есть ли способ сделать его строго типизированным, чтобы во время компиляции я мог использовать Intellisense?

Пример:

class Test
{
   public $IsTested;

   public function Testify($test)
   {
      //I can access like $test->$IsTested but this is what not IDE getting it
      //I would love to type $test-> only and IDE will list me available options including $IsTested
   }
}

Ответы [ 3 ]

3 голосов
/ 11 октября 2010

Ну, вы могли бы использовать подсказку типа , чтобы сделать то, что вы хотите:

public function Testify(Test $test) {

}

Либо, или блок:

/**
 * @param Test $test The test to run
 */

Это зависит отIDE, и как он выбирает подсказки типа ... Я знаю, что NetBeans достаточно умен, чтобы подобрать подсказку типа Testify(Test $test) и позволить вам перейти оттуда, но некоторые другие IDE не настолько умны ... Так чтоот вашей IDE действительно зависит, какой ответ даст вам автодополнение ...

1 голос
/ 11 октября 2010

$test не является переменной класса.Может быть, вы хотите $this?

$this->IsTested;

ИЛИ

public function Testify(Test $test)
{
   $test->IsTested;
}
1 голос
/ 11 октября 2010

Я собирался дать простое "Нет"ответьте, а затем нашли раздел по Type Hinting в документации по PHP.

Я предполагаю, что это ответ.намекает, хотя.Это все зависит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...