如何解决你如何在类函数一侧的包含文件中声明 php supper 全局常量?
我使用的是 Symfony v 2.8,它使用捆绑类函数来处理网页请求。
我创建了一个包含文件,我使用 require 语句加载该文件,该语句隔离了我用来创建多个变量的代码,这些变量通过我的网络应用程序使用,例如我的 web 应用程序,无论站点是在开发环境还是生产环境中运行,以及导航到我的网站中的页面或我的网站中的页面之间的网站的 URI。目前,这些变量是需要包含文件的函数的本地变量,因此我必须在需要这些变量的每个函数中重新包含该文件。
我的目标是:
-
在 bundle xxxxAction 函数中创建后,有 在捆绑包中的所有函数中看到范围内的变量 xxxAction 函数调用或它们调用的函数,没有 需要将它们作为 SELF:: 作为前缀,就像 _POST 一样工作。
-
在 xxxAction bundle 函数以外的函数中,我会 而不必使用 global 语句或 $GLOBALS 关联数组。
我的网站有很多页面,每个页面都有自己的 bundle Action 函数,每个页面需要包含文件。
我已经看过 Variable scope at php.net 网站,但除非我错过了什么,否则我没有看到如何创建 Supper-Global 只读变量。
这是我用来创建局部变量的代码:
$request = $this->get( 'request_stack' )->getCurrentRequest();
$session = $request->getSession();
$context = $this->container->get( 'router' )->getContext();
$site = $this->get( 'request' )->getSchemeAndHttpHost();
//
// The regular expression checks if the referring web-spage's URL matches one of
// following:
//
// http://mysite.name.com/app.PHP or
// http://mysite.dev.name.com/app_dev.PHP or
// https://mysite.name.com/app.PHP or
// https://mysite.dev.name.com/app_dev.PHP.
//
$isFromMySite = ( preg_match( '/https?:\/\/mysite.(dev\.)?name.com\/app(_dev)?.PHP/',$_SERVER[ 'HTTP_REFERER' ] ) === 1 );
// baseURL: /app{_dev}.PHP True = Development Environment,False = Production Environment.
$baseURL = $context->getBaseUrl();
$isDev = ( $baseURL == '/app_dev.PHP' );
$isProd = ( $baseURL == '/app.PHP' );
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。