【发布时间】:2014-10-08 04:15:51
【问题描述】:
我一直主要使用 JAVA 进行编程,并用 PHP 编写过程序,但现在我尝试用 PHP 编写一些基于 OOP 的程序,但遇到了一个问题。
我有两个文件,Zoo.php 和 Dog.php,每个文件都包含一个类。
Dog.php:
<?php
class Dog {
private $name;
private $color;
public function __construct($name,$color) {
$this->name = $name;
$this->color = $color;
}
public function getName(){
return $this->name;
}
public function getColor(){
return $this->color;
}
}
还有Zoo.php:
<?php
class Zoo {
private $name;
private $dogs;
public function __construct($name) {
$this->name = $name;
$dogs = array();
}
public function addDog($dogName,$dogColor){
$dog = new Dog($dogName,$dogColor);
array_push($this->dogs,$dog);
}
public function getAllDogs(){
var_dump($dogs);
}
}
echo "start";
$z = new Zoo("test_zoo");
$z->addDog("blackie","black");
$z->getAllDogs();
上面的代码输出:
Fatal error: Class 'Dog' not found in C:\wamp\www\Zoo.php on line 13
我想知道上面的代码有什么问题,以及如何在 PHP 中创建另一个对象中的对象实例。提前致谢。
【问题讨论】:
-
您必须在 zoo.php 中包含 dog.php,以便该类在调用时可用。您可能想查看自动加载类 - php.net/manual/en/language.oop5.autoload.php