Símbolos PHP: guia de sintaxe para iniciantes e profissionais

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Símbolos PHP: guia pela selva da sintaxe

\n\n

Você já olhou para um código PHP de outra pessoa e se sentiu como se estivesse lendo hieróglifos antigos? Setas, dois pontos, pontos de interrogação — tudo isso passa diante dos seus olhos, e o cérebro se recusa a entender o que está acontecendo. Familiar? Não se preocupe, você não está sozinho. O tópico "o que significa este símbolo em PHP" é um dos mais populares no Stack Overflow, e hoje vamos organizar tudo.

\n\n

Neste artigo, compilamos um guia completo de símbolos PHP — desde operadores básicos até construções engenhosas da sintaxe moderna. Você aprenderá a ler qualquer código PHP com facilidade. Vamos lá!

\n\n
\n\n

1. Seta -> (acesso a objeto)

\n\n

O convidado mais frequente em qualquer projeto PHP. A seta é usada para acessar propriedades e métodos de um objeto. Se você vir $obj->prop — significa que estamos acessando a propriedade prop do objeto $obj.

\n\n
<?php\nclass User {\n    public $name = 'Alexey';\n    public function greet() {\n        return "Olá, {$this->name}!";\n    }\n}\n\n$user = new User();\necho $user->name;      // Alexey\necho $user->greet();   // Olá, Alexey!\n?>
\n\n

Observe: dentro da classe, usamos $this->name — é a mesma seta, mas apontando para o objeto atual.

\n\n

2. Dois pontos duplos :: (Operador de Resolução de Escopo)

\n\n

Dois pontos duplos são o operador de resolução de escopo. Ele é usado para acessar propriedades estáticas, métodos e constantes de uma classe. Lembre-se: se você vir :: — significa que está acessando algo que pertence à classe, não à sua instância.

\n\n
<?php\nclass Config {\n    const SITE_NAME = 'PythonLib';\n    public static $version = '1.0';\n    public static function info() {\n        return self::SITE_NAME . ' v' . self::$version;\n    }\n}\n\necho Config::SITE_NAME;  // PythonLib\necho Config::$version;   // 1.0\necho Config::info();     // PythonLib v1.0\n?>
\n\n

Aqui, self:: é uma referência à classe atual de dentro dela. E externamente, escrevemos NomeDaClasse::.

\n\n

3. Operador de coalescência nula (??)

\n\n

Um dos operadores mais úteis, introduzido no PHP 7. Ele permite lidar elegantemente com casos em que uma variável pode não estar definida ou ser igual a null. A expressão $a ?? $b retorna $a se existir e não for null, caso contrário — $b.

\n\n
<?php\n$username = $_GET['user'] ?? 'Convidado';\n// Em vez da construção verbosa:\n// $username = isset($_GET['user']) ? $_GET['user'] : 'Convidado';\n\n// Pode ser encadeado:\n$name = $firstName ?? $nickname ?? 'Anônimo';\n?>
\n\n

4. Operador nave espacial <=> (Spaceship)

\n\n

Operador de comparação de três vias. Retorna -1, 0 ou 1 dependendo se o valor da esquerda é menor, igual ou maior que o da direita. Ideal para ordenação.

\n\n
<?php\necho 1 <=> 2;  // -1 (1 é menor que 2)\necho 2 <=> 2;  // 0  (são iguais)\necho 3 <=> 2;  // 1  (3 é maior que 2)\n\n// Exemplo com ordenação de array de objetos\nusort($users, function($a, $b) {\n    return $a->age <=> $b->age;\n});\n?>
\n\n

5. Reticências ... (Operador Spread / Variádico)

\n\n

Três pontos podem significar duas coisas. A primeira — desempacotamento de array (spread) no PHP 7.4+. A segunda — indicação de um número variável de argumentos de função (variádico).

\n\n
<?php\n// 1. Spread para arrays\n$parts = ['maçã', 'pera'];\n$fruits = ['banana', ...$parts, 'laranja'];\n// ['banana', 'maçã', 'pera', 'laranja']\n\n// 2. Argumentos variádicos\nfunction sum(...$numbers) {\n    return array_sum($numbers);\n}\necho sum(1, 2, 3, 4); // 10\n?>
\n\n

6. Ponto de interrogação com dois pontos ?: (Ternário)

\n\n

Operador ternário — uma forma abreviada de if-else. $a ? $b : $c retorna $b se

Blogs

Book Recommendations