| 1 | <?php  | 
            ||
| 7 | abstract class Transform  | 
            ||
| 8 | { | 
            ||
| 9 | protected $bulider;  | 
            ||
| 10 | |||
| 11 | public function __construct(Builder $builder)  | 
            ||
| 15 | |||
| 16 | public function getBuilder()  | 
            ||
| 20 | |||
| 21 | /**  | 
            ||
| 22 | * Impelment in all discrete classes  | 
            ||
| 23 | * @param array $config input  | 
            ||
| 24 | * @return array output config  | 
            ||
| 25 | */  | 
            ||
| 26 | abstract public function transform($config);  | 
            ||
| 27 | }  | 
            ||
| 28 | 
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: