问题描述
我使用的是 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 (将#修改为@)