تالار گفتمان nCIS.ir

نسخه‌ی کامل: چرا این ارور اتفاق میفته؟
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
این ماله خوده php هست: (کلاس DateTime)
public static function createFromFormat ($format, $time, DateTimeZone $timezone=null) {}

اینم کده منه:
class Test extends DateTime
{
	public static function createFromFormat($format, $time, DateTimeZone $timezone = null)
	{

	}
}

خب جرا ارور Strict standards میده؟
اگه نوع متغیر که کلاس DateTimeZone هست رو از کدم بر دارم درست میشه، در صورتی که نباید اینجوری بشه چون هم کده php هم کده من هر دو نوع متغیر $timezone رو DateTimeZone قرار دادیم، فکر کنم باگه php باشه.
یه تست بکنید ممنون میشم
متن کامل خطا رو بگذارین. فقط ذکر نوع خطا کمکی نمیکنه. مطمئنید نسخه PHP شما از Typed Parameters پشتیبانی میکنه؟ فوری تقصیر رو گردن PHP نندازین.
بله مطمئنم. چون همیشه استفاده میکنم ازش.
---
Strict standards: Declaration of Test::createFromFormat() should be compatible with DateTime::createFromFormat($format, $time, $object = NULL) in D:wampwwwjDateTimeindex.php on line 8
این صفحه اون متد که خطا میده اینجا هم نوعش رو DateTimeZone گذاشته.
http://php.net/manual/en/datetime.createfromformat.php
---
چند تا عکسم ضمیمه میکنم
---
ولی توی ارور نوع متغیر رو DateTimeZone نذاشته! مشکل از کجاست؟
ببینید خطاهای Strict به معنای خطای واقعی برنامه شما نیستن. یه جور سخت گیری محسوب میشه. میتونید خطاهای Strict رو پنهان کنید. مشکلی پیش نمیاد:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
میدونم ولی این اصلا نباید ارور بده.
احتمالا باگه php هست، چطوری میشه گزارش داد اینو؟