PDA

View Full Version : برنامه نویسی شیء گرا OOP



Ahmad06
شنبه 30 آبان 1388, 13:45 عصر
سلام.
من توی زبان PHP با شیء گرایی اصلا هنوز نتونستم کنار بیام.
بهترین راه برای یادگیری شیء گرایی چی هست روشی که
خیلی ساده و مشخص از ابتدا شروع کنه و بطور مناسب آموزش
بده .

توی برنامه نویسی مورد خاصی ندارم با پی اچ پی
و راحت برنامه مینویسم اما نه به صورت شیء گرا.

منبعی ، مقاله جامع و مناسبی سراغ دارید

امیـرحسین
شنبه 30 آبان 1388, 14:40 عصر
شی گرایی توی PHP از زبانهای دیگه ابتدایی تره!
اگر OO رو توی یه زبان دیگه مثل C یا Java بلدید، دیگه مشکلی نداره چون مال PHP ساده شده اشه.

mahmood3d
شنبه 30 آبان 1388, 18:59 عصر
سلام
منم به تازگی شروع کردم که برنامه هام رو به صورت شیء گرا بنویسم و فکر کنم با نوشتن برنامه های متفاوتی با روش شیء گرایی بتونم این مشکل رو حل کنم
حالا الان یک مشکلی دارم.
برنامه من با دیتا بیس ارتباط داره و مشخصات ارتباط با دیتا بیس در یک فایل ذخیره شده و در هر جایی که می خوام از دیتابیس استفاده کنم اول این فایل رو اینکلود می کنم و کوری های مربوطه رو می نویسم.
حالا من این فایل رو داخل یک کلاس اینکلود کردم (قبل از شروع کلاس یعنی قبل از کلمه کلیدی class) و کوری هامو نوشتم. تمامی کوری ها به راحتی اجرا میشه و مشکلی که وجود داره اینه که من توی ارتباط با دیتا بیس وقتی که از دستور mysql_connect استفاده کردم اونو به یک متغیر نسبت دادم و حالا وقتی که می خوام از این متغیر توی کلاس استفاده کنم خطا می ده و کلا این متغیر رو نمی شناسه. حالا من می خوام این متغیر رو داخل کلاس بفرستم ولی نمی دونم چطوری؟
از اساتید محترم می خوام که نحوه استفاده از دستورهای get و set رو توی پی اچ پی رو توضیح بدن تا مشکل من حل بشه.
ممنون

امیـرحسین
شنبه 30 آبان 1388, 23:37 عصر
از global استفاده کنید.

zoghal
یک شنبه 01 آذر 1388, 10:44 صبح
تو سازمان برنامه نویسان پی اچ پی زیاد بحث شده. یک سر به اونجا بزنید.
www.iranphp.org

mahmood3d
یک شنبه 01 آذر 1388, 11:46 صبح
از global استفاده کنید.
میشه یک نمونه کد بزارید؟

payamsp
یک شنبه 01 آذر 1388, 12:47 عصر
براي استفاده از يك متغير سراسري داخل يك متد كلاس يا يك فانكشن بايد اول با استفاده از كلمه global اونو تعريف كنيد بعد ازش استفاده كنيد



$name='test';
class A
{
private $name;
public function __construct()
{
global $name;
$this->name=$name;
echo $this->name;
}
}

mahmood3d
یک شنبه 01 آذر 1388, 19:05 عصر
با این روش مشکلم حل شد. من متغیر گلوبال رو خارج از کلاس تعریف می کردم برای همین خطا می داد.:اشتباه:
از راهنماییتون خیلی ممنونم. :لبخندساده: