Я хочу разделить объект между двумя статическими функциями в классе без сквозных параметров. например в моем классе должны static function ProfileRegistration()
это получить объект через параметр, и я хочу вызвать другую функцию Format()
он обрабатывает один и тот же объект. Я хочу позвонить Format()
функция without
прохождение object
снова
Я не знаю, разделяю ли значение между функцией, поэтому я передаю его в качестве параметра. Как этого избежать?
class SMSList {
var $objLogin;
public function __construct()
{}
public static function ProfileRegistration($objLogin)
{
$objself=new self();
$objself->objLogin=$objLogin;
$obj=new SMSMessage();
if($obj->profile_registration_sms_status==1)
{
$msg=self::Format($obj->profile_registration_sms,$objself-objLogin);
return SMS::sendSMS($objself->objLogin->mobile,$msg);
}
}
public function Format($message,$objLogin)
{
$message=str_replace('#NAME#',$objLogin->contact_person,$message);
$message=str_replace('#COMP_NAME#',$objLogin->companyname,$message );
$message=str_replace('#MOBILE#',$objLogin->mobile,$message);
$message=str_replace('#CITY#',$objLogin->city,$message);
$message=str_replace('#EMAILID#',$objLogin->emailid,$message);
return $message;
}
}
Решите эту проблему, используя статическую переменную. пример кода здесь
class SMSList {
public static $objLogin;
public function __construct()
{
}
public static function ProfileRegistration($objLogin)
{
self::$objLogin=$objLogin;
$obj=new SMSMessage();
if($obj->profile_registration_sms_status==1)
{
$msg=self::Format($obj->profile_registration_sms);
return SMS::sendSMS( self::$objLogin->mobile,$msg);
}
} public function Format($message)
{
$message=str_replace('#NAME#',self::$objLogin->contact_person,$message);
$message=str_replace('#COMP_NAME#',self::$objLogin->companyname,$message );
$message=str_replace('#MOBILE#',self::$objLogin->mobile,$message);
$message=str_replace('#CITY#',self::$objLogin->city,$message);
$message=str_replace('#EMAILID#',self::$objLogin->emailid,$message);
return $message;
}}
Других решений пока нет …