Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在php中引用其他对象?_Java_Php - Fatal编程技术网

Java 如何在php中引用其他对象?

Java 如何在php中引用其他对象?,java,php,Java,Php,我是Php新手,来自Java。我有一个Java类,如下所示: class A { } class B{ } 在同一个包裹里。在类A中,我定义了类型B的数据类型,如: B bType; 我希望在php中有相同的行为。这样做可能吗 有没有办法用php“打包”我的类 提前感谢。您可以使用名称空间(即打包)。如果你真的想打包,那么你应该看看(但我想直到现在,还没有人真的这么做) 可以强制函数中的类型,但不能强制变量 function (Array $bla, YourClass $test)

我是Php新手,来自Java。我有一个Java类,如下所示:

class A {
}

class B{
}
在同一个包裹里。在类
A
中,我定义了类型
B
的数据类型,如:

   B bType;
我希望在php中有相同的行为。这样做可能吗

有没有办法用php“打包”我的类

提前感谢。

您可以使用名称空间(即打包)。如果你真的想打包,那么你应该看看(但我想直到现在,还没有人真的这么做)

可以强制函数中的类型,但不能强制变量

function (Array $bla, YourClass $test) {
   /** ... **/
}

希望它能帮助在
类中定义:

$BClass = new B(arguments for contructor);
$BClass = new B; //without contructor

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

Ref:PHP没有静态类型,不能声明属性的类型。但是,可以使用来确保传递给方法的对象的类型是正确的,因此如果使用setter/getter,则可以克服此限制。话虽如此,您应该检查是否需要这样做-如果这两个类紧密耦合,特别是如果
B
A
中实例化,您可能不需要这样做,因为
A
的实现将是严格的。但是来自Java的PHP中OOP的混乱性需要一些时间来适应……在初始化一个不带任何参数的类时,甚至不需要大括号。:)