PDA

View Full Version : حرفه ای: مقدار بازگردانده شده توسط متد سازنده



2undercover
یک شنبه 17 دی 1391, 15:04 عصر
سلام...

من توی قسمت ثبت نام کاربر کد های PHP رو با شئ گرایی نوشتم..!

خوب تا اینجا مشکلی نیست!

ولی من یک متد سازنده با نام Register ایجاد کردم پس وقتی کلاس فراخوانی شد باید اینجوری نوشته بشه:


$register=new Register(آرگومان های متد سازنده);

خوب حالا این متد سازنده ی ما اررور ها یا مقدار True رو برمیگردونه ولی خوب این مقدار برگردونده شده در کجا ذخیره میشه در متغیر register که یک رونوشت از کلاس رو دربرداره که نیست چون چک که کردم نوعش Object بود...پس این مقدار برگردونده شده توسط متد سازنده کجاست...!

اینم اضافه کنم فعلا برای اینکه این مشکل برطرف شده باشه از متد سازنده استفاده نکردم یعنی اینجوری:

$register=new Register;
$register_user=$register->Register_User(آرگومان ها);

که مقدار برگردونده شده در متغیر register_user ذخیره میشه...؟!

mohsen_31369
یک شنبه 17 دی 1391, 15:56 عصر
سلام
در ابتدای کلاس چند پروپرتی پابلیک ایجاد کن. و در متد سازنده ات تمامی مقادیری که مخواهی برگردونی رو در این پروپرتی ها ذخیره کن.
و وقتی هم کی یک شی از کلاست ساختی می تونی از طریق این پروپرتی ها به مقادیرت دسترسی پیدا کنی


class yourClassName
{
public $erro1;
public $erro2;
public $boolean;
public function __construct ()
{
// set your errors in error1,error2,...
$this->error1='set your error';
}

}

برای ساختن شی هم


$register=new Register(آرگومان های متد سازنده);
$register->error1;

2undercover
یک شنبه 17 دی 1391, 16:10 عصر
آیا میشه یک متغیر در یک شئ رو ب آرایه مقدار دهی کرد اگه میشه هنگام فراخوانی باید چیکار کرد؟؟؟ مثلا:

public $error=array();

و هنگام فراخوانی باید چه جوری عمل کرد اینجوری:

$error->error[''];

یا با یک روش دیگه...؟!

خیلی ممنون که اینقد سریع جواب دادید...!

colors
یک شنبه 17 دی 1391, 17:30 عصر
سلام
اینو ببین

<?php
class ArrayInObject
{
public $names = array();
function add($name){
$this->names[] = $name;
}
}

$user = new ArrayInObject;
$user->add('sam');
$user->add('ali');
$user->add('sia');

foreach($user->names as $value){
echo $value.'<br>';
}
?>