ちょっとした質問

WBOY
リリース: 2016-06-13 13:23:10
オリジナル
709 人が閲覧しました

ちょっとした質問です
smarty3 では、テンプレート ディレクトリ $template_dir とコンパイル ディレクトリ $compile_dir が両方とも protected で変更されているのですが、なぜクラスの外から直接アクセスできるのでしょうか? ?

ソースコードの保護をプライベートに変更しましたが、依然としてアクセスできるのはなぜですか?

-----解決策---------
彼にはそのような定義はありませんか?

PHP コード
    パブリック関数 __get($name)
    {
        $allowed = 配列(
        'template_dir' => 'getTemplateDir',
        'config_dir' => 'getConfigDir',
        'plugins_dir' => 'getPluginsDir',
        'compile_dir' => 'getCompileDir',
        'cache_dir' => 'getCacheDir',
        );

        if (isset($allowed[$name])) {
            return $this->{$allowed[$name]}();
        } それ以外 {
            trigger_error('未定義のプロパティ: '.get_class($this) .'::$'.$name, E_USER_NOTICE);
        }
    <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート