-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__construct.php
More file actions
52 lines (39 loc) · 1.22 KB
/
__construct.php
File metadata and controls
52 lines (39 loc) · 1.22 KB
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
47
48
49
50
51
52
<?php
/*
* Copyright (C) 2024-2026 Katarzyna Krasińska
* PHP.lab - https://github.com/katheroine/php.lab
* Licensed under GPL-3.0 - see LICENSE.md
*/
class SomeClass
{
public static $instanceQuantity = 0;
public string $somePublicProperty;
protected string $someProtectedProperty;
private string $somePrivateProperty;
public function __construct(
string $somePublicValue = 'some public',
string $someProtectedValue = 'some protected',
string $somePrivateValue = 'some private'
) {
print(
"Magic method __construct\n\n"
);
self::$instanceQuantity++;
$this->somePublicProperty = $somePublicValue;
$this->someProtectedProperty = $someProtectedValue;
$this->somePrivateProperty = $somePrivateValue;
}
}
print('Instance quantity: ' . SomeClass::$instanceQuantity . PHP_EOL . PHP_EOL);
$someObject = new SomeClass();
print('Instance quantity: ' . SomeClass::$instanceQuantity . PHP_EOL . PHP_EOL);
var_dump($someObject);
print(PHP_EOL);
$otherObject = new SomeClass(
'pear',
'orange',
'banana'
);
print('Instance quantity: ' . SomeClass::$instanceQuantity . PHP_EOL . PHP_EOL);
var_dump($otherObject);
print(PHP_EOL);