[英]How to use a php class in another class
我搜索了很多答案,但只发现了关于是否可以在另一门课中写一门课的问题,以及类似的问题。
因此,第一个文档是:
文档1:
class MyClass1 {
private $myAttribute1;
__construct(){
this->myAttribute1 = 'blabla';
}
}
现在调用同一文档
$myObject1 = new MyClass1();
在NetBeans中完全可以正常工作。
同时,当我构建另一个文档时,将其命名为Document2,并在那里构建另一个类,该类旨在使用MyClass1
,Netbeans告诉我存在一个问题:
书2:
myClass2 {
$myAttribute2 = new myClass1();
}
因此这在我的NetBeans中不起作用,只是告诉我“意外的新消息”。 由于这种方式不起作用,如何在myClass2
使用MyClass1
?
PHP仅允许将某些表达式用作类属性的初始化器值:
class foo {
$x = 7; //fine, constant value
$y = 7+7; // only fine in recent PHPs
$z = new bar(); // illegal in all PHP versions
}
7+7
版本仅在最新的PHP版本中受支持,并且仅允许使用那些表达式的结果值可以在编译时完全计算出的表达式。 由于new
无法在编译时执行,只能在执行时执行,因此这是一个完全永久的非法表达。
这意味着对于只能在运行时计算的“复杂”表达式,您必须在构造函数中执行该表达式:
class foo {
public $z;
function __construct(){
$z = new bar();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.