是否可以在PHP中使用功能范围的常量?
如果没有,对于我们在函数内部需要常量(不是方法)的情况,首选的替代方法是什么?
修改
我的特定用例:
我有一个与db一起使用的函数。我想将表名(可能还有其他不会改变的信息,比如字段名)存储在一个常量中(而不仅仅是在连接字符串中“硬编码”)。其他功能不需要知道我的表名。
答案 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