Afficher un message
Vieux 22/06/2008, 20h26   #4
Jerry Stuckle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: question on avoiding abuse of global

sheldonlg wrote:
> Jerry Stuckle wrote:
>> lazy wrote:
>>> hi,
>>> I have some constants defined in a php script say config.php.
>>> I want to use the variables there defined in other scripts.
>>> couple of questions regd that:
>>>
>>> 1. Is there an alternative to including config.php and declaring the
>>> variables that will be used as global. This seems very inefficient.
>>>

>>
>> No. For your code to know about them, you must define them somewhere.
>> A file which is included in others is as good as any - and quite
>> efficient. But efficiency shouldn't be your problem right now anyway.
>> Get it working; if you have performance problems. find the cause of
>> your performance problem and fix it. Including a configuration file
>> will not be the problem.

>
> The OP said "alternative to including config.php". What he can do is to
> declare some session variables in config.php, and then use them
> elsewhere without including config.php. So, the answer to that part is
> "yes".
>
>>
>>> 2.Moreover these variables are constants, is there a way to make the
>>> variables unmodifiable in config.php so that scripts that use them ,
>>> dont overrite them. Is there a php construct which can delare a
>>> variable as constant.
>>>

>>
>> Check out the define().
>>

>


Which means he needs a session_start() at the beginning of every page
(which has more overhead than a simple include), as well as needing to
set the values in the session. And what happens if someone doesn't
enter through the home page, i.e. through a bookmarked page? He'd have
to check EVERY page to ensure the values are set - and if they aren't
either include the file or redirect the person back to a page which does
set the values.

Plus values in the $_SESSION are NOT constant, which he asked for, also.

I could find other problems with your 'suggestion', also. But this
should be enough...

So the answer is NO.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

  Réponse avec citation
 
Page generated in 0,07279 seconds with 9 queries