class A{
public $val = 10;
public function method1(){
$m2 = new B($this);
return $m2->method2();
}
}
class B {
public function __construct($obj) {$this->obj = $obj;}
public function method2(){
return $this->obj->val + 1;
}
}
$a = new A();
echo $a->method1();
влиться в некий практический проект, где собрались совсем начинающие, может быть с 1-2 челиками уровнем повыше
const nested = {
id: 1,
children: [
{ id: 2 },
{ id: 3,
children: [{ id: 5 }, { id: 6 }]
},
{ id: 4 }
]
}
const flatten = function(obj) {
const array = Array.isArray(obj) ? obj : [obj];
return array.reduce(function(acc, value) {
acc.push(value);
if (value.children) {
acc = acc.concat(flatten(value.children));
delete value.children;
}
return acc;
}, []);
}
flatten(nested); // => [ { id: 1 }, { id: 2 }, { id: 3 }, { id: 5 }, { id: 6 }, { id: 4 } ]
spl_autoload_register(function (String $class) {
$sourcePath = '/home/user/example/new/';
$replaceDirectorySeparator = str_replace('\\', DIRECTORY_SEPARATOR, $class);
$filePath = $sourcePath . $replaceDirectorySeparator . '.php';
if (file_exists($filePath)) {
require($filePath);
}
});