PHP中的函数范围常量

时间:2013-03-21 16:06:44

标签: php

是否可以在PHP中使用功能范围的常量?

如果没有,对于我们在函数内部需要常量(不是方法)的情况,首选的替代方法是什么?

修改

我的特定用例:

我有一个与db一起使用的函数。我想将表名(可能还有其他不会改变的信息,比如字段名)存储在一个常量中(而不仅仅是在连接字符串中“硬编码”)。其他功能不需要知道我的表名。

1 个答案:

答案 0 :(得分:0)

如果在最新版本的PHP上,也许你可以通过Name Spaces得到你想要的东西。

请看这个页面: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