مشکلات typeless بودن با oop

overcrash

Active Member
از ریلیز شدن نسخه 5 کد نوشتن کمی آزاردهنده شده
گرچه سالها منتظر پیدایش مفهوم کلاس تو php بودم و تمام مشکلات رو برطرف کرده اما
این typeless بودنش از لحاظ منطق-مفهوم آزاردهنده هست تا اونجایی که عملا مهمترین وظیفه ادیتورها انجام نشدنی هست
بحث شی گرایی وابسته به نوع اشیا هست که از نظر مفهومی php با این موضوع بسیار ضعیف رفتار کرده که اینهم بخاطر ذات typeless بودنش هست
به کد زیر دقت کنید که ادیتور نمیتونه به من کمک کنه تا مشخصه name رو برای من نشون بده یا اینکه جلوی خطای املاییم رو بگیره و همه فقط در لحظه نمایش مشخص میشن
PHP:
class Person
{
public $name
}
class PersonAdapter
{
public function GetNewPerson()
{
$p = new Person();
$p->name="hamid";
return $p
}
}

$adapter = new PersonAdapter();
$obj = $adapter->GetNewPerson(); //This line will not define $obj as Person class
echo $obj->name; //IDE could not help me to find 'name' and I must use it manualy!!!

نمیدونم آیا شما با این موضوع برخورد داشتید یا نه...
 

P.H.P

Member
سلام

من که متوجه منظورت نشدم؛ میشه بیشتر توضیح بدی میخوای چکار کنی؟

کدت فقط مشکل ; داشت

PHP:
class Person
{
public $name;
}
class PersonAdapter
{
public function GetNewPerson()
{
$p = new Person();
$p->name="hamid";
return $p;
}
}

$adapter = new PersonAdapter();
$obj = $adapter->GetNewPerson(); //This line will not define $obj as Person class
echo $obj->name; //IDE could not help me to find 'name' and I must use it manualy!!!

موفق
 

ziXet

مدیر انجمن PHP/MYSQL
از ریلیز شدن نسخه 5 کد نوشتن کمی آزاردهنده شده
گرچه سالها منتظر پیدایش مفهوم کلاس تو php بودم و تمام مشکلات رو برطرف کرده اما
این typeless بودنش از لحاظ منطق-مفهوم آزاردهنده هست تا اونجایی که عملا مهمترین وظیفه ادیتورها انجام نشدنی هست
بحث شی گرایی وابسته به نوع اشیا هست که از نظر مفهومی php با این موضوع بسیار ضعیف رفتار کرده که اینهم بخاطر ذات typeless بودنش هست
به کد زیر دقت کنید که ادیتور نمیتونه به من کمک کنه تا مشخصه name رو برای من نشون بده یا اینکه جلوی خطای املاییم رو بگیره و همه فقط در لحظه نمایش مشخص میشن
PHP:
class person
{
public $name
}
class personadapter
{
public function getnewperson()
{
$p = new person();
$p->name="hamid";
return $p
}
}

$adapter = new personadapter();
$obj = $adapter->getnewperson(); //this line will not define $obj as person class
echo $obj->name; //ide could not help me to find 'name' and i must use it manualy!!!

نمیدونم آیا شما با این موضوع برخورد داشتید یا نه...
مگه از چه ادیتوری استفاده میکنی؟
 

ziXet

مدیر انجمن PHP/MYSQL
PhpED
مگه با ادیتور دیگه name رو نمایش میده؟!
من منظور شما رو متوجه نمیشم!
ادیتور چه ربطی به خود زبان php داره؟
حتما ادیتوری که استفاده میکنید مشکل داره!
شایدم منظورتون suggestion هست که اون بستگی به ادیتور داره و میشه یه کاری کرد که با اون هم سازگاری پیدا کنه

موفق باشید
 

جدیدترین ارسال ها

بالا