PDA

View Full Version : دسترسی به مقدار پراپرتی



code.zan
سه شنبه 30 اردیبهشت 1393, 19:02 عصر
سلام
یه پراپرتی تعریف کردم ، مقدارش رو تو اکشن عوض کردم ولی بیرون اون اکشن دیگه مقدار جدید رو تو خودش نگه نمی داره .
پراپرتی مو static , public , private تعریف کردم هیچ فرقی نکرد ! باید چیکار کنم ؟

public static $a;

public function actionDiag()
{
self::$a = 555;
}

public function requestCompleted()
{
$b = self::$a; // self::$a == null ):
}

***BiDaK***
سه شنبه 30 اردیبهشت 1393, 19:16 عصر
class test
{
public static $a;

public function actionDiag()
{
self::$a = 555;
}

public function requestCompleted()
{
$b = self::$a;
return $b;
}
}


$a = new test();
$a->actionDiag();
$b = $a->requestCompleted();
echo $b;

code.zan
سه شنبه 30 اردیبهشت 1393, 22:49 عصر
class test
{
public static $a;

public function actionDiag()
{
self::$a = 555;
}

public function requestCompleted()
{
$b = self::$a;
return $b;
}
}


$a = new test();
$a->actionDiag();
$b = $a->requestCompleted();
echo $b;


درسته ، فهمیدم که مشکل کارم اینجاست که به متد requestCompleted با جی کوئری ایجکس می خوام دسترسی داشته باشم برای همین مقدار null بر می گردونه وگرنه بدون ایجکس درست کارمیکنه 555و برمی گردونه .

***BiDaK***
سه شنبه 30 اردیبهشت 1393, 22:56 عصر
درسته ، فهمیدم که مشکل کارم اینجاست که به متد requestCompleted با جی کوئری ایجکس می خوام دسترسی داشته باشم برای همین مقدار null بر می گردونه وگرنه بدون ایجکس درست کارمیکنه 555و برمی گردونه .
ربطی به این موضوع نداره.شما مقدار رو چاپ کنید در رویداد success تحویل بگیرید.

MMSHFE
چهارشنبه 31 اردیبهشت 1393, 21:23 عصر
class test
{
public static $a;

public function actionDiag()
{
self::$a = 555;
}

public function requestCompleted()
{
if(Yii::app()->request->isAjaxRequest) {
echo self::$a;
}
return $b;
}
}
مسئله اینه که توی متد Success اون چیزی که echo میشه بعنوان نتیجه دریافت میشه نه اون چیزی که return میشه.