From: Waitman C. G. <wa...@em...> - 2002-10-18 02:39:57
|
hello jared! passing by reference is sending a pointer to a variable to the function, instead of actually sending the variable to the function, which it uses to create a local variable within the function. when the function makes a change to it's variable, it updates the variable outside the function (The one you pointed to) since it's local copy is really "pointing" to your variable. function($arg) passing the value function(&$arg) passing the reference basically, if you have code like this: my_function(&$arg) { $arg=4; //no need to return } $a=7; my_function(&$a); echo $a; it would print "4"... NOW the error php now generates is "call time pass by reference is deprecated" which means you can't define a function like this: my_function($arg) { blah } and call it like this: my_function(&$a); in this case you would be stuffing the reference down the function's throat. the php guys really think that we should let php know that we actually want the reference sent to our function. In the case of the error message that was posted to this ng, the function declaration doesn't ask for references. the message points out that you can go in and modify the declaration if you want and rebuild php, or simply turn the warning off altogether. But if you do either you can't count on your program working in the future, or on someone else's machine. The php people are probably are looking to streamline the engine, and provide some good ole safe sanity enforcement to the reckless jungle one can create in php. But these are just my opinions. back in the old days you could practically walk into to town and get into a gun slinging fight in the middle of town, and hop back on your horse and head out without too much trouble. what i really mean is there was so much "slop" in php that most of the serious programmers wouldn't touch it with a ten foot pole. one day we will probably even have to define variable types in php beforehand. when i started using Personal Home Page ;-) i think it was actually refreshing programming in the slop. it even felt powerful. i mean, in real structured languages it sometimes feels like you spend more time typing all this extra crap in that is mostly meaningless - than doing real coding. but you learn that there are lots of really good reasons for the structure, and the type-checking and all that Alte Schule bars, bricks and stones stuff that php is slowing drifting toward. and i am pretty much still a young feller. Take care Waitman On Thu, 2002-10-17 at 17:25, Jared wrote: I don't understand exactly what "passing by reference" is and why I can't find any information about it being deprecated on the PHP website. I also want to know why all sscanf() function examples in the function list on the PHP website use references like we did and you say removing the & still allows the script to function normally. I don't understand the purpose of the & in the first place, then. I understand what & does, but I've never used it before and I'm not sure why it is or is not needed in that case. Anyway, Chad rewrote it so it doesn't even use sscanf so it no longer uses the & either. -Jared On Thursday, October 17, 2002, at 06:49 PM, Waitman C. Gobble wrote: > no, he is likely running a newer version of php. > > the fix is simple. pass by reference is deprecated, and support may > cease in future builds of php. removing the & signs will remove the > error (does not send references to the variables), and the script > functions properly... > > take care > > waitman > > > On Thu, 2002-10-17 at 16:40, Chad wrote: > Your probably running an older version of PHP. You have four > options: > > 1) Update your PHP build > 2) Set allow_call_time_pass_reference to true in your INI file. > 3) Download the latest version of PHP iCalendar from CVS. > 4) Wait for 0.7, which should be out in a day or three. > > > On Thursday, October 17, 2002, at 09:50 PM, Steve Klenert wrote: > >> Just installed and i get this : >> >> Warning: Call-time pass-by-reference has been deprecated - argument >> passed >> by value; If you would like to pass it by reference, modify the >> declaration >> of sscanf(). If you would like to enable call-time pass-by-reference, >> you >> can set allow_call_time_pass_reference to true in your INI file. >> However, >> future versions may not support this any longer. >> in /home/sites/site3/web/calendars/functions/ical_parser.php on line >> 563 >> >> Warning: Call-time pass-by-reference has been deprecated - argument >> passed >> by value; If you would like to pass it by reference, modify the >> declaration >> of sscanf(). If you would like to enable call-time pass-by-reference, >> you >> can set allow_call_time_pass_reference to true in your INI file. >> However, >> future versions may not support this any longer. >> in /home/sites/site3/web/calendars/functions/ical_parser.php on line >> 563 >> >> Parse error: parse error, expecting `')'' >> in /home/sites/site3/web/calendars/functions/overlapping_events.php on >> line >> 69 >> >> Fatal error: Call to undefined function: checkoverlap() >> in /home/sites/site3/web/calendars/functions/ical_parser.php on line >> 548 >> >> Please help ASAP> >> >> -- >> Best Regards, >> Steve Klenert >> Digital Princeton >> "Quality in Service and Support is our #1 GOAL!" >> -=Hosting=--=Web Design=--=Dedicated Servers=--=Co-Location=- >> -=High Bandwidth Hosting Options=--=Load Balanced Servers=- >> www.digitalprinceton.net >> Emergency Contact: Pag...@Di... >> >> >> ------------------------------------------------------- >> This sf.net email is sponsored by: viaVerio will pay you up to >> $1,000 for every account that you consolidate with us. >> http://ad.doubleclick.net/clk;4749864;7604308;v? >> http://www.viaverio.com/consolidator/osdn.cfm >> _______________________________________________ >> Phpicalendar-devel mailing list >> Php...@li... >> https://lists.sourceforge.net/lists/listinfo/phpicalendar-devel > > > > ------------------------------------------------------- > This sf.net email is sponsored by: viaVerio will pay you up to > $1,000 for every account that you consolidate with us. > http://ad.doubleclick.net/clk;4749864;7604308;v? > http://www.viaverio.com/consolidator/osdn.cfm > _______________________________________________ > Phpicalendar-devel mailing list > Php...@li... > https://lists.sourceforge.net/lists/listinfo/phpicalendar-devel > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: viaVerio will pay you up to > $1,000 for every account that you consolidate with us. > http://ad.doubleclick.net/clk;4749864;7604308;v? > http://www.viaverio.com/consolidator/osdn.cfm > _______________________________________________ > Phpicalendar-devel mailing list > Php...@li... > https://lists.sourceforge.net/lists/listinfo/phpicalendar-devel ------------------------------------------------------- This sf.net email is sponsored by: viaVerio will pay you up to $1,000 for every account that you consolidate with us. http://ad.doubleclick.net/clk;4749864;7604308;v? http://www.viaverio.com/consolidator/osdn.cfm _______________________________________________ Phpicalendar-devel mailing list Php...@li... https://lists.sourceforge.net/lists/listinfo/phpicalendar-devel |