PDA

View Full Version : برای حرفه ای شدن در php باید چکارکنم؟



hadi-pro1988
یک شنبه 19 دی 1395, 11:01 صبح
با عرض سلام خدمت اساتید گرامی سایت
من php رو در حد معمول بلدم یعنی میتونم بطور مثال یک cms ساده بنویسم.
در oop هم ساخت کلاس و استاتیک کردن کلاس و به ارث بردن کلاس رو هم بلدم. آیا کلاس و oop فقط همینه؟ اگه بازم هست چه مباحثی رو باید بخونم تا حرفه ای بشم؟
مثلا از کلاس Person آبجکتی به نام p تعریف میکنیم و برای دسترسی به محتوای اون کلاس از<- استفاده میکنیم. یعنی مثلا p->id. ولی در بعضی جا دیدم که از چندتا <- در یک خط استفاده میشه. این یعنی چی؟

یادگیری mvc ضروریه؟ مثلا برای یاد گیری فریم ورکی مثل laravel که یه نوع سیستم mvc هست حتما باید mvc بلد باشم؟

اساتید گرامی ممنون میشم منو راهنمایی کنید تا چجوری در php حرفه ای بشم.

پیام حیاتی
یک شنبه 19 دی 1395, 13:29 عصر
منطق MVC رو باید متوجه بشید تا بتوانید با فریمورک هایی مثلا لاراول یا ... کار کنید.
یک CMS ماژولار مثل جوملا یا وردپرس بنویسید.

charcharkh
یک شنبه 19 دی 1395, 13:33 عصر
سلام با اجازه استادان گرامی حالا که پایه کار رو بلدید برو بسمت فریم ورک بنظر من اول با codeigniter شروع کنید بعد که خوب یادش گرفتید برو سراغ yii2 همین اول نرو سراغ
laravel یکم مستنداتش سنگسن هست برای تازه کار اول codeigniter با مستندات بسیار ساده و کامل با ریز جزییات و سپس دیدی خوب یادش گرفتی yii رو یاد بگیرید طی همون مراحل یاذگیری هم mvc بهتون کاملا یاد میده

hadi-pro1988
یک شنبه 19 دی 1395, 14:41 عصر
ممنون. برای شی گرایی چی؟ چه چیزای دیگه باید یاد بگیرم؟

ravand
یک شنبه 19 دی 1395, 21:50 عصر
حرفه ای شدن به شی گرایی و معماری سه لایه کار کردن نیست. بدون اینام میشه بهترین برنامه ها رو نوشت.

پیام حیاتی
یک شنبه 19 دی 1395, 22:15 عصر
حرفه ای شدن به شی گرایی و معماری سه لایه کار کردن نیست. بدون اینام میشه بهترین برنامه ها رو نوشت.
لطفا بیشتر توضیح بدید...

plague
دوشنبه 20 دی 1395, 09:37 صبح
با عرض سلام خدمت اساتید گرامی سایت
من php رو در حد معمول بلدم یعنی میتونم بطور مثال یک cms ساده بنویسم.
در oop هم ساخت کلاس و استاتیک کردن کلاس و به ارث بردن کلاس رو هم بلدم. آیا کلاس و oop فقط همینه؟ اگه بازم هست چه مباحثی رو باید بخونم تا حرفه ای بشم؟
مثلا از کلاس Person آبجکتی به نام p تعریف میکنیم و برای دسترسی به محتوای اون کلاس از<- استفاده میکنیم. یعنی مثلا p->id. ولی در بعضی جا دیدم که از چندتا <- در یک خط استفاده میشه. این یعنی چی؟

یادگیری mvc ضروریه؟ مثلا برای یاد گیری فریم ورکی مثل laravel که یه نوع سیستم mvc هست حتما باید mvc بلد باشم؟

اساتید گرامی ممنون میشم منو راهنمایی کنید تا چجوری در php حرفه ای بشم.


ولی به نظر من بجای اینکه خیلی بری تو عمق ارث بری شروع کن به یادگیری فریم ورک چون فریم ورک این مباحث پیشرفته تر شی گرایی رو پوشش میده و نیازی نداری که باهاشون از الان آشنا بشی
از طرفی یادگیری این مباحث پیشرفته برای ساخت وبسایت های معمولی به خودی خود کاربرد خیلی زیادی نداره
کاربردشون برای ساختن ساختن ساختار های پیچیده مثل فریم ورک هستش

