php从类中访问$ _GET []或$ _POST []

时间:2014-01-17 03:04:35

标签: php

我有一个我正在处理的图片loaderscript,我没有写。我需要更改保存图像的目录。保存文件目录的代码在类中。我以前从未使用过类,常规$_GET[]或Post调用似乎不适用于函数或包代码。

我的问题是如何从课程中的某个功能调用$_GET[]

以下是一些代码:

class UploadHandler
{

    protected $options;


    protected $image_objects = array();


    function __construct($options = null, $initialize = true, $error_messages = null) {

       ///This code will work because its in the function
       $folderName = "productImages";


       // This code below does not work
     $folderName = $_GET['folderChoice'];


        $this->options = array(
            'script_url' => $this->get_full_url().'/',
            'upload_dir' => 

       /// Below are the two lines in need the var to go to.
       dirname($this->get_server_var('SCRIPT_FILENAME')).'/'.$folderName.'/',
       'upload_url' => $this->get_full_url().'/'.$folderName.'/',


            /// DELETED CODE
            ),

     //// More deleted code

3 个答案:

答案 0 :(得分:0)

  

变量名称区分大小写。

http://www.php.net/manual/en/language.variables.basics.php

Superglobals — Superglobals are built-in variables that are always available in all scopes
...
$_GET — HTTP GET variables
$_POST — HTTP POST variables
...

http://www.php.net/manual/en/language.variables.superglobals.php

所以,你必须将$ _Get和$ _Post重命名为$ _GET和$ _POST

答案 1 :(得分:0)

当然你可以在函数内部调用$_GET,这没什么不对。

一旦你创建了一个对象,就会调用构造函数,并且事情会按预期工作 -

$handler = new UploadHandler(null, true, null);

答案 2 :(得分:-3)

我一直认为这些指令是普遍全局的,但是php的功能超出了你的功能范围(我认为除了语言全局,但也许我错了),你需要将它们作为全局变量导入。

global $_GET;

但是我会重申一下设置我不认为这对语言全局来说是必要的......