1

関数スコープの定数を PHP で使用することは可能ですか?

そうでない場合、(メソッドではなく) 関数内に定数が必要な場合に推奨される代替手段は何ですか?

編集

私の特定のユースケース:

私はデータベースで動作する機能を持っています。テーブル名 (および場合によっては、フィールド名などの変更されないその他の情報) を定数に格納したいと思います (接続文字列で単に「ハードコーディング」するのに対して)。他の関数は、テーブル名について知る必要はありません。

4

1 に答える 1

0

少し新しいバージョンの PHP を使用している場合は、名前空間で必要なものを取得できる可能性があります。

このページを見てみましょう: http://php.net/manual/en/language.namespaces.nsconstants.php

<?php
namespace my\name; // see "Defining Namespaces" section

class MyClass {}
function myfunction() {}
const MYCONST = 1;

$a = new MyClass;
$c = new \my\name\MyClass; // see "Global Space" section

$a = strlen('hi'); // see "Using namespaces: fallback to global
               // function/constant" section

$d = namespace\MYCONST; // see "namespace operator and __NAMESPACE__
                    // constant" section
$d = __NAMESPACE__ . '\MYCONST';
echo constant($d); // see "Namespaces and dynamic language features" section
于 2013-03-21T16:10:53.850 に答える