اصول برنامه نویسی در PHP

۱۳۹۲/۰۳/۲۳

clean_codeپی اچ پی یکی از بهترین و پرکاربردترین زبان های دنیاست که داکیومنت های بسیاری برای آن وجود دارد. اما زبان php مشکلاتی دارد (طبیعی ست که همه ی زبان ها مشکلاتی دارند).
مهمترین مشکل PHP این است که سخت گیر نیست (برای هر کاری راه های بسیاری وجود دارد) و این باعث می شود که ما اشتباهاتی را مرتکب شویم که در پشت محدودیت های برنامه دیده نمی شود. در حالی که می توانیم با نوشتن کدتمیز (Clean Code) و خوانا از آنها جلوگیری کنیم.

محدودیت یک قانون مطلق است و ما نمی توانیم روی آن خط بکشیم و نادیده بگیریم. اما نکته هایی هست که رعایت کردن آنها باعث می شود تا برنامه هایمان را بهتر توسعه بدهیم که در اینجا به ۲۱ مورد اشاره می کنیم. ادامه ی مطلب



آموزش yii – بخش اول

۱۳۹۱/۰۶/۲۷

زنجان لاگ تصمیم گرفت یه فریم ورکی رو انتخاب کنه که بچه ها دورهم یاد بگیرن. بعد از بررسی ها به این نتیجه رسیدیم که فریم ورک yii خوب است. بررسی هامون نشون می داد که yii همیشه در بنچ مارک هایی که در سایت های مختلف دیده می شد جزو سه تای اول بود و یه بررسی کوچولو در مورد امکاناتش ما رو بر اون داشت که هرچه سریع تر آموزشش رو شروع کنیم و هر کاری می کنیم مستند کنیم! (باشد که رستگار شویم مثلن) ادامه ی مطلب



شی گرایی(OOP)در پی اچ پی(PHP) – کلاس پایگاه داده

۱۳۹۱/۰۲/۰۴

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



شی گرایی(OOP)در پی اچ پی(PHP) – سازنده

۱۳۹۱/۰۱/۳۱

سازنده (constructor) یک متد است. هر کلاس که ساخته می شود بطور درونی و پیش فرض این متد را دارد ( مانند شی this که به طور درونی وجود دارد). این متد هنگامی که از روی کلاس یک شی ساخته می شود به صورت خودکار صدا زده می شود. ویژگی که این متد دارد این است که برنامه نویس می تواند متد سازنده را با توجه به نیازی که برای کلاس احساس می کند باز تعریف کند. کار ویژه متد سازنده مقدار دهی اولیه پروپرتی هاست. ادامه ی مطلب



شی گرایی(OOP)در پی اچ پی(PHP) – میدان دید

۱۳۹۱/۰۱/۳۰

هر عنصری که در کلاس تعریف می شود دارای میدان دید است. میدان دید یعنی چه کسانی اجازه دارند که به این عنصر دسترسی داشته باشند یا اصطلاحا چه کسانی می توانند این عنصر را ببینند. با این قابلیت، اشیا به دلخواه عناصری را در دسترس عموم (سایر اشیا) و عناصری را درون خانواده (در مواقع توسعه یا ارث بری) و عناصری را خصوصی تایین می کنند. با این ویژگی اشیا قادر خواهند بود که از تغییر بدون اطلاع داده ها توسط سایر اشیا جلوگیری کنند. در اکثر موارد در برنامه نویسی یک کلاس، پروپرتی ها بصورت خصوصی و متد ها بصورت عمومی تعریف می شوند. ادامه ی مطلب



شی گرایی(OOP)در پی اچ پی(PHP) – عملکرد

۱۳۹۱/۰۱/۲۹

اصلی ترین هدف از ساختن اشیا، استفاده از اشیاست. یک شی ساخته می شود تا مورد استفاده قرار بگیرد. بیشترین بار استفاده از اشیا بر روی عملکرد (Method) های آنهاست و خصوصیات بر نحوه عملکرد تاثیر می گذارند. در ادامه با نحوه پیاده سازی متد در کلاس و نحوه استفاده از آن خواهم گفت. ادامه ی مطلب



شی گرایی(OOP)در پی اچ پی(PHP) – خصوصیات

۱۳۹۱/۰۱/۲۲

شی مجموعه ای از خصوصیت ها (Properties) و عملکرد ها (Methods) است. مثلا شی مداد دارای خصوصیات رنگ نوشتن، رنگ بدنه و دارای عملکرد نوشتن است و یا میز دارای خصوصیت رنگ، تعداد پایه ها و عمکرد میز شدن است. مفهوم خصوصیت در برنامه نویسی نزدیک به مفهوم خصوصیت دراشیای واقعیست مانند یک شی مداد که خصوصیاتی داشت در برنامه نویسی هم اشیا خصوصیاتی دارند. در اشیایی که از یک کلاس ایجاد می شوند، عملکرد ها برابرند اما خصوصیات بدون محدودیت متفاوت هستند. مقادیر خصوصیات در اشیایی که از یک کلاس ایجاد می شوند هیچ گونه ارتباطی با یکدیگر ندارند. ادامه ی مطلب



افزودن تاریخ روی تصویر

۱۳۹۱/۰۱/۱۰

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

ادامه ی مطلب



شی گرایی(OOP)در پی اچ پی(PHP) – شی و کلاس

۱۳۹۱/۰۱/۰۸

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



شی گرایی(OOP)در پی اچ پی(PHP) – مقدمه

۱۳۹۰/۱۲/۲۴

شی گرایی در پی اچ پیشیوه برنامه نویسی شی گرا ( Object-oriented programming ) سالهاست که در ایجاد برنامه های کاربردی مورد استفاده قرار می گیرد و به خوبی توانسته در توسعه برنامه های بزرگ و پیچیده به شکلی موفق عمل کند. به حدی این موفقت چشم گیر است که برخی با دیدگاه افراطی شی گرایی را نوش دارویی برای توسعه نرم افزار می پندارند. تا زمان حال بیشتر زبان های برنامه نویسی خود را با شی گرایی تطبیق داده و سعی کرده اند تا با این کار توسعه دهنگان خود را از راز توسعه با شیوه شی گرایی بی نصیب نگذارند. PHP بعد از نگارش ۳ به آرامی به سمت شی گرایی حرکت کرد و در نگارش ۵ این حرکت را به حد مطلوبی رسیده است.

ادامه ی مطلب