2013-03-21 75 views
1

是否可以在PHP中使用函數作用域中的常量?PHP中的函數作用域常量

如果不是,那麼我們需要一個函數內的常量(而不是方法)的情況下,最佳選擇是什麼?

編輯

我的具體使用情況:

我有一個DB工作的功能。我想在常量中存儲表名(可能還有其他不會改變的信息,比如字段名)(而不是連接字符串中的「硬編碼」)。其他函數不需要知道我的表名。

+0

更多的信息請 – ITroubs 2013-03-21 16:07:40

+3

大部分功能應該是相對短的地方設置固定的功能範圍內是不必要的。你能解釋一下你想做什麼嗎? – datasage 2013-03-21 16:08:11

+0

*你如何定義函數與方法? – ficuscr 2013-03-21 16:09:32

回答

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