View Single Post
ישן 19-07-08, 11:54   # 1
Imri
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,232

Imri לא מחובר  

פונקציה לא מובנת לי

שלום.

עברתי קצת על הקוד של מערכת IPB והגעתי לפונקציה כזאת:
קוד:
    function my_setcookie( $name, $value="", $sticky=1, $expires_x_days=0 )
    {
		//-----------------------------------------
		// Check
		//-----------------------------------------
		
        if ( $this->no_print_header )
        {
        	return;
        }
        
		//-----------------------------------------
		// Set vars
		//-----------------------------------------

        if ( $sticky == 1 )
        {
        	$expires = time() + ( 60*60*24*365 );
        }
		else if ( $expires_x_days )
		{
			$expires = time() + ( $expires_x_days * 86400 );
		}
		else
		{
			$expires = FALSE;
		}
...
שהקריאה לה מתבצעת כך:
קוד:
$this->my_setcookie( 'ipb_stronghold', '-1' );
$this->my_setcookie('forum_read', $fread);
$this->my_setcookie( 'ipb_stronghold', $stronghold, 1 );
כעת, אני לא מבין כמה דברים.
1 - עם כמה משתנים צריך לקרוא לפונקציה?? (בכל אחת הדוגמאות יש מספר שונה של משתנים, פעם אחת 2, פעם שניה 2, פעם שלישית 3 ...
2 - איך העוגיות מקבלות ערך שהוא לא "" אם כתוב:
$name, $value="", $sticky=1, $expires_x_days=0
3 - מדוע יש if ( $sticky == 1 ) אם נאמר: $name, $value="", $sticky=1, $expires_x_days=0 ?

השאלה הכללית שלי היא איך הפונקציה מקבלת ערכים שונים ממה שמוגדרים לה כאן:
function my_setcookie( $name, $value="", $sticky=1, $expires_x_days=0
ואיך זה שכל פעם היא מקבלת מספר שונה של ערכים והיא יודעת "למיין" אותם, כל ערך לאיזה משתנה יילך? (האומנם?)

תודה.
  Reply With Quote