我是Php的新手,我来自Java。我有一个像Java这样的类:
class A {
}
class B{
}
在同一个包中。在类A
内部,我已经定义了类型为B
的数据类型:
B bType;
我想在php中使用相同的行为。这可能吗?
有没有办法在php中“打包”我的课程?
提前致谢。
答案 0 :(得分:0)
您可以使用名称空间(打包)。如果你真的想要打包那么你应该看看http://php.net/manual/en/book.phar.php(但我想直到现在,没有人真的这样做。)
您可以在函数中强制使用类型,但不能在变量中强制使用。
function (Array $bla, YourClass $test) {
/** ... **/
}
希望有所帮助
答案 1 :(得分:0)
在A
类中定义:
$BClass = new B(arguments for contructor);
$BClass = new B; //without contructor
答案 2 :(得分:0)
PHP不支持静态类型,但您可以使用类型提示在方法中定义数据类型。例如......
<?php
class A
{
public function test(B $b) // Must be a method within B or a new exception will be thrown.
{
echo 1 + $b->test(); // adds one plus the return value of $b->test() from the B class.
}
}
class B
{
public function test()
{
return 1;
}
}
class C
{
public function test()
{
$b = new B; // initializes the B class.
return $b->test(); // calls the test method within the B class.
}
}
$a = new A;
$a->test(new B); // returns 2
您还可以使用gettype($a)
来检测某种数据类型。