Quais são as top 20 funções do php mais usadas pelos frameworks?

Read in English

Eu me questiono muito sobre o quão útil este post é. Mas eu acho que faz sentido compartilhá-lo e também o código que me ajudou a alcançar estes números. Muitíssimo obrigado pelo seu feedback, esta lista ficou muito mais massa do que eu poderia ter imaginado e eu estou muito contente de como ela foi recebida pela comunidade.

Este post também é pra sinalizar que eu só estive ocupado, mas não desisti do projeto do site 😉.

Abaixo eu mostro as top 20 funções mais utilizadas por frameworks php.

Você pode encontrar o código que usei pra obter estes dados neste repositório do github.

Eu coletei estes dados baseado nos seus branches principais na data de hoje. (16/06/2020)

Edit (2020-06-27): como solicitado, o framework Yii2 foi adicionado hoje e a lista toda foi atualizada. Então todo código analizado aqui se refere ao branch principal na data de hoje. Ao mesmo tempo, eu decidi também adicionar o PHPUnit e o WordPress na lista já que muitos de vocês apresentaram curiosidade sobre eles.

Sinta-se livre pra me pingar no twitter se você quiser ver outro framework nesta lista aqui! 😊

Pedido atentido: Top dos top!

Já que uma galera pediu, aqui vai uma lista das top 5 funções entre todas as listas aqui.

Eu vou pular o sprintf() porque o symfony sozinho joga o número pra 2_746 e ficaria meio injusto.

A lista compiladinha é a seguinte:

Função Utilizações
substr 3417
is_array 2523
strpos 1940
count 1903
in_array 1828

Eu devo dizer que tô bem impressionado sobre o quanto usamos o is_array() e count(). Eu testei em alguns repositórios que eu trabalho e em alguns o número de chamadas ao count() fica em torno de 3 mil.

Só coisa boa 🤣

Top 20 funções php utilizadas no WordPress

Função Utilizações
substr 2200
sprintf 1939
in_array 912
is_array 769
strpos 667
printf 633
define 584
str_replace 572
trim 566
count 556
strlen 541
preg_match 501
defined 432
function_exists 430
implode 417
preg_replace 412
explode 385
array_merge 372
array_keys 275
is_string 275

Top 20 funções php utilizadas no PHPUnit

Função Utilizações
sprintf 188
func_get_args 183
count 90
strpos 49
explode 43
trim 39
class_exists 39
get_class 39
assert 38
file_get_contents 34
implode 32
preg_match 32
substr 32
is_string 31
is_array 29
array_merge 26
strlen 26
in_array 23
str_replace 21
is_object 17

Top 20 funções php utilizadas no Symfony

Função Utilizações
sprintf 2746
substr 715
strpos 602
count 590
is_array 573
strlen 446
implode 438
class_exists 415
is_string 338
preg_match 338
in_array 336
str_replace 310
array_merge 271
array_keys 235
get_class 226
array_key_exists 193
explode 192
is_object 164
preg_replace 157
strtolower 154

Interessante notar que o sprintf é a função mais utilizada. Provavelmente por conta da forma como o coding standard do Symfony lida com o lançamento de exceções.

Exceções e mensagens de erro dever ser concatenadas utilizando sprintf;

Top 20 functions used by Yii2

Função Utilizações
is_array 300
implode 210
strpos 182
substr 172
array_merge 150
count 147
is_string 140
trim 118
preg_match 107
str_replace 104
get_class 104
call_user_func 103
in_array 91
array_keys 90
strncmp 77
explode 73
preg_replace 66
strlen 62
array_key_exists 62
reset 56

Top 20 funções php utilizadas pelo Laravel

Função Utilizações
is_null 450
is_array 250
array_merge 203
func_get_args 155
count 149
str_replace 148
is_string 132
in_array 126
explode 120
trim 110
method_exists 102
implode 93
get_class 86
function_exists 79
compact 75
array_map 72
is_numeric 71
sprintf 68
call_user_func 63
array_values 61

Top 20 funções php utilizadas pelo Amp

Função Utilizações
assert 27
range 26
microtime 17
array_shift 14
debug_backtrace 11
get_class 11
is_int 11
call_user_func_array 11
sprintf 10
is_resource 9
posix_kill 9
getmypid 9
count 8
usleep 6
fwrite 6
printf 6
stream_socket_pair 5
gc_collect_cycles 5
defined 5
substr 5

Eu acho meio injusto rodar esse programa no Amp ou Laminas porque eles são compostos por vários pacotes diferentes de uma vez. Então o repositório raiz não tá realmente pegando todas as dependências.

Mas eu ainda acho bacana a diferença na natureza dessas chamadas em comparação com os outros frameworks ^^.

Top 20 funções php utilizadas pelo Cake PHP

Função Utilizações
sprintf 480
is_array 367
strpos 235
implode 233
count 216
is_string 206
in_array 198
substr 172
explode 159
array_merge 139
str_replace 133
preg_match 108
strtolower 98
array_keys 97
strlen 95
array_filter 91
is_numeric 80
array_map 71
is_int 68
array_key_exists 67

Top 20 funções php utilizadas pelo Code Igniter 4

Função Utilizações
is_array 232
function_exists 182
strpos 172
str_replace 151
count 147
in_array 141
is_null 127
trim 125
strlen 110
is_string 105
explode 105
strtolower 104
preg_match 97
array_key_exists 91
substr 89
implode 86
rtrim 64
preg_replace 64
defined 60
define 57