یعنی شما میتونی این مباحث رو یاد بگیرید که بعد باهاشون یه ساختار پیچیده شبه فریم ورک درست کنی بعد با اون فریم ورک سایت بسازی
یا اینکه مستقیم برید با فریم ورک آماده که کسی نوشته کار کنید و بزارید اون فریم ورک به این چیزا فکر کنه و شما تمرکزتون رو بزارید روی نوشتن خود وبسایت

مثل اینه که شما بخای خونه بسازی میتونی تمرکزت رو بزاری روی بنایی و معماری خونت و دروپنجره و برقکاری و لوله کشی و ..... رو بدی یه پیمانکار وارد به این موارد
یا اینکه میتونی اینا رو هم خودت یاد بگیری و و همه کارا رو خودت بکنی که خیلی هم خوبه و همه فن حریف میشی ولی ساخت خونت چند سال طول میکشه
تو این مدت حسابی خسته و گیج ممکنه بشی و حتی زده بشی از کار و قیدش رو بزنی
و درنهایت 1 ماه بعد ساخت میبینی برقت جرقه میزنه و خونه آتیش میگیره یا لوله ها میترکه و ....
تو این مدت هم بیزنس تعطیله چون هم وقتش رو نمیکنی بسازی اگرم بسازی خونه مشتری هم کلی مشکل براش پیش میاد مثل خونه اولت
اولویت بندی کن چیزایی رو که باید یاد بگیری

شما 1-2 سال شروع کارت پروژه های کوچیک تا متوسط انجا خواهی داد که نیازی به این مباحث نداره پس تمرکزت رو بزار رو مباحثی که تو این رنج کاربرد داره و بعدا برو سراغ موارد پیچیده تر چون خیلی چیزا هست که باید یاد بگیری که استفاده بیشتری خواهند داشت

mvc یه دیزاین پترنه که میگه کد های دیتبایس - منطق - و قالب بجای اینکه توی یک صفحه نوشته بشن باید جدا بشن چیز خاصی نداره که بخای یاد بگیری و کد نویسی در کار نیست فقط باید یجوری این کد هارو جدا و در هنگام فراخانی صفحه به هم متصل کنی که فریم ها خودشون این کار رو برات انجام میدن و نیاز نیست چیز اضافه یا خاصی یاد بگیری فقط کافیه 1-2 سطر تئوری بخونی تا وقتی فریم ورک کار میکنی متوجه بشی چرا کد هایی که برای یک صفحه هستن کنارهم و توی یک صفحه نوشته نمیشن

اونکه چند تا -> داره هم بهش میگن متد چینینگ یا زنجیر کردن متد ها وقتی یه تابع شی برمرگدونه شما میتونی مستقیما از شی همونجا استفاه کنی بجای اینکه بریزیش توی یک متغیر دیگه مثلا کلاس اداره و کارمند زیر




class office{
function create_employe(){
return new employe();
}
}

class employe {
function work(){
echo 'im working';
}
}



شما میتونی اینجوری استفاده کنی





$office = new office();
$ali = $office->create_employe();
$ali->work();






یا میتونید زنجیرش کنید متد ها رو


$office = new office();
$office->create_employe()->work();

ravand
دوشنبه 20 دی 1395, 11:22 صبح
لطفا بیشتر توضیح بدید...
شما با رویه گرایی هم میتونید پیچیده ترین برنامه ها رو بنویسید. نیازی نیست حتما شی گرایی و ... یاد بگیرید. منظورم همینه.

DelDard
دوشنبه 20 دی 1395, 11:35 صبح
شما با رویه گرایی هم میتونید پیچیده ترین برنامه ها رو بنویسید. نیازی نیست حتما شی گرایی و ... یاد بگیرید. منظورم همینه.

رویه گرایی یعنی چی؟

ravand
دوشنبه 20 دی 1395, 12:17 عصر
رویه گرایی یعنی چی؟
همین کدنویسی معمولی بدون شی گرایی و معماری سه لایه و ...

پیام حیاتی
دوشنبه 20 دی 1395, 13:08 عصر
شما با رویه گرایی هم میتونید پیچیده ترین برنامه ها رو بنویسید. نیازی نیست حتما شی گرایی و ... یاد بگیرید. منظورم همینه.

