PHP Velho Oeste 2024

Dicas

Para escrever código que não sofrerá problemas no futuro, é recomendado que você não coloque variáveis, funções ou classes no espaço global. Isto evitará colisões de nome com código de terceiros assim como futuros acréscimos à linguagem.

Uma forma de prevenir colisões de nomes em funções e classes é colocá-las em seus próprios namespaces.

<?php

namespace MyProject;

function
my_function() {
return
true;
}

\MyProject\my_function();

This still needs you to keep track of already used namespaces, but once you have decided on a namespace you will be using you can add all functions and classes to it without having to think about conflicts again.

Também é considerada uma boa prática limitar o número de variáveis alocadas no escopo global de forma a evitar colisões de nome com código de terceiros.

Nota: Variable scoping

Por causa das regras de escopo do PHP as variáveis definidas dentro de funções e métodos não estão no escopo global e não podem conflitar com variáveis definidas nesse escopo.

add a note add a note

User Contributed Notes 4 notes

up
27
willian at gt44 dot com
10 years ago
I don't think it makes sense nowadays. We have namespaces now!
up
1
kanone at rogers dot com
9 years ago
The javascript community has developed a strong cultural bias against adding anything to the global namespace.  (See e.g. Addy Osmani's article on Essential JavaScript Namespacing Patterns .)  Namespaces have been available in JS for many years and are ubiquitous.  There is also a great deal of freely available tutorial material for the interested reader.
up
1
mestresan AT gmail DOT com
9 years ago
Even though nowadays we do have namespaces, for the cases in which the user chooses to not use namespaces theses tips should be followed.
up
1
earnie at users dot sourceforge dot net
10 years ago
@willian at gt44 dot com: What about clashes of the namespace?  It is still good advice to check for previously used names before assigning anything to the global namespace.
To Top