PHP类中的外部变量访问
作者:互联网
考虑以下情况
文件:./ include / functions / table-config.php
含:
. . $tablePages = 'orweb_pages'; . .
file:./ include / classes /uri-resolve.php
含:
class URIResolve { . . $category = null ; . . function process_uri() { ... $this->category = $tablePages; ... } . . }
文件:./ settings.php
含:
. . require_once(ABSPATH.INC.FUNC.'/table-config.php'); require_once(ABSPATH.INC.CLASS.'/uri-resolve.php'); . .
这会有用吗我的意思是从process_uri()访问$tablePages是可以接受的,还是会给出错误的结果.
如果可能发生错误,请建议更正或解决方法.
解决方法:
使用全局(不推荐),常量或单例配置类.
简单地包括
$tablePages = 'orweb_pages';
将给出您的变量局部范围,以便它在其他类中不可见.如果使用常量:
define('TABLE_PAGES', 'orweb_pages');
无论范围如何,TABLE_PAGES都可用于整个应用程序的读访问.
常量超过全局变量的优点是您不必担心它在应用程序的其他区域被覆盖.
标签:php,oop,global-variables,class,data-access 来源: https://codeday.me/bug/20190716/1473347.html