我怎样才能在php中引用其他对象?

时间:2013-01-15 09:44:00

标签: java php

我是Php的新手,我来自Java。我有一个像Java这样的类:

class A {
}

class B{
}

在同一个包中。在类A内部,我已经定义了类型为B的数据类型:

   B bType;

我想在php中使用相同的行为。这可能吗?

有没有办法在php中“打包”我的课程?

提前致谢。

3 个答案:

答案 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)来检测某种数据类型。