Size: a a a

2020 May 17

T

TradersVE in Yii Framework 3
final class ActionTest extends \PHPUnit\Framework\TestCase
{
   public function test(): void
   {
       $callable = [A::class, 'doIt'];
       \var_dump(\is_callable($callable));
       die;
   }
}

class A
{
   public function doIt()
   {
       echo 'done';
   }
}
источник

T

TradersVE in Yii Framework 3
false
источник

T

TradersVE in Yii Framework 3
public function test(): void
   {
       $callable = [A::class, 'doIt'];
       var_dump(is_callable($callable));
       die;
   }
источник

T

TradersVE in Yii Framework 3
Work the problem its is_callable
источник

DS

Dmitriy S in Yii Framework 3
TradersVE
final class ActionTest extends \PHPUnit\Framework\TestCase
{
   public function test(): void
   {
       $callable = [A::class, 'doIt'];
       \var_dump(\is_callable($callable));
       die;
   }
}

class A
{
   public function doIt()
   {
       echo 'done';
   }
}
Do you see this  behavior change in the php8 change log/list?
источник

T

TradersVE in Yii Framework 3
Let's search
источник

AM

Alexander Makarov in Yii Framework 3
> . Removed ability to call non-static methods statically.
источник

AM

Alexander Makarov in Yii Framework 3
I think that's it
источник

AM

Alexander Makarov in Yii Framework 3
We've used a hacky way for this check. It's for a static method but we're then calling instance method.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
We've used a hacky way for this check. It's for a static method but we're then calling instance method.
What do you propose to use instead?
источник

AM

Alexander Makarov in Yii Framework 3
источник

А

Алексей R in Yii Framework 3
Можно проверить, если оба элемента массива строка, то implode("::", array) и вызвать is-callable
источник

А

Алексей R in Yii Framework 3
И дальше как положено
источник

DS

Dmitriy S in Yii Framework 3
источник

AM

Alexander Makarov in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
Можно проверить, если оба элемента массива строка, то implode("::", array) и вызвать is-callable
Это вообще о чем?
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
Можно проверить, если оба элемента массива строка, то implode("::", array) и вызвать is-callable
Не прокатит. Статического же метода нет.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Это вообще о чем?
Не знаю, я с телефона. Походу неправильно понял
источник

AM

Alexander Makarov in Yii Framework 3
https://3v4l.org/VLL4i даже так
источник

DS

Dmitriy S in Yii Framework 3
Ок, где эту функцию/метод разместить? Я эту проверку много где в своих проектах юзаю и наверняка и здесь уже не раз использовал, в роутере так точно. Неплохо было бы иметь для этого готовое решение совместимое с пхп8
источник