04/01_staticd.php
1 <html>
2 <body>
3 <?php
4
5 class CA
6 {
7 public $x="?";
8 public static $p="??";
9 public function CA($x)
10 {
11 $this->x=$x;
12 echo "CA::CA($x)<br />\r\n";
13 }
14 public static function S ()
15 {
16 // echo "CA::S1: $this->x <br />\n"; // Chyba: Using $this when not in object context
17 echo "CA::S2:". CA::$p." <br />\n";
18 echo "CA::S3:". self::$p." <br />\n";
19 }
20
21 public function F ()
22 {
23 echo "CA::F1: $this->x <br />\n";
24 echo "CA::F2:". self::$p." <br />\n";
25 echo "CA::F3:". CA::$p." <br />\n";
26 // self::S(); // aj toto ide
27 }
28 }
29
30 class CB extends CA
31 {
32 public function CB($x)
33 {
34 $this->x=$x;
35 echo "CB::CB($x)<br />\r\n";
36 }
37 }
38
39 echo "<b>Vytvorenie objektu \$A</b><br />\n";
40 $A = new CA("A");
41 CA::$p="Bum";
42 echo "<b>Volanie \$A->S()</b><br />\n";
43 $A->S();
44 echo "<b>Volanie \$A->F()</b><br />\n";
45 $A->F();
46 echo "<b>Volanie CA::S()</b><br />\n";
47 CA::S();
48 // CA::F(); // Chyba: Using $this when not in object context
49
50 echo "<br /><b>Vytvorenie objektu \$B</b><br />\n";
51 $B = new CB("B");
52 CB::$p="Juj";
53 echo "<b>Volanie \$B->S()</b><br />\n";
54 $B->S();
55 echo "<b>Volanie \$B->F()</b><br />\n";
56 $B->F();
57 echo "<b>Volanie CB::S()</b><br />\n";
58 CB::S();
59
60 echo "<br /><b>Overenie hodnôt premenných</b><br />\n";
61 echo "\$A->x=$A->x CA::\$p=".CA::$p."<br />\n";
62 echo "\$B->x=$B->x CB::\$p=".CB::$p."<br />\n";
63
64
65 ?>
66 </body>
67 </html>