برگزیده های پرشین تولز

توضيحي در مورد تابع declare و register_tick_function

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
سلام
ممكنه در مورد توابع register_tick_function و declare توصيح بدين؟
از تو داكيومنت خود php خوندم منتها چيزه زيادي دستگيرم نشد.
اينم مثالي كه نوشته:
PHP:
<?php
// A function that records the time when it is called
function profile($dump = FALSE)
{
    static $profile;

    // Return the times stored in profile, then erase it
    if ($dump) {
        $temp = $profile;
        unset($profile);
        return $temp;
    }

    $profile[] = microtime();
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile();

// Run a block of code, throw a tick every 2nd statement
declare(ticks=2) {
    for ($x = 1; $x < 50; ++$x) {
        echo similar_text(md5($x), md5($x*$x)), "<br />;";
    }
}

// Display the data stored in the profiler
print_r(profile(TRUE));
?>
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
این کد
PHP:
declare(ticks=2) {
//...........
}
باعث میشه هر 2 خطی که تو بلوک اجرا میشه یک تیک روی بده. حالا اگه قبلش همچین کدی داشته باشی :
PHP:
register_tick_function("profile");
باعث میشه با روی دادن هر تیک یک بار تابع profile اجرا بشه. بیشتر به درد دیباگ کردن میخوره. مثلاً یک تیک یک خطی تعریف کنی و تو هر خط یک بار مقدار متغیرهای مهم رو بفرستی تو خروجی تا بفهمی که مشکل کدت کجاست.
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
firebird از جوابتون ممنونم منتها نمي دونم چرا وقتي كد بالا يا هر كد ساده ي ديگه اي رو كه توش از declare استفاده شده مي خوام تست كنم apache ام ارور ميده
مشكل از كجاست؟؟
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
firebird از جوابتون ممنونم منتها نمي دونم چرا وقتي كد بالا يا هر كد ساده ي ديگه اي رو كه توش از declare استفاده شده مي خوام تست كنم apache ام ارور ميده
مشكل از كجاست؟؟
خوب چه خطایی میده؟
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
از اين ارور هاي ويندوزه
Apache HTTP Server has encounter a problem and needs to close. We are sorry for the inconvenience.
گزينه ي don'tsend رو ميزنم ولي صفحه بسته نميشه و به لود شدنش ادامه ميده يه چند بار اين مشكل تكرار ميشه
 
بالا