static
имеет два различных применения:
1.Для классов:
Сделать метод или свойство доступными без необходимости создания экземпляра класса.
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
2.Для функций:
Статическая переменная существует только в локальной области функций, но не теряет своего значения, когда выполнение программы выходит из этой области.
<?php
function test()
{
static $a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 1
test(); // 2
Безstatic:
<?php
function test()
{
$a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 0
test(); // 0
Рекомендуется использовать его, когда вы можете, вместо того, чтобы заполнять глобальную область с мусором.