PDA

View Full Version : چرا این کد بدرستی کار می کند؟



ayub_coder
دوشنبه 08 اسفند 1390, 09:51 صبح
<?php

class noneStatic
{
public function test()
{
echo "Hello";
}

}

noneStatic::test();


سلام دوستان .
با وجود اینکه متد این کلاس استاتیک نیستن ولی با فراخوانی به صورت استاتیک باز هم کار میکنه. چرا؟:گیج:

MMSHFE
دوشنبه 08 اسفند 1390, 21:47 عصر
چون توی متد شما از کلمه کلیدی this$ و کلاً فیلدهای کلاس استفاده نشده و میشه ازش بصورت static هم استفاده کرد. ضمناً احتمال میدم error_reporting سایت شما روی 0 تنظیم شده. یکبار دستور زیر رو استفاده کنید:

error_reporting(E_STRICT | E_WARNING);
یا این کد:

error_reporting(-1);
احتمالاً اینطوری یک هشدار دریافت خواهید کرد.

farhadfery
دوشنبه 08 اسفند 1390, 21:56 عصر
به نظر من. این کلاس چون دارای سازنده معمولی (منظور استاتیک نباشه) نیست. ابن مساله پیش می یاد. یعنی داره دایرکتی ازش استفاده می کنه.