Edit report at https://bugs.php.net/bug.php?id=62169&edit=1

 ID:                 62169
 Comment by:         joost dot koehoorn at gmail dot com
 Reported by:        valentiny510 at yahoo dot es
 Summary:            Use 'global' like a language structure
 Status:             Open
 Type:               Feature/Change Request
 Package:            *Programming Data Structures
 Operating System:   Windows XP
 PHP Version:        5.4.3
 Block user comment: N
 Private report:     N

 New Comment:

My solution would be to introduce global as a scope identifier, so you could 
use 
it as:

global::$object = new stdClass;
global::$object->test = 'This is just a test';

function test()
{
    return global::$object->test;
}


Although I do believe globals are evil and static class variables should be 
used 
at all times, this is a neat addition to avoid the very ugly and unclear global 
keyword.

As it is now, you have to define a variable as global for it to resolve and act 
on 
the global variable. This makes code hard to read as it is not directly visible 
that this is the case. The above syntax would solve this problem.


Previous Comments:
------------------------------------------------------------------------
[2012-06-02 01:01:48] valentiny510 at yahoo dot es

Imagine I have unset the, ( $GLOBALS )..
To access a 'global' object into the function, first must be called trowght 
global..

function test()
{
    global $object;
    return $object->some_method( );
}

I wonder if is posible to use (in the future :P) the 'global' like other 
language structures.. Ex:

function test()
{
    return( global $object->some_method( ) );
}

I know ... you will ask me why not use the namespaces, reflections, references, 
traits, or whatever.. but .. its not the point ...

------------------------------------------------------------------------
[2012-06-02 00:59:13] valentiny510 at yahoo dot es

In the first line I just wrote: "Imagine I have unset the ($GLOBALS)"

for some reason.. (is ugly, security, memory consumption, the host provider 
doesn't allow) or who knows why ...

I know how it works for now but the question is not about how to use "$GLOBALS".

anyway, thanks for the time spent to answer

------------------------------------------------------------------------
[2012-05-30 13:35:41] riptide dot tempora at opinehub dot com

For now:
<?php
function test()
{
    return( $GLOBALS['object']->some_method( ) );
}
?>

------------------------------------------------------------------------
[2012-05-26 20:31:16] valentiny510 at yahoo dot es

Description:
------------
Imagine I have the, unset ( $GLOBAL )..
To access a 'global' object into the function, first must be called trowght 
global..

function test()
{
    global $object;
    return $object->some_method( );
}

I wonder if is posible to use (in the future :P) the 'global' like other 
language structures.. Ex:

function test()
{
    return( global $object->some_method( ) );
}

I know ... you will ask me why not use the namespaces, reflections, references, 
traits, or whatever.. but .. its not the point ...




------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62169&edit=1

Reply via email to