I have two code snippets (regarding the static
keyword) which I expect them to have same output, but actually the outputs are different.
The question is why?
Snippet 1
class base
{
public static $var = 1;
}
class sub extends base
{
public static $var = 2;
}
echo base::$var; // Outputs 1
1
Snippet 2
class base2
{
public static $var2 = 1;
}
class sub2 extends base2
{
}
sub2::$var2 = 2;
echo base2::$var2; // Outputs 2
See Question&Answers more detail:os2