این زبان عمر شی گرا بودن خود را با نسخه 4 آغاز کرد و یک مدل شی کاملاً مناسب با نسخه 5 این زبان ارائه داد. بحث گسترده ای در مورد این که آیا OOP بهتر از این رویه است یا خیر، هیچ وقت به پایان نخواهد رسید. این که آیا این بحث هرگز به نتیجه برسد، در کل داستان دیگری است، اما من قویاً معتقدم که توسعه شی گرا روش بهتری است. شاید این مقاله دلیل آن را نشان دهد. در این کلاس اصول اساسی برنامه نویسی شی گرا (OOP) با PHP را بررسی خواهیم کرد. هدف ما این است که تعریف کنیم برنامه نویسی شی گرا به منظور ساخت سایت چیست و مزایا و معایب استفاده از آن را شرح می دهیم.

اصول شی گرایی در PHP-طراحی سایت

مبانی اشیا

در دنیای واقعی ما اشیا را به عنوان موجوداتی واقعی تصور می کنیم: ماشین، دروازه یا لامپ. این نهادها می توانند کارهایی انجام دهند اتومبیل ها می توانند رانندگی کنند، دروازه ها می توانند باز یا بسته شوند و لامپ ها می توانند نور ساطع کنند. اما چیز دیگری بیش از آنچه در چشم است وجود دارد، زیرا نه تنها اشیا things می توانند کارهایی انجام دهند، بلکه دارای ویژگی هایی نیز هستند. یک ماشین می تواند با سرعت مشخص و در یک جهت خاص حرکت کند. یک دروازه می تواند باز یا بسته باشد و یا مشغول بستن یا باز شدن باشد. یک لامپ می تواند روشن یا خاموش باشد، در یک دما خاص نور ساطع کند، نسبت به دما و توان آن با سرعت خاصی برق مصرف کند.
در این زبان می توانیم اشیا را به روش های مشابه تعریف کنیم. ما می توانیم خصوصیاتی را به آنها اختصاص دهیم و همچنین به آنها اجازه دهیم برنامه ها را به طور برنامه ریزی شده انجام دهند. بدیهی است که این اشیا فقط در خود برنامه وجود خواهند داشت ، اما از طریق رابط های کاربری مانند صفحات وب (طراحی سایت آگهی)، می توانیم با آنها ارتباط برقرار کنیم و آنها را به انجام وظایف و رویه ها و همچنین محاسبه ، بازیابی و اصلاح خصوصیات وادار کنیم.
این زبان به ما یک روش بسیار ساده برای تعریف برنامه ی یک شی می دهد و به آن کلاس می گویند. این فرآیند یک بسته بندی است که شی را به همراه تمام روش ها و ویژگی های آن تعریف و محصور می کند. شما می توانید یک کلاس را به عنوان نمایشی برنامه ای از یک شی در نظر بگیرید و این همان رابطی است که این زبان به شما ، توسعه دهنده ، برای تعامل و اصلاح شی، داده است. علاوه بر این ، یک کلاس ممکن است در صورت لزوم مجدداً مورد استفاده قرار گیرد و آن را بسیار قدرتمند و دوستدار کد می کند. لازم نیست هر بار که می خواهید از یک شی استفاده کنید چیزها را دوباره تعریف کنید - یک کلاس با کدگذاری صحیح تنظیم شده است تا همه کارها را برای شما انجام دهد.
در پوشه کلاس، ما می توانیم مقادیری از خصوصیات خاص یک شی را تعریف کنیم، یا اینکه به شی tell بگوییم که کارهایی را انجام دهد. بنابراین مهم است که در این مرحله درک کنیم که یک کلاس دارای دو جز main اصلی است: روش ها و خصوصیات. یک متد اساساً یک تابع در یک کلاس است و یک کلاس ممکن است حاوی هیچ متدی یا هزاران روش نباشد. خصوصیات دقیقاً همان چیزی است که به نظر می رسد: آنها خصوصیات جسم هستند و ما معمولاً از روشهایی برای تنظیم ، اصلاح و بدست آوردن خصوصیات از یک شی استفاده می کنیم.

اولین نمونه ما

در طول این مقاله ، ما در حال ساخت شی هستیم که یک شی that کاربر بسیار ساده را تعریف کند. این یک کلاس بسیار ساده است که چند نکته را در مورد کاربران تعریف می کند و همچنین برخی روش های ساده را در دسترس آنها قرار می دهد.

اصول شی گرایی در PHP-طراحی وب سایت

در شکل بالا نمایش بسیار ساده ای از شی کاربر مشاهده می شود که توسط کاربر کلاس تعریف شده است. بیایید خط به خط آن را بررسی کنیم:
خط 3: نام شی را به عنوان "کاربر" تعریف می کنیم.
خط 4: نام کاربر را به عنوان یک ویژگی تعریف می کنیم. این باعث می شود در کل کلاس به آن دسترسی داشته باشیم. قسمت "عمومی" دسترسی به قابلیت دید است و کمی بعد به آن خواهیم رسید. در حال حاضر ، تنها چیزی که شما باید بدانید این است که قسمت "عمومی" تقریباً به این معنی است که ویژگی "$name" از همه جای برنامه قابل دسترسی است.
خط 5: ما روش construction() را فراخوانی می کنیم. سازنده یک روش بسیار ویژه است که اگر فراخوانی شود ، فوری بصورت کلاس اجرا می شود. این روش را به یک روش بسیار قدرتمند تبدیل می کند که می توانید بدون ایجاد فراخوانی روش های خاص ، برای تنظیم موارد مختلف هنگام ایجاد شی استفاده کنید. همانطور که از نامش پیداست ، آن شی the را می سازد. همچنین ، می بینیم که متغیر "$name" به عنوان آرگومان به سازنده منتقل شده است. این امکان وجود دارد زیرا آرگومان ها می توانند به یک کلاس منتقل شده و سپس از طریق سازنده به آنها دسترسی پیدا کنند (در این باره به زودی توضیحات بیشتری می دهیم.
خط 6 تا 8 : ما بررسی می کنیم که آیا نام کاربر به عنوان آرگومان به سازنده منتقل شده است یا خیر ، و در غیر این صورت ، ما به سادگی نام کاربر را به عنوان "Ali zafari" اختصاص می دهیم. توجه داشته باشید که چگونه این کلاس اندکی دارای نقص است زیرا (هنوز) جنسیت کاربر را نمی داند و یک نام مرد را به طور موقت تعیین می کند.
خط 8: اولین استفاده از Pointer (->) و همچنین "this$" را مشاهده می کنیم. هرچه پیش برویم بیشتر به این موارد خواهیم پرداخت ، اما در حال حاضر مهم است که ببینیم "this$" کلاس مربوط به خود است و اشاره گر به روش خاص یا خاصیت اشاره می کند. در این حالت ، ما مستقیماً از کلاس سازنده مقداری را به خاصیت اختصاص می دهیم ، که این نیز کاری است که واقعاً نباید انجام دهیم. اما برای اهداف این تظاهرات کافی است.