1

私は Java で非常に強力な基本を持っています。PHP に関しては、OOP で問題が発生しました。

以下の 2 つのクラスを見てください。

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 {

    }
?>

publicPHPで a の as 修飾子を使用できない理由を誰か説明できますclassか?

4

2 に答える 2

4

PHP ではすべてのクラスが public であるためです。「プライベートクラス」というものはありません。

于 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 に答える