Ras*_* DK 1 php oop composition
我是一名Java/C#程序员,正在尝试用PHP学习/完成一个项目.任何人都可以向我解释为什么"组合"在PHP 5.3中不起作用,因为人们会期望从面向对象的语言?
我试图研究这个问题,但由于术语混淆(使谷歌无用......)和糟糕的文档,我还没有找到任何有用的东西.
<?php /*PHP VERSION 5.3.3*/
class MyClassOne
{
public function myFunctionOne()
{
echo "<p> My Function One </p>";
}
}
class MyClassTwo
{
private $myClassOne;
function __constructor() // WRONG WRONG WRONG - __construct() - and it works.
{
$this->myClassOne = new MyClassOne();
}
public function myFunctionTwo()
{
echo "<p> My Function Two </p>";
$this->myClassOne->myFunctionOne(); // This crashes the "application"
}
}
$myclassone = new MyClassOne();
$myclassone->myFunctionOne();
$myclasstwo = new MyClassTwo();
$myclasstwo->myFunctionTwo();
/*
Expectet result:
My Function One
My Function Two
My Function One
Real result:
My Function One
My Function Two
(application/runtime crash)
*/
?>
Run Code Online (Sandbox Code Playgroud)
如果有人可以提供解释或向我展示此行为的相关文档,将非常感谢.