1

我在 Java 方面有很强的基础,当谈到 PHP 时,我遇到了 OOP 的一些问题。

请看下面这两个类:

联系人.php

<?php 

    public class Contacts {

    }
?>

单元测试.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

经过反复试验,我删除了class 的public修饰符,Contacts测试成功,没有错误。

Contacts.php (去掉public修饰符后)

<?php 

    class Contacts {

    }
?>

谁能解释为什么在 PHP 中我不能使用publica 的 as 修饰符class

4

2 回答 2

4

因为所有类在 PHP 中都是公共的。没有所谓的“私人课程”。

于 2012-09-06T09:48:36.853 回答
0

在 PHP 中,您只能在变量和函数前面使用 public 修饰符。在 Java 中,您可以在类、构造函数、方法、变量或接口前面使用 public 修饰符。为什么?因为语言不同。如果您需要注释来提醒自己,我在这里写了一些东西来解释 PHP 修饰符和 Java 修饰符之间的区别,因为我在 PHP 之前也学习了 Java。http://www.siteconsortium.com/h/D0000G.php

于 2014-01-02T04:40:42.697 回答