summaryrefslogtreecommitdiff
path: root/tests/abstract.php
blob: 2b085a4c935af707f31ece54907914e53f582025 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

abstract class abs {

  public static $abs = [
    'one' => 10,
    'to' => [20, 220],
    'tree' => [30, [330, 3330]]
  ];
    
  public static function foo($who) {
    print_r(static::$abs[$who]);
  }

}

class Xtra extends abs {

  public static $abs = [
    'Oh' => 'Yoo hoo!',
    'my' => ['babe', 'be', 'mine']
  ];

  // overide method
  public static function foo($who) {
    print_r(['overiding', $who, 'my']);
  }
  
}

class Repo extends abs {
  public static $abs = [
    'one' => 1,
    'to' => [2, 22],
    'tree' => [3, [33, 333]]
  ];
}

class Neva extends abs {
  // use abstract's (default) array
}

Xtra::foo('Oh');
Repo::foo('to');
Neva::foo('tree');