حتمن همینطور هست اما استفاده از روش رویه گرا در پروژه های متوسط و بزرگ که در آینده نیز نیاز به بروزرسانی بخش ها مختلف دارند یک فاجعه هست.
گذشته از این تمامیه مباحث و آموزش ها به سمت شی گرایی پیش می روند و در آینده نزدیک روش رویه گرا آرشیو خواهد شد و یا تنها در مباحث آموزشی اولیه جهت آمادگی دانشجو برای مباحث شی گرا خواهد بود همانند Console در سی شارپ.
مزایا و معایب هم در حد مقایسه نیست.
موفق باشید.

ravand
دوشنبه 20 دی 1395, 14:22 عصر
حتمن همینطور هست اما استفاده از روش رویه گرا در پروژه های متوسط و بزرگ که در آینده نیز نیاز به بروزرسانی بخش ها مختلف دارند یک فاجعه هست.
گذشته از این تمامیه مباحث و آموزش ها به سمت شی گرایی پیش می روند و در آینده نزدیک روش رویه گرا آرشیو خواهد شد و یا تنها در مباحث آموزشی اولیه جهت آمادگی دانشجو برای مباحث شی گرا خواهد بود همانند Console در سی شارپ.
مزایا و معایب هم در حد مقایسه نیست.
موفق باشید.
چطوری به این نتیجه رسیدید که استفاده از رویه گرا یک فاجعه است؟!!
این روش هیچ وقت حذف نمیشه. رویه گرا طوریه که همه حتی مبتدی به راحتی ازش سر در میاره.
شما اطلاع ندارید این شی گرایی هست که داره کنار گذاشته میشه الان گوگل در زبان گولنگ امده به جای شی گرایی از روش دگه ای استفاده کرده.

پیام حیاتی
دوشنبه 20 دی 1395, 22:00 عصر
چطوری به این نتیجه رسیدید که استفاده از رویه گرا یک فاجعه است؟!!
این روش هیچ وقت حذف نمیشه. رویه گرا طوریه که همه حتی مبتدی به راحتی ازش سر در میاره.
شما اطلاع ندارید این شی گرایی هست که داره کنار گذاشته میشه الان گوگل در زبان گولنگ امده به جای شی گرایی از روش دگه ای استفاده کرده.
اگر در پروژه های متوسط و بزرگ استفاده کرده اید تفاوت رو متوجه می شدید!
خیلی ها هم میگفتن نوکیا هیچ زمان سقوط نمی کند در واقع در دنیای فناوری نمی توان به یقین در مورد آینده صحبت کرد.
در برنامه نویسی رویه گرا شما به حتم کلاس و ابجکت استفاده کرده اید یعنی همان شی گرا، نگید که استفاده نکردید.
حذف شی گرا یعنی حذف ساختار کدنویسی جاوا! یعنی بلا استفاده ماندن فریمورک هایی مثل لاراول و ... .


گوگل یک آزمایشگاه بزرگ نیز هست برای خلق خیلی از مواردی که به شکست منجر شدند و اندک مواردی که قوت گرفتند و به نتیجه رسیدند.
تا این زبان و روش جدید بیاد وارد کار بشه دوستمون که میخواستن حرفه ای بشن تمامیه مباحث مورد نیاز رو فراگرفتند.

peymanpyq
شنبه 25 دی 1395, 23:33 عصر
اتفاقا وقتی پروژه ها بزرگ می شن و نیاز به کارایی بالا و پیچیدگی پایین هست از برنامه نویسی رویه گرا استفاده می کنن
کمپانی های بزرگ رو ببینید که مثلا برنامشون رو با پایتون یا روبی یا جاوا نوشتن ولی بعدتر به یکی از زبان های رویه گرا کوچ کردن یا قسمت بزرگی از برنامشون رو با اون زبان نوشتن

یه مورد دیگه شی گرایی باعث پیچیدگی و کند بودنش به خاطر همین ابجکت هاس.
جاوا زبان قوی هست و ولی یه نگاهی هم به kotlin و زبان های رویه گرا بندازید
زبان های رویه گرا مفهوم هایی مثل interface و struct ها و ... دران که می شه باهاشون نرم افزار های بزرگ نوشت

شی گرایی هم یه مفهومه مثل mvc و خیلی از چیزای دیگه یعنی می شه داخل زبان های رویه گرا هم شی گرایی رو پیاده کرد ولی چه مزیت هایی بدست میاری؟

