How Do I make Global Scope Variables Available to Functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am writing a PHP script that has a number of variables that (I think) are in
Global scope; that is, they are defined inline before the first command of the
script.  Note that these are not necessarily constants as shown in the example I
included; most of them can be changed by the script.

I have functions defined following these variables and before the commands in
the script appear, but when they are called, the functions report the variables
as undefined.  This means I have to pass all the Globals to each function as a
call argument.  

A trivial script illustrating the problem is below.

This seems odd but I don't see what I am doing wrong.  Any suggestions?

PHP 5.6.30 called through php-fpm on Apache.

Thanks in advance.

John
------------------------------------
test.php - working version

This variant passes a variable in global scope explicitly as a parameter.  It
displays correctly on the browser screen.


<?php

$bad_line = "This line should display on screen.";

// sample function that works
function sample1($bad_line)
{
 return "\n" . $bad_line . "\n";
}

// this call does work
echo sample1($bad_line);

exit;
?>



test.php - doesn't work

This variant does not work; it throws error:

[Sun May 27 20:17:46.779348 2018] [proxy_fcgi:error] [pid 893:tid
139838497978112] [client 192.168.1.104:37732] AH01071: Got error 'PHP message:
PHP Notice:  Undefined variable: bad_line in /httpd/iliffe/yrarc/test.php on
line 8\n'

<?php

$bad_line = "This line should display on screen.";

// sample function that doesn't work
function sample1()
{
 return "\n" . $bad_line . "\n";
}

//  this call doesn't work
echo sample1();

exit;

?>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux