PDA

View Full Version : ارور Undefined variable در کلاس اس ام اس من



amin7x
شنبه 28 آذر 1394, 12:00 عصر
سلام و خسته نباشید
من یک کلاس ارسال اس ام اس دارم که کارش رو به خوبی انجام میده ولی تنها مشکلی که دارم اینکه وقتی متد sendFile توی send صدا میزنم با ارور زیر مواجه می‌شم.



Notice: Undefined variable: date in * on line 28 Fatal error: Call to a member function date() on null in * on line 28


کد کلاس:


<?php
class sendsms {
public function send ($mobile, $text) {
date_default_timezone_set('Asia/Tehran');
$client = new SoapClient('**');
$parameters['userName'] = ****;
$parameters['password'] = ****;
$parameters['sendDateTime'] = date("Y-m-d") . date("H:i:s");
$parameters['mobileNos'] = array(doubleval($mobile));
$parameters['messages'] = array($text);
$client->SendMessageWithLineNumber($parameters);
$this->sendFile($mobile, $text);
}
private function sendFile ($phone, $text) {
require_once 'jdate.php';
$logName = 'sendsms.txt';
$text = '[' . getenv('REMOTE_ADDR') . '-' . $date->date("Y-m-d H:i:s", false, false) . '] = ' . $phone . ' : ' . $text . PHP_EOL;
file_put_contents($logName, $text, FILE_APPEND | LOCK_EX);
}
}
?>


این ارور رو میده در حالی که من یک متد دیگر هم دارم به نام getFile که اون به خوبی کار می‌کنه و کدهای اون هم مثل sendFile هست.
برای تاریخ جلالی هم از کلاس تاریخ جلالی سالار کابلی (https://github.com/sallar/jDateTime) استفاده شده.

amir.bakhtiari
شنبه 28 آذر 1394, 13:51 عصر
Notice: Undefined variable: date in * on line 28 Fatal error: Call to a member function date() on null in * on line 28
این پیغامی ربطی به private بودن نداره ها......
داره به تابع date اشاره میکنه

amin7x
شنبه 28 آذر 1394, 13:59 عصر
این پیغامی ربطی به private بودن نداره ها......
داره به تابع date اشاره میکنه

دقیقا با این که تابع date به خوبی در متدهای دیگه کار می‌کنه اما در این قسمت به من ارور میده.