Дмитрий, да, есть такое. Но не забывайте о том, что данное решение было набросано за пару минут и за полетом мысли не всегда можно успеть. Страшного в этом моменте ничего нет, на работоспособность кода это не повлияет , естественно, в данном случае можно было использовать ctype_digit. Если у вас сходу получается код, который не нужно рефакторить - я вас поздравляю. Хотя, и у вас бывают такие моменты, пример выдержки из вашего недавнего ответа:
Dubrovin, вам плохо? Вы попросили разницу между вызовами closure и callable - вам ее предоставили.
Вы же опять начали нести бред - протестировали создание объектов вместо вызова, и начинаете нести чушь. Естественно, вы не посчитали то, что саму функцию для callabe также придется объявлять.
Если у вас будет 100-1000 add_action на странице:
1. Если все это будет объявляться вручную в коде - вы сам себе враг
2. Врятли, у вам будет 1000 раз вызываться разные action, в реальности их будет намного меньше.
3. Скорее-всего, объявление через callable будет также динамичным, и мы получаем такое:
Опять же - разница настолько незначительная, что ее можно просто не брать в расчет, но и тут - я не делал для callabe реального создания функций, а только создавал переменную со строкой, в реальности - все это будет, примерно, одинаково. Вы уж определитесь - или вы не понимаете простых вещей, и слушаете ответы на то, о чем спрашиваете, либо просто не задавайте вопросов, раз знаете все лучше других.
Dubrovin, уверен. Вы даже не понимаете о чем говорите. Что closure, что callable будет вызываться через call_user_func|call_user_func_array. Собственно, если вы не можете написать такой простой тест за пару минут и проверить самостоятельно, то с вами даже нету смысла разговаривать.
И 20мс разницы на 1млн операций, это не оптимизация, а лишняя трата времени.
Dubrovin, каких новичков? Если данный человек новичок, то вам просто нечего делать на этом ресурсе, у вас знаний гораздо меньше, ибо даже новичок в php догадается о том, что callable и closure будут вызываться в данном месте одинаково.
Dubrovin, какая трудоемкость? От того - передадите вы туда callable или Closure - ничего не изменится, будет вызываться все тот-же call_user_func($payload, ...). Если вы не можете проверить с каким типом аргумента данная функция вызывается быстрее - вам никто не поможет... Потратить несколько дней на то, чтобы поменять callable на closure? - Проблема не в тесте, а в коде.
Самое простое - @click="upload" заменить на @click.prevent="upload". Но вообще - у вас не объявлены некоторые переменные и реактивность может просто не работать, т.к реактивность не обрабатывает добавление свойства объекту, без .$set
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Правильнее бы выглядела:
А еще лучше:
Так мы сможем прямо контролировать тип передаваемых аргументов. Все мы не без греха.