بخش اول دوره با مقدمه ای بر برنامه نویسی شی گرا شروع می شود. OOP چیست؟ و چرا ما به آن نیاز داریم؟ و قبل از OOP چه بود؟ جزئیات کمی در مورد زبان رویه ای. همچنین یاد خواهیم گرفت که چگونه OOPness را در برنامه نویسی خود اضافه کنیم. سپس مزایای برنامه نویسی شی گرا.
در بخش دوم، اصول اولیه OOP را با مثال واقعی و سپس نحوه نگاشت آن را در اشیا، کلاسها، ویژگیها و روش مورد بحث قرار خواهیم داد.
سپس چگونه می توان اشیاء و کلاس ها را در php ایجاد کرد؟ چگونه ویژگی ها و روش ها را اضافه کنیم؟ چگونه از آنها استفاده کنیم؟ و در پایان این بخش با پارامترها و مقادیر بازگشتی یک متد آشنا می شویم.
بخش سوم نمایان بودن و سه سطح آن را توضیح میدهد. پس چرا باید دید عمومی، خصوصی یا محافظت شده خصوصیات و متدها را در یک کلاس تعریف کنیم.
بخش چهارم مفهوم ثابت ها را در کلاس ها توضیح می دهد.
بخش پنجم در مورد کپسوله کردن داده ها توضیح می دهد. چرا ما به آن نیاز داریم؟ و نحوه اجرای آن و سپس مزایای کپسولاسیون.
در بخش ششم در مورد وراثت با مثال زندگی واقعی بحث خواهیم کرد. سپس نحوه ترجمه آن در کلاس ها، ویژگی ها و متدها در کد php. رابطه ISA و HASA چیست و کجا از ISA استفاده کنیم و کجا از HASA در کلاس ها و اشیاء استفاده کنیم.
بخش هفتم مشکلی را توضیح میدهد که یک کلاس فرزند به نسخه خود از روش کلاس والد نیاز دارد، سپس چگونه نادیده گرفتن روش این مشکل را حل میکند. سپس چگونه می توانید عملکرد متد کلاس والد را در حین نادیده گرفتن حفظ کنید.
بخش هشتم توضیح میدهد که چگونه میتوانید با استفاده از کلمه کلیدی نهایی، وراثت و نادیده گرفتن روش را مسدود کنید.
بخش نهم توضیح میدهد که معنای انتزاعی در دنیای واقعی چیست، سپس معنای کلاسهای انتزاعی چیست، چرا به i نیاز داریم؟ روش های انتزاعی چیست و چرا به آن نیاز داریم؟ سپس در مورد نحوه ایجاد کلاس ها و متدهای انتزاعی در php نیز بحث خواهیم کرد.
در پایان نکات کلیدی برای کلاسها و متدهای انتزاعی چیست.
در بخش دهم بحث خواهیم کرد که چه اتفاقی میافتد وقتی دو کلاس از سلسله مراتب کلاسهای کاملاً متفاوت به رفتاری مشابه نیاز دارند و چگونه رابط این مشکل را حل میکند.
در بخش یازدهم به این خواهیم پرداخت که وقتی یک جسم متولد می شود و چه زمانی می میرد چه اتفاقی می افتد. چگونه می توانیم در هر دو موقعیت با استفاده از سازنده و ویرانگر امور را مدیریت کنیم. نحوه تعریف و استفاده از سازنده و ویرانگر با استفاده از متدهای جادویی __construct() و __destruct().
بخش دوازدهم وضعیتی را توصیف میکند که در آن ما فقط به یک کپی از ویژگیها و متدها برای تمام اشیاء یک کلاس نیاز داریم. کلمه کلیدی استاتیک می تواند این مشکل را حل کند. بنابراین خواهیم دید که چگونه میتوانیم ویژگیها و متدهای ثابت را بدون ایجاد یک شی از یک کلاس ایجاد و استفاده کنیم.
در بخش سیزدهم توضیح داده شده است که 15 روش جادویی در php وجود دارد. بنابراین ما این روش های جادویی را یکی یکی به تفصیل مورد بحث قرار خواهیم داد.
بخش چهاردهم بزرگترین بخش در این دوره است. در این مطلب در مورد خطاها و استثناها بحث خواهیم کرد.
چه چیزی قرار است خطا در php باشد؟ چگونه آنها اتفاق می افتد؟ انواع مختلف خطاها چیست؟ چگونه می توانید خطاها را توسط خودتان ایجاد کنید؟ و خطای منطقی چیست؟ سپس خواهیم دید که چگونه می توانیم خطاها را در صورت وقوع گزارش کنیم و چگونه می توانید تنظیمات گزارش خطا را در php.ini تغییر دهید. همچنین با 4 روش مقابله با خطا آشنا خواهیم شد. سپس نحوه استفاده از کنترل کننده خطا و در نهایت چگونه می توانید پیام های خطا را ثبت کنید.
پس از خطاها، در مورد اینکه ممکن است رفتار مخاطرهآمیز کد شما چیست و چگونه میتوانیم از استثناها برای مدیریت آن رفتار پرخطر استفاده کنیم، بحث خواهیم کرد. خواهیم دید که چگونه میتوانیم برخی رفتارهای مخاطرهآمیز را امتحان کنیم، سپس چگونه میتوانیم در صورت بروز اشتباه، یک استثنا را انجام دهیم و چگونه میتوانیم آن استثنا را بگیریم. سپس بحث جزئیات در مورد کلاس استثنا در php و stack trace برای استثنا. سپس چگونه می توانید استثناهای سفارشی خود را با گسترش php ساخته شده در کلاس استثنا ایجاد کنید. چرا باید از try با چند گیر استفاده کنیم و چگونه یک استثنا را دوباره پرتاب کنیم. چه اتفاقی میافتد وقتی در کد شما یک استثنا وجود داشته باشد. کنترلکننده استثنا what is.
سپس در پایان این بخش، تغییرات خطاها و استثناها در php7 را مورد بحث قرار خواهیم داد.
بخش پانزدهم توضیح میدهد که چگونه میتوانید کلاسها را به صورت خودکار در کد خود بدون استفاده از عبارات شامل و نیاز بارگیری کنید. سپس از تابع autoloader برای این منظور استفاده کنید. سپس در مورد بارگذاری خودکار کلاسهای فضای نام در کد شما با استفاده از استانداردهای بارگذاری خودکار Psr-0 و Psr-4 بحث خواهیم کرد، اما قبل از آن، فضای نام در php چیست.
بخش شانزدهم درباره سریال سازی اشیا است. چرا باید یک شی را سریال کنیم؟ سپس زمان و نحوه غیرسریال کردن آن. همچنین یاد خواهیم گرفت که چگونه کارهایی را که قبل از سریال سازی یک شی با استفاده از متد جادویی __sleep() انجام می دهند. سپس چگونه می توان بلافاصله پس از عدم سریال سازی یک شی با استفاده از روش جادویی __wakeup() کار را انجام داد.
بخش هفدهم در مورد شبیه سازی یک شی است که در آن ما دو نوع شبیه سازی را مورد بحث قرار خواهیم داد که عبارتند از کپی کم عمق و کپی عمیق. در کلونینگ کپی عمیق در مورد روش جادویی __clone() نیز بحث خواهیم کرد. سپس شاهد شبیه سازی بازگشتی و سپس مشکل پیوند دوگانه در شبیه سازی خواهیم بود. در پایان به شبیه سازی کپی عمیق با استفاده از سریال سازی می پردازیم.
بخش هجدهم در مورد اشاره نوع است. در اینجا خواهیم دید که چگونه می توانیم از انواع داده های غیر اسکالر و اسکالر برای اشاره به نوع استفاده کنیم. ما همچنین در مورد انواع داده های اسکالر دقیق و استثنا TypeError که در php7 معرفی شده است بحث خواهیم کرد.
در بخش نوزدهم دو روش مقایسه اشیا را یاد خواهیم گرفت. اولی از عملگر مقایسه (==) و دومی از عملگر هویت (===) استفاده میکند.
بخش بیستم درباره بارگذاری بیش از حد یک شی است. ما یاد خواهیم گرفت که چگونه با استفاده از متدهای جادویی __get()، __set()، __isset() و __unset() بارگذاری بیش از حد ویژگی را انجام دهیم. سپس چگونه می توان با استفاده از روش های جادویی __call()، __callStatic() بارگذاری بیش از حد متد را انجام داد.
بخش بیست و یکم در مورد صفات توضیح می دهد. ابتدا در مورد الماس مرگبار در وراثت چندگانه بحث خواهیم کرد. سپس ارث مجرد و محدودیت های آن. سپس چگونه صفات چیزهای ارثی چندگانه را در php ارائه می دهند. سپس اگر یک کلاس والد و یک صفت متد یکسانی داشته باشند، ترتیب تقدم چگونه خواهد بود و اگر یک صفت و کلاس فعلی متد یکسانی داشته باشند، ترتیب تقدم چگونه خواهد بود. همچنین در مورد استفاده از چندین صفت و سپس نحوه ترکیب یک صفت از سایر صفات بحث خواهیم کرد.
در پایان به اعضای صفت انتزاعی و ایستا و ویژگیهای صفت میپردازیم.
بخش بیست و دوم اتصال استاتیک دیررس را شرح می دهد. برای این، ابتدا برخی از مفاهیم اساسی صحافی را مورد بحث قرار خواهیم داد.
پس مشکل اتصال اولیه کلمه کلیدی خود و در پایان راه حل آن که اتصال استاتیک دیرهنگام است چیست.
بخش بیست و سوم تکرار شی را توضیح می دهد. ابتدا در مورد برخی از مفاهیم اساسی مانند تراورس، تکرار و تکرار با استفاده از حلقه ها ایده خواهیم گرفت. سپس تکرار شی چیست و چگونه می توانید یک شی را با استفاده از Iterator Interface و IteratorAggregate Interface تکرار کنید.
سائرا صادق
نمایش نظرات