我在Java中有非常强大的基础,当涉及到PHP时,我遇到了一些OOP问题。
请看下面这两个类:
Contacts.php
<?php
public class Contacts {
}
?>
UnitTest.php中
<?php
require_once 'PHPUnit/Framework.php';
include 'Contacts.php';
class UnitTest extends PHPUnit_Framework_TestCase {
public function testRead() {
$temp = new Contacts();
}
}
?>
当我尝试使用UnitTest.php
测试phpunit
时出现此错误消息:
PHP Parse error: syntax error, unexpected T_PUBLIC in
/home/crazenezz/Projects/PHP/Demo/Class/Contacts.php on line 3
在反复试验后,我删除了public
类Contacts
修饰符,测试成功而没有错误。
Contacts.php (删除public
修饰符后)
<?php
class Contacts {
}
?>
任何人都可以解释为什么在PHP中我不能使用public
作为class
的修饰符?
答案 0 :(得分:4)
因为PHP中的所有类都是公共的。没有“私人阶级”这样的东西。
答案 1 :(得分:0)
在PHP中,您只在变量和函数前使用public修饰符。 在Java中,您可以使用类,构造函数,方法,变量或接口的公共修饰符。为什么?因为语言不同。如果你需要它上面的注释来提醒自己我在这里写了一些东西来解释PHP修饰符和Java修饰符之间的区别,因为我在PHP之前也学习了Java方法。 http://www.siteconsortium.com/h/D0000G.php