PHPでは許可されていません
class Foo
{
    private const my_private_const;
もちろん許可します
const my_const;
つまり、定数はグローバルです。これは、をmy_const使用してどこからでもアクセスできるためです。Foo::my_const
プライベート定数を作成する方法はありますか?
答えは単純に「いいえ」です。PHP はこの概念をサポートしていません。あなたができる最善のことはprivate static、クラス内の変数です。これは、読み取り専用ではないため、もちろんそれほど良くありません。しかし、あなたはそれを回避する必要があります。
編集
あなたの質問は私に考えさせました-これは私が試したことのないものですが、うまくいくかもしれません. 別の言い方をすれば、「これはテストされていません」。しかし、次のような「プライベート定数」が必要だとしますFOO。
// "Constant" definitions
private function __get($constName){
    // Null for non-defined "constants"
    $val = null;
    switch($constName){
        case 'FOO':
            $val = 'MY CONSTANT UNCHANGEABLE VALUE';
            break;
        case 'BAR':
            $val = 'MY OTHER CONSTANT VALUE';
            break;
    }
    return $val;
}
もちろん、構文は少し奇妙に見えます。
// Retrieve the "constant"
$foo = $this->FOO;
...しかし、少なくともこれはうまくいきません:
$this->FOO = 'illegal!';
試してみる価値のあるものでしょうか?
乾杯
クラス定数の可視性修飾子が PHP 7.1 で追加されたことに注意してください。
RFC:クラス定数の可視性をサポート
@Madbreaks の回避策の簡略版: プライベートな「定数」の値を返すプライベートな静的関数を記述します。
private static function MY_CONSTANT() {
    return "constant string";
}
使用法:
public static function DoStuff() {
    echo self::MY_CONSTANT();
}