Size: a a a

2020 March 23

U

User in PHP DevConf
Alex Molchanov
Что я пропустил или не понимаю в пыхе? вот у меня интерфейс, решил с декларацией типов "поиграться". interface RawItemInterface {
   public function setName(String $string); так он ищет String в нэймспейсе этом🙈 ну ок, думаю, ставлю \String и он у меня матерится, что я передаю не string 😂😁 где я тупой? вызываю вардамп - string
declare(strict_types=1); ?
источник

N

Nomi in PHP DevConf
String наверное думает что это класс и ищет класс
источник

AM

Aidyn Makhataev in PHP DevConf
String это алиас на string, алиасы в пхп в type hint не работают, тоже самое с boolean vs bool, и integer с int, и тд
источник

AM

Alex Molchanov in PHP DevConf
https://prnt.sc/rlaeb5 я смелкой тоже пробовал, та же ошибка, он её в нэймспейсе ищет. PHP 7.2
источник

Kайржан Турмагамбетов in PHP DevConf
источник

GS

Gabit SM in PHP DevConf
Alex Molchanov
https://prnt.sc/rlaeb5 я смелкой тоже пробовал, та же ошибка, он её в нэймспейсе ищет. PHP 7.2
посмотри свои namespace
источник

AM

Alex Molchanov in PHP DevConf
у класса который имплементит, конечно же функция один в один пределелена
источник

AM

Aidyn Makhataev in PHP DevConf
источник

AM

Alex Molchanov in PHP DevConf
ты про этот кусок? Aliases for the above scalar types are not supported.
источник

AM

Aidyn Makhataev in PHP DevConf
+
источник

AM

Alex Molchanov in PHP DevConf
странно, что я не обратил на это внимание когда сам читал эту страницу 😁  а на стэке я вот что нашел в ответах "As of PHP 7.0 declaring argument type as string, int, float, bool is supported. "
источник

AM

Alex Molchanov in PHP DevConf
и это, вероятно, отвечает на вопрос, когда я строку передаю. А как быть с нэймспейсом? что за прикол?
источник

AM

Alex Molchanov in PHP DevConf
Parser\Interfaces\RawItemInterface::setName(Parser\Interfaces\string $string)
источник

DL

Daniyar Lyakhov in PHP DevConf
Alex Molchanov
Что я пропустил или не понимаю в пыхе? вот у меня интерфейс, решил с декларацией типов "поиграться". interface RawItemInterface {
   public function setName(String $string); так он ищет String в нэймспейсе этом🙈 ну ок, думаю, ставлю \String и он у меня матерится, что я передаю не string 😂😁 где я тупой? вызываю вардамп - string
PHP 7.0+

public function setName(string $string) {
 // Код функции
}
источник

AM

Alex Molchanov in PHP DevConf
Daniyar Lyakhov
PHP 7.0+

public function setName(string $string) {
 // Код функции
}
так я же так и пишу, а вошибке пишет Parser\Interfaces\string
источник

AM

Alex Molchanov in PHP DevConf
почему?
источник

AD

Alexandr Dubickiy in PHP DevConf
Alex Molchanov
так я же так и пишу, а вошибке пишет Parser\Interfaces\string
потому-что ты юзаешь неймспейс?
источник

AM

Alex Molchanov in PHP DevConf
да
источник

AM

Alex Molchanov in PHP DevConf
он же должен быть в неймспейсе?! :)
источник

AD

Alexandr Dubickiy in PHP DevConf
Нет
источник