hacker20
یک شنبه 26 دی 1395, 15:27 عصر
منم با این موافقم که برای ساخت یک برنامه خوب با کدهای خوب نیازی به برنامه نویسی شی گرا نیست ، الان شما همین کلاس Person رو که بالا گفتن اگه طوری ساختین که تو پروژتون کارتون رو قابل فهمتر ، انعطاف پذیرتر و در نهایت ساده تر کرد خوبه ولی بیش تر پروژه هایی که حداقل ما برنامه نویسان تنهایی یه نفری درست میکنیم اونقدری بزرگ نیست که بخوایم بگیم این لایه بندی لزوما میخواد کار ما رو آسون تر بکنه . هدف اصلی این همه شی گرایی یا نمیدونم الگوهای طراحی یا تابع و... ساده سازی ، پرهیز از کدهای تکراری/قابلیت استفاده مجدد از کدی که نوشتیم و اینکه یه موقه خواستیم پلتفرم ، دیتابیس و سایر چیزای وابسته رو تغییر اینا بدیم با کمترین دردسر اینکارو بکنیم و تو کار تیمیم میتونه کمک کنه کار ساده تر شه ولی نه اینکه کلاس درست کنیم ، پز بدیم بگیم کد من شی گراس..اینکه کد نویسی شی گرا بوجود اومده حتما دلیلی داشته پس اونطوریم نیست که مزیت نداشته باشه اما به نظرم حتی پروژه های بزرگ رو هم میشه بدون استفاده از شی گرایی مدیریت کرد فقط باید یک مدیر خوب و دید خوب پشتش باشه. اما این تابع رو نگو واقعا چیز بدرد بخوری هست واقعا اگه نبود نمیدونم چیکار باید میکردیم

hacker20
یک شنبه 26 دی 1395, 15:34 عصر
باید بگم اینو ازاین جهت گفتم که هدف شما نباید حرفه ای شدن تو PHP به این مفهوم باشه ، البت اگه قصد دارید تو یک شرکتی استخدام بشید متاسفانه اینطور مسائل بلد بودنش خیلی اوقات الزامی هست ، ولی اگر میخوای کار مفیدی انجام بدی حرف های شدن در PHP به این مفومی که گفتی رو از اهدافت حذف کن چون پوچ هست و چیزی توش نیست ، چیزی رو هدف قرار بده که باقی باشه نه فانی ،..یاد بگیرید اما به عنوان هدف بهش نگاه نکنید..هدف اون چیزیه که به خودتون یا چن نفر دیگه خیر برسونه..

farhadhp
یک شنبه 26 دی 1395, 20:46 عصر
باید بگم اینو ازاین جهت گفتم که هدف شما نباید حرفه ای شدن تو PHP به این مفهوم باشه ، البت اگه قصد دارید تو یک شرکتی استخدام بشید متاسفانه اینطور مسائل بلد بودنش خیلی اوقات الزامی هست ، ولی اگر میخوای کار مفیدی انجام بدی حرف های شدن در PHP به این مفومی که گفتی رو از اهدافت حذف کن چون پوچ هست و چیزی توش نیست ، چیزی رو هدف قرار بده که باقی باشه نه فانی ،..یاد بگیرید اما به عنوان هدف بهش نگاه نکنید..هدف اون چیزیه که به خودتون یا چن نفر دیگه خیر برسونه..
کی گفته phpپوچ هست؟
بجای راهنمایی بیشتر استارتر رو مایوس کردی!!!

hacker20
دوشنبه 27 دی 1395, 00:57 صبح
کی گفته phpپوچ هست؟
بجای راهنمایی بیشتر استارتر رو مایوس کردی!!!

شمام مارو گرفتینا نه ؟ من کجا گفتم PHP پوچه . خوبه خودتون حرفمو نقل قول کردین. پستمو یک بار دیگه یا هر چند بار دیگه که لازمه بخونید . من اصلا چنین چیزی نگفتم . PHP خیلی چیز قشنگیه یادش بگیرید . ولی من فقط دارم میگم حرفه ای بودن اگر یادگیری مفاهیم پیشرفته شی گرایی و اینها هست ، به نظرم برداشتتون از حرفه ای بودن و کلمه حرفه ای اشتباه هست..اگر منظور از حرفه ای Expert هست من میگم حرفه ای بودن صرفا به بلد بودن شی گرایی و اینها نیست من خودم برای حرفه ای بودن تو PHP یک معیاری دارم که الان خوابم میاد بعد اگه عمری شد عرض میکنم خدمتتون ، اما اگر منظورتون Professional هست بازم هیچ ربطی به بلد بودن شی گرایی نداره ..صحبت من این هست که اگر دنبال مفید واقع بودن هستید راه دیگری را باید طی بکنید ، این جور چیزارو زیاد نباید بهش دلبست و به دید هدف بهش نگاه کرد . اینکه "من میخوام تو PHP حرفه ای شم" از طرف کسی که تازه وارد PHP شده سوال بشه من اینو اینجوری معنا میکنم که میخواد یه سایت اینا را بندازه منظورش از حرفه ای بودن سر هم کردن کدا به شکلی هست که کار بدن ، اما وقتی کسی که مثل استارتر این تاپیک که ظاهرا مفاهیم زیادی رو بلد هست میاد میگه "من میخوام تو PHP حرفه ای شم" اینجا برام علامت سوال ایجاد میشه که این آدم به چی میخواد برسه؟ دنبال چی هست ؟

و الا منظور دلسرد کردن واینها نیست . باید یاد گرفت . خیلی چیزهارو باید یادگرفت که شی گرایی در بین اونها حرفی برای گفتن ندارد. من عادت دارم سعی کنم ذهن پرسش کننده رو بخونم و این پاسخ دهی من که به نظر شما بیراه هست شاید حرف شما درست باشه و من نتونستم بفهمم استارتر تو ذهنش چی میگذره.

مهرداد سیف زاده
دوشنبه 27 دی 1395, 06:45 صبح
متاسفانه رویه‌ای که در بیشتر برنامه نویسان و شرکتها پیش گرفته شده(نه تنها ایران بلکه دیگر کشورها هم همینطور هست) همه کاره و هیچ کاره.
دقیقا با همین مفهوم. میگن fullstack deeloper باشه. یعنی #c,mysql,mssql,python,php,perl, linux و .... بلد باشه. و اونم با حداکثر ۳۰ سال سن. خب این همه فناوری رو یه نفر اونم با این رنج سنی کسب کنه. بله میشه یاد گرفت. ولی نه تخصصی هر کدوم. مثلا php رو حد نوشتن یه crud ساده. #c رو حد باز شدن پنجره و ارتباط از طریق entity و هر کدوم این ها رو به قدر نیاز و برطرف کردن حداقل نیازهای مشتری با بیشترین باگ‌ها و کم‌ترین قابلیت نگهداری.
ولی در عوض هستن شرکتها و برنامه نویسانی که تخصص دارن. طرف چنان در کدنویسی php مهارت داره که وقتی یه web app رو مینویسه تا ۱۰ سال دیگه همون web app نگهداری میشه و با کمترین باگ داره بکارش ادامه میده. نمونش همین wordpress هسته اولیه ۵ سال پیش تا الان تغییر چندانی نداشته. یعنی همون ۴و۵ تا برنامه نویس روزهای اول چنان کد و هسته ای ساختن که سالهاست داره استفاده میشه. حالا مطئنا اگر برید از همون برنامه نویس ها بپرسید #c بلدی شاید بهت بخندن وو بگن خیر بنده کدنویس php هستم.
حرفه ای شدن صرفا به یادگیری نیست. یادگیری که این روزها خیلی راحت و سریع هست. شما از کلی ترین تا جزئی ترین موارد رو با یه سرچ ساده و پیدا کردن هزاران پست و فیلم و داکیومنت بهش میرسی. اصل حرفه ای شدن در تجربه و قدرت الگوریتم هست. شاید باورتون نشه ولی پاس کردن درسهایی مثل طراحی الگوریتم و ساختمان داده توی رشته نرم افزار خیلی خیلی توی برنامه نویسی حرفه ای کاربرد داره. یه کار پیچیده رو با اگر با ۲۰ تا if و switch تو در تو بصورت ناقص دارید انجام میدید که نگهداریش هم سخته با طراحی یه الگوریتم منطقی و قابل فهم مناسب که نهایتا با ۲ تا if و یه switch پیاده سازی شده خیلی خیلی مناسب تر و سریع تر هست.
متاسفانه منابع یادگیری برنامه نویسی و کلاسهای برنامه نویسی این روزها خیلی زیاد شده. اما کیفیت به شدت پایین اومده. مخصوصا مشاهده شده برنامه های سنگینی که با قیمت خیلی ناچیز نوشته شده و بعدها گریبان گیر کاربران استفاده کننده شده.
به نظرم برای حرفه ای شدن قدرت الگوریتم و بهره برداری تمام امکانات اون زبان رو مد نظر قرار بدید. مثلا روی همین php وقت دارید میزارید، مفید و مطمئن وقت بزارید. مثلا رو شی گرایی وقت میزارید دیگه همه چیز رو یه دو ر کاملا مرور کنید. مثلا اگر کتابی شی گرایی رو صرفا در حد نوشتن یه کلاس و فراخوانی توضیح داده، برید سراغ منابع دیگه ببینید چطور auto loading رو توضیح داده. و همینطور mvc و چیزهای دیگه.
به امید موفقیت تمامی دوستان و همراهان عزیز.

amirhossein.sh
دوشنبه 27 دی 1395, 13:06 عصر
دوستان با عرض معذرت ، میدونم جای این پرسش اینجا نیست اما میدونم که ارزش ایجاد تاپیک جدیدو نداره پس همینجا میپرسم
من اموزش علی لفظی قاضی در مورد کار با کیک پی اچ پی رو تا یه جاهایی خوندم اما رسیدم به مثالاش و دیدم که از شی گرایی استفاده کرده ، اما من شی گرایی بلد نیستم ، سوال من اینه ، فریمورکی هست که بدون نیاز به دونستن شی گرایی بشه باهاش کار کرد ؟

hamedarian2009
دوشنبه 27 دی 1395, 13:18 عصر
دوستان با عرض معذرت ، میدونم جای این پرسش اینجا نیست اما میدونم که ارزش ایجاد تاپیک جدیدو نداره پس همینجا میپرسم
من اموزش علی لفظی قاضی در مورد کار با کیک پی اچ پی رو تا یه جاهایی خوندم اما رسیدم به مثالاش و دیدم که از شی گرایی استفاده کرده ، اما من شی گرایی بلد نیستم ، سوال من اینه ، فریمورکی هست که بدون نیاز به دونستن شی گرایی بشه باهاش کار کرد ؟

خیر تقریبا همه فریمورکهای PHP شی گرا و با MVC هستن بنابراین پیش نیاز یادگیری اونها تسلط نسبی به شی گرایی و Mvc هست

amirhossein.sh
دوشنبه 27 دی 1395, 13:41 عصر
میشه منبع مناسب برای یادگیری شی گرایی معرفی کنید ؟
کتاب php انتشارات ناقوس و کتاب آقای جعفر نژاد قمی رو خوندم ، اما کمکی نکرد

خیر تقریبا همه فریمورکهای PHP شی گرا و با MVC هستن بنابراین پیش نیاز یادگیری اونها تسلط نسبی به شی گرایی و Mvc هست

intheway
دوشنبه 27 دی 1395, 14:02 عصر
برای حرفه ای شدن تو PHP هیچ کتاب فارسی یا منبع فارسی حداقل تاکنون موجود نیست . اگه میخواین حرفه ای بشین یه سایت هست با عنوان PHP_The_Right_Way که من کل مطالبشو تبدیل کردم به صورت PDF . ضمیمه همین پست کردم . کلا شد حدود 120 صفحه . به خوندنش 100% می ارزه .
http://s8.picofile.com/file/8282637476/PHP_The_Right_Way.pdf.html

hamedarian2009
دوشنبه 27 دی 1395, 21:45 عصر
میشه منبع مناسب برای یادگیری شی گرایی معرفی کنید ؟
کتاب php انتشارات ناقوس و کتاب آقای جعفر نژاد قمی رو خوندم ، اما کمکی نکرد

بهتره در گوگل جستجو کنید و فیلم های آموزشی مخصوصا انگلیسی در مورد شی گرایی در PHP و MVC وجود دارد در ضمن این سایت هم به نظرم مطالب مفیدی در مورد شی گرایی گفته
http://beyamooz.com/php/110-class/142-%DA%A9%D9%84%D8%A7%D8%B3%D9%87%D8%A7-%D8%AF%D8%B1-php