رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا این ارور اتفاق میفته؟
#1
این ماله خوده 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 باشه.
یه تست بکنید ممنون میشم
پاسخ
تشکر شده توسط:
#2
متن کامل خطا رو بگذارین. فقط ذکر نوع خطا کمکی نمیکنه. مطمئنید نسخه PHP شما از Typed Parameters پشتیبانی میکنه؟ فوری تقصیر رو گردن PHP نندازین.
پاسخ
تشکر شده توسط:
#3
بله مطمئنم. چون همیشه استفاده میکنم ازش.
---
Strict standards: Declaration of Test::createFromFormat() should be compatible with DateTime::createFromFormat($format, $time, $object = NULL) in D:wampwwwjDateTimeindex.php on line 8
پاسخ
تشکر شده توسط:
#4
این صفحه اون متد که خطا میده اینجا هم نوعش رو DateTimeZone گذاشته.
http://php.net/manual/en/datetime.createfromformat.php
---
چند تا عکسم ضمیمه میکنم
---
ولی توی ارور نوع متغیر رو DateTimeZone نذاشته! مشکل از کجاست؟


فایل‌های پیوست تصاویر بندانگشتی
       
پاسخ
تشکر شده توسط:
#5
ببینید خطاهای Strict به معنای خطای واقعی برنامه شما نیستن. یه جور سخت گیری محسوب میشه. میتونید خطاهای Strict رو پنهان کنید. مشکلی پیش نمیاد:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
پاسخ
تشکر شده توسط:
#6
میدونم ولی این اصلا نباید ارور بده.
احتمالا باگه php هست، چطوری میشه گزارش داد اینو؟
پاسخ
تشکر شده توسط:
#7
http://bugs.php.net
پاسخ
تشکر شده توسط: n0o0b_sina




کاربران در حال بازدید این موضوع: 1 مهمان