آموزش پی اچ پی (PHP)

دسته بندی: آموزش طراحی وب

آموزش پی اچ پی

آنچه در این صفحه می خوانید:

معرفی پی اچ پی (PHP)

PHP یک زبان برنامه نویسی شیء گرا و متن باز است که برای طراحی وب توسعه یافته است اما می توان از آن به عنوان یک زبان عمومی نیز استفاده کرد. تا ژانویه سال ۲۰۱۳ میلادی پی‌اچ ‌پی بر روی ۲۴۴ میلیون وب‌گاه و2.1 میلیون سرور وب نصب شده‌است. در ابتدا پی‌اچ‌ پی از عبارت صفحه خانگی شخصی( Personal Home Page) گرفته شده ‌بود اما اکنون این کلمه مخفف Hypertext Preprocessor به معنی پیش‌پردازنده ابرمتن می‌باشد.

این زبان برنامه نویسی بر پایه زبان C نوشته شده و یک زبان Cross-Platfrom است و بر روی سیستم عامل های مختلف (ویندوز، لینوکس، یونیکس، مک OS X، و غیره) قابل اجرا است و همچنین قابلیت نصب آن به صورت یک شل جداگانه بر روی تقریباً تمامی سیستم‌های عامل و پلت‌فرم‌ها یا سکوها وجود دارد. پی اچ پی تقریبا با تمام سرورهای مورد استفاده امروز (آپاچی، IISو غیره) سازگار است و از طیف گسترده ای از پایگاه های داده نیز پشتیبانی می کند. کدهای پی‌اچ‌ پی توسط یک سرور وب که پی‌اچ ‌پی بر روی آن نصب باشد، تفسیر می‌شوند. دستورهای این زبان می‌توانند به صورت مستقیم در درون کدهای HTML قرار بگیرند.

قابلیت بهینه‌سازی کد نیز در زبان پی‌اچ‌ پی موجود بوده، و برنامه‌ها و افزونه‌هایی مانند eAccelerator برای این منظور توسعه داده می‌شوند. زبان PHP در نسخه های جدید قابلیت پشتیبانی از واسط خط فرمان را نیز به امکانات خود اضافه کرده است. این قابلیت می‌تواند برای ایجاد نرم‌افزارهای غیر وبی یا نرم‌افزارهایی با واسط گرافیکی کاربر مورد استفاده قرار بگیرد. تست برنامه‌های کاربردی و نرم‌افزارهای توسعه داده شده با PHP از جهت‌های مختلف حایز اهمیت هستند. با توجه به استفاده فراگیر PHP در برنامه‌های کاربردی وب، تست کارایی (Performance Testing) از اهمیت دوچندانی برخوردار است. همچنین ابزارهای بازبینی و مرور کد نیز کمک فراوانی به توسعه دهندگان می‌کند که بتوانیم بسیاری از اشکالات را در سطح کد و قبل از تست برطرف نماییم.

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

تاریخچه پی اچ پی (PHP)

توسعه PHP در سال 1994 شروع شد وقتی كه Rasmus Lerdorf چندین برنامه رابط مشترک دروازه (CGI) را در C نوشت، كه وی برای حفظ صفحه شخصی خود استفاده می كرد. وی آن ها را برای کار با وب فرم ها و برقراری ارتباط با پایگاه داده گسترش داد و این اجرای را "صفحه اصلی شخصی / فرم ها مترجم" یا PHP/FI خواند. از PHP/FI می توان برای ساختن برنامه های وب ساده و پویا استفاده کرد. برای تسریع در گزارش اشکال و بهبود کد، Lerdorf در ابتدا خبر انتشار PHP / FI را با عنوان "ابزارهای شخصی صفحه اصلی (ابزارهای پی اچ پی) نسخه 1.0" در 8 ژوئن 1995 این نسخه قبلاً عملکرد اساسی ای داشت که امروزه PHP دارد. این شامل متغیرهای شبیه به پرل، نحوه مدیریت فرم و امکان جاسازی HTML است. نحو شبیه به پرل بود، اما ساده تر، محدودتر و کمتر سازگار بود.

در طول سال 2014 و 2015، نسخه اصلی PHP جدید ایجاد شد که با شماره PHP 7 شماره گذاری شده است. شماره گذاری این نسخه بحث هایی را شامل می شود. در حالی که آزمایش PHP 6 Unicode هرگز منتشر نشده بود، چندین مقاله و عناوین کتاب نام PHP 6 را ارجاع دادند، که در صورت استفاده مجدد از این نام، ممکن است باعث سردرگمی شود. پس از رای گیری، نام PHP 7 انتخاب شد.

ویژگی های پی اچ پی (PHP)

این زبان محبوب ترین و اغلب مورد استفاده در سراسر جهان است، دلیل اصلی محبوبیت آن است. اوپن سورس و بسیار ساده است. از دیگر ویژگی های عمده می توان به موارد زیر اشاره کرد:

  • ساده: این بسیار ساده و آسان برای استفاده است، در مقایسه با یک زبان برنامه نویسی دیگر بسیار ساده و آسان است، این مورد به طور گسترده در سراسر جهان استفاده می شود.
  • تفسیر شده: این یک زبان تفسیری است، یعنی نیازی به کامپایل نیست.
  • سریع: این سرعت سریعتر از سایر زبانهای اسکریپت به عنوان مثال asp و JSP.
  • اوپن سورس: منبع آزاد به این معنی است که نیازی به پرداخت هزینه استفاده از PHP نیست، می توانید بارگیری و استفاده رایگان کنید.
  • بسترهای نرم افزاری مستقل: کد PHP در هر پلتفرم، لینوکس، یونیکس، Mac OS X، ویندوز اجرا خواهد شد.
  • حساس به حالت: PHP در هنگام اعلام اظهار متغیر، زبان نوشتاری حساس به فایل است. در PHP، تمام کلمات کلیدی، کلاس ها، توابع و توابع تعریف شده توسط کاربر، حساس به حالت نیستند.
  • گزارش خطا: PHP برخی از ثابت های گزارش خطا از پیش تعریف شده برای ایجاد اخطار یا اعلام خطا را دارد.
  • نظارت بر دسترسی به real-tiem: با ایجاد خلاصه ای از دسترسی های اخیر برای کاربر، ورود به سیستم را فراهم می کند.
  • زبان تایپی آزاد: PHP بدون اعلام نوع داده از استفاده متغیر پشتیبانی می کند. در زمان اجرا براساس نوع داده ای كه در مورد ارزش آن دارد، گرفته می شود.

کاربرد پی اچ پی (PHP)

کلاس PDO

ما از PHP Data Object منحصراً برای اتصال به پایگاه داده های MySQL استفاده می کنیم. PDO یک لایه انتزاع خوب در اطراف مجموعه ای از درایورهای پایگاه داده مانند MySQL،PostgreSQL و MS SQL فراهم می کند. این بدان معناست که از هر پایگاه داده ای که استفاده می کنید، تا زمانی که PDO از آن پشتیبانی می کند، می توانید از همان عملکردها برای انجام همان عملکردها در پایگاه داده استفاده کنید. این باعث می شود کد شما قابل حمل باشد تا بتوانید برنامه وب خود را در کلیه پایگاه های داده بدون زمان توسعه اضافی مورد استفاده قرار دهید.

json_encode و json_decode

با استفاده از PHP5.2، دو عملکرد بسیار مفید وجود دارد که به شما امکان می دهد رشته های JSON را تجزیه کنید. JSON یک استاندارد مبتنی بر متن است که به طور کلی برای ارسال و دریافت داده با ساختار ساده ای طراحی شده است که به راحتی قابل خواندن است، هم توسط یک کامپیوتر و هم توسط یک انسان.

کلاس DateTime

کلاس DateTime به شما امکان می دهد زمان و تاریخ ها را به شیوه ای مرتب تر مدیریت کنید که استفاده از توابع اصلی استاندارد مانند mktime و strtotime غیرممکن است. با استفاده از کلاس های DateInterval و DateTimeZone، ما قادر به انجام عملکردهای استاندارد مانند اضافه کردن یا کم کردن فواصل زمانی در یک تاریخ یا تغییر منطقه زمانی فعلی هستیم. کلاس DateTime همچنین قابل گسترش است، بنابراین می توان قابلیت های اضافی را فراهم کرد، در حالی که پاک کننده تر کردن کد و خواندن آن ساده تر است.

استثناها (Exceptions)

با PHP5 اجرای استثنائات را به وجود آورد. مانند سایر زبان های برنامه نویسی مانند جاوا و سی شارپ، استثنائاتی برای "throw" خطاها استفاده می شود که می توانند در هر نقطه با حباب کردن از طریق پشته کد شما گرفتار شوند. یک استثناء را می توان به راحتی با استفاده از کلید واژه پرتاب به دنبال یک شیء Exception ایجاد کرد. گرفتن استثناها با بستن کدی که می خواهید در بلوک آزمایشی آزمایش کنید، انجام می شود. پس از آن شما نیاز به ایجاد یک بلوک گیرنده برای گرفتن هر استثنائی دارید که کد موجود در بلوک امتحان است.

فضای نامی (Namespaces)

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

Hashing API

چندی پیش مشکلی پیش آمد که سایت های بزرگ با نام های بزرگ هک شده و رمزهای عبور ناخواسته هک شدند. در آن زمان، استفاده از عملکرد MD5 برای رمزگذاری رمز عبور کافی بود، بنابراین ایمن بود. مشکلی که در MD5 و SHA1 وجود دارد این است که آنها سریعاً الگوریتم هشینگ را انجام می دهند. در کنار اختراع پردازنده های سریعتر و استفاده از GPU، مردم توانایی پردازش صدها هزار هش در ثانیه حتی بر روی رایانه رومیزی استاندارد یا لپ تاپ را دارند.

API hashing جدید که در PHP5.5 معرفی شده است، لایه ای آسان برای استفاده در بالای bcrypt برای ایجاد هش های ایمن (در حال حاضر) فراهم می کند که حل آن توسط هکرها بسیار سخت تر است. مثال زیر نشان می دهد که چگونه می توان هر متغیر رشته را هش کرد. یک نمک به طور خودکار ایجاد می شود و روال عذاب آور هزینه ای برابر با 15 خواهد داشت.

<?php$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 20]);

کلاس SimpleXML

هنگامی که ما باید با فایلهای XML سر و کار داشته باشیم، تمایل داریم از کلاس SimpleXML استفاده کنیم. این کلاس با کاربرد آسان، خواندن و ویرایش فایل های XML را از طریق اشیاء به شما امکان می دهد. استفاده از این اشیاء به شما این امکان را می دهد تا مقادیر معمول و همچنین مجموعه ای از روش های ساده برای تغییر ساختار XML را به بازگرداندن مقادیر و تکرار آن در آرایه ها بپردازید. اگر فقط نیاز به چیز خاصی در XML دارید و با استفاده از روش داخلی XPath، می توانید مجموعه ای از اشیاء SimpleXML Element را فقط برای مسیری که ارائه کرده اید برگردانید. علاوه بر خواندن XML،SimpleXML روش هایی را برای ایجاد اسناد جدید و یا تزریق عناصر به XML وارد شده فراهم می کند. این می تواند در چند خط کد ذخیره شود.

معماری پی اچ پی (PHP)

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

معماری پی اچ پی

در بالای این پشته یک کتابخانه PHP خالص قرار دارد که آن را به عنوان یک بسته کامپوزر توزیع خواهد شد. این کتابخانه API مشابه آنچه را که کاربران از درایور قدیمی mongo انتظار دارند ارائه داده است (به عنوان مثال روش های CRUD، پایگاه داده ) و انتظار می رود که این یک وابستگی مشترک برای اکثر برنامه های کاربردی ساخته شده با MongoDB باشد. این کتابخانه همچنین به منظور بهبود قوام API در کلیه »رانندگان تحت حمایت MongoDB مشخصات خاص را نیز اجرا می کند. این برنامه افزودنی به طور موثر اتصال بین PHP و کتابخانه های سیستم را تشکیل می دهد (»libmongoc و» libbson). این برنامه افزودنی یک API عمومی یکسان برای اساسی ترین و حساس ترین عملکرد را در معرض نمایش قرار می دهد:

  • مدیریت اتصال
  • رمزگذاری و رمزگشایی BSON
  • سریال سازی سند شی (برای پشتیبانی از کتابخانه های ODM)
  • اجرای دستورات و عملیات نوشتن
  • رسیدگی به نمایش داده ها و مکان نما

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

در ابتدا اشاره شد که انتظار می رود که کتابخانه PHP یک وابستگی متداول برای اکثر برنامه ها باشد، اما نه همه. برخی از کاربران ممکن است ترجیح دهند به API بدون زواید ارائه شده توسط برنامه های افزودنی بپیوندند یا انتزاع سطح بالایی را ایجاد کنند. كتابخانه هاي آينده مي توانند شامل يك كتابخانه PHP باشند كه براي مديريت MongoDB در نظر گرفته شده است و API براي مديريت و كاربردهاي مختلف براي كاربران و برنامه ها فراهم مي كند.

فریمورک های پی اچ پی (PHP)

فریمورک های PHP

فریمورک های زیادی برای PHP ایجاد شده اند که به برنامه نویسان تحت وب این قدرت را می دهد تا برنامه های پیچیده تر و امن تری بسازند. فریمورک PHP، معماری وبی است که روش های مختلفی را در خود جای می دهد و شامل یک سری سیاست های امنیتی و کد های قابل مصرف دوباره و COMPONENT هایی برای کد نویسی سریع برنامه های تحت وب می باشد. این فریمورک ها مزیت های زیادی را برای برنامه نویس به همراه می آورند. از فریمورک های معروف PHP می توان به موارد زیر اشاره کرد :

فریمورک لاراول (Lavarel)

فریمورک لاوارل در سال ۲۰۱۱ معرفی شد و تغییراتی بنیادین در شکل برنامه‌نویسی PHP ایجاد کرد. شعار لاراول "فریم‌ورک PHP برای صنعتگران وب" است. شباهت بیشتر برنامه‌نویسی لاراول به زبان طبیعی سبب می‌شود توسعه و تغییر دادن کدهای نوشته شده در گذشته آسان‌تر از قبل باشد. همچنین بهره‌گیری از آخرین استانداردها و متودولوژی‌های تولید نرم‌افزار، کار کردن با لاراول را برای برنامه‌نویسان و توسعه‌دهندگان آسان و برای کاربران، دلپذیر می‌کند.

فریمورک سیمفونی (Symfony)

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

فریمورک کدایگنایتر (Codeigniter)

فریمورک Codeigniter یا کدایگنایتر یک فریمورک وب متن باز خیلی سبک است و به توسعه دهندگان در ساخت سریع صفحات وب داینامیک کمک می کند. مستندات جامع و طبیعت انعطاف پذیر فوق العاده آن یادگیری این میکرو فریمورک را خیلی ساده کرده است. نصب آن سبک و بدون دردسر است و تنظیمات کمی دارد. همچنین از کتابخانه‌ های قدرتمندی بهرمند است. این فریمورک محدود به الگوی MVC نیست به این شکل که Model و View ها در آن به دلخواه هستند اما Controller ها الزامی اند.

فریمورک یی (Yii)

فریمورک Yii سریع، ایمن و با عملکرد بالا است و می تواند زمان کد نویسی را بسیار کاهش دهد. این فریمورک کاملا شئ محور است. از تکنیک بارگذاری Lazy و همچنین کامپوننت‌هایی برای توسعه‌ ابزارها استفاده می‌کند. برای ساخت انواع برنامه های وب مانند انجمن ها، پورتال ها، سیستم های مدیریت محتوا، خدمات RESTful، وب سایت های تجارت الکترونیک و غیره مناسب است. همچنین Yii دارای یک ابزار سازنده کد به نام Gii است که شامل سازنده کامل CRUD می باشد.

فریمورک فالکون (Phalcon)

فریمورک فالکون از معماری model – view – controller استفاده می کند و برنامه نویسان راحت تر و با سرعت بیشتری می توانند برنامه های پیچیده و بزرگ طراحی کنند. این فریمورک حداقل استفاده از منابع را دارد. فالکون یک extention برای PHP است که به زبان C نوشته شده است. شما می‌توانید Phalcon را متناسب با نیازهایتان، بهینه سازی کنید.

فریمورک زند (Zend)

زند فریمورکی بسیار امن و قابل اطمینان است.این فریمورک از معماری MVC پشتیبانی می کند و بر اساس متد چابک (Agile) طراحی شده است. همچنین Zend کاملا از اصول شی گرایی (SOLID) در ساختار خود پیروی می کند. دارای ویژگی های خوبی مثل ویرایش drag-drop است که از HTML، Javascript، Css و سیستم خطایابی لحظه ای آنلاین PHP برخوردار است و ابزار های کد نویسی رمز نگاری را در خود جای داده است.

پی اچ پی و مای اس کیوال

مای اس کیو ال نوعی سیستم مدیریت پایگاه داده‌ های اوپن سورس و رابطه ای می باشد که امکانات زیادی را برای کاربران فراهم می کند. نام آن ترکیبی از "My"، نام دختر بنیانگذار مایکل Widenius، و "SQL" است که مخفف Structured Query Language است. در واقع، یک سرور چند کاربره و چند ریسمانه است. MySQL همچنین توسط بسیاری از وب سایت های محبوب از جمله فیسبوک، فلیکر، مدیاویکی، توییتر و یوتیوب استفاده می شود. علاوه بر MySQL تمامی سیستم های مدیریت پایگاه داده رابطه ای (RDMS) مانند، MS Access، اوراکل، Sybase، Informix، پستگرس کیوال، SQLite و اس کیو ال سرور از SQL به عنوان زبان پایگاه داده استاندارد خود استفاده می کنند. اس کیو ال زبان استاندارد برای سیستم پایگاه داده رابطه ای است.

بانک اطلاعاتی بهترین انتخاب برای ذخیره داده ها در برنامه وب شماست، و سرور پایگاه داده MySQL همیشه محبوب ترین انتخاب در بین توسعه دهندگان PHP بوده است. این تقریبا توسط هر شرکت میزبانی که PHP را ارائه می دهد پشتیبانی می کند، و این کار را آسان می کند، و حتی می توانید آن را بر روی رایانه شخصی خود بارگیری و نصب کنید.

MySQL از زبان برنامه نویسی SQL برای کار با داده ها استفاده می کند و PHP با عبور دادن کد SQL از طریق مجموعه ای از توابع MySQL به سرور MySQL با MySQL تعامل دارد و سپس نتیجه ای را به دست می آورد که PHP می تواند آن را تفسیر کند. به نظر می رسد برای یادگیری زبان دوم برای تعامل با پایگاه داده ها کمی ترسناک به نظر می رسد، اما خوشبختانه SQL یک زبان نسبتاً ساده است که بسیار شبیه زبان انگلیسی است و ما نمونه های SQL خوبی را برای شما ارائه خواهیم داد که به شما امکان می دهد.

پی اچ پی و لاراول

لاراول فریمورک وب پی اچ پی اوپن سورس که توسط Taylor Otwel ساخته شده و برای توسعه برنامه های وب در پی الگوی معماری MVC و مبتنی بر سیمفونی در نظر گرفته شده است. برخی از ویژگی های لاراول سیستم بسته بندی مدولار با مدیر وابستگی اختصاصی، راه های مختلف برای دسترسی به پایگاه داده رابطه ای، برنامه های کاربردی برای کمک به استقرار و نگهداری برنامه ها و جهت گیری آن به سمت Syntactic sugar است. لاراول از کتابخانه های گوناگونی به ویژه بسیاری از کتابخانه های Symfony استفاده می کند. کد منبع Laravel در GitHub میزبانی شده و تحت شرایط MIT مجوز دریافت می کند.

لاراول با کاهش وظایف رایج مورد استفاده در بسیاری از پروژه های وب باعث پیشرفت سریع آن ها می گردد. فریمورک لاراول به صورت Component Base است و شما می توانید به راحتی کامپوننت های دلخواهتان را به برنامه اضافه کرده و توسعه آن را سریع تر کنید. لاراول حاوی Template Engine اختصاصی به نام Blade است. اگرچه این تمپلیت انجین در مقایسه با ابزارهایی مانند Twig از امکانات کمتری برخوردار است، با این حال تمامی نیازهای معمول را برطرف می کند و در دستیابی به امنیت کافی در ایجاد خروجی به برنامه نویسان یاری می رساند. سیستم مسیردهی (Routing) در لاراول نیز به صورت اختصاصی توسعه یافته است. این سیستم امکانات بسیاری را در اختیار توسعه دهنده قرار می دهد. استفاده از پیشوندها و پسوندها، کنترلرها، فیلترها، توابع درون خطی و بسیاری امکانات دیگر کار کردن با مسیرها را ساده و کارآمد می کنند.

لاراول برای مدیریت نیازمندی ها از Composer استفاده می کند. بروزرسانی فریمورک هم با استفاده از همین ابزار صورت می پذیرد. به این معنی که با صرف کمترین انرژی، همیشه می توانید از آخرین نگارش کتابخانه ها و فریمورک لاراول در پروژه بهره برداری کنید. مهم ترین ویژگی لاراول ORM اختصاصی آن به نام Eloquent است. Eloquent کار کردن با اطلاعات را به گونه ای آسان می کند که باور آن گاهی دشوار به نظر می رسد. کدهای نوشته شده با Eloquent شباهت بسیار زیادی با زبان انسان دارند و حتی اگر تا کنون با این شیوه کد ننوشته باشید، معنی کدها را به خوبی متوجه خواهید شد.

لاراول به عنوان فریمورک PHP تمیز و مرتب برای توسعه وب، جامعه PHP را با طوفانی روبرو می کند. اکنون، توسعه دهندگان PHP در صدد هستند مجدداً محبوب ترین زبان سمت سرور وب را تجربه کنند. توسعه دهندگان وب ماهر بهترین راه حل های فناوری را برای برنامه های وب انتخاب می کنند. این می تواند یک فریمورک وب از پیش ساخته شده یا CMS مانند Laravel باشد.

پی اچ پی و سیمفونی

سیمفونی یک فریمورک وب PHP مجموعه ای از کلاس ها است که به ایجاد یک برنامه وب کمک می کند. Symfony یک فریمورک اوپن سورس MVC است که به توسعه سریع برنامه های کاربردی وب مدرن کمک می کند. Symfony یک فریمورک وب کامل است و شامل مجموعه ای از اجزای قابل استفاده مجدد PHP می باشد. شما می توانید از هر جزء Symfony در برنامه ها، مستقل از فریمورک استفاده کنید.

Symfony با هدف سرعت بخشیدن به ایجاد و نگهداری برنامه های وب و جایگزینی کارهای رمزگذاری تکراری. این هدف همچنین به ایجاد برنامه های کاربردی قوی در یک زمینه سازمانی است و هدف آن این است که به توسعه دهندگان کنترل کامل بر پیکربندی را انجام دهد: از ساختار فهرست گرفته تا کتابخانه های خارجی، تقریباً همه چیز قابل تنظیم است. برای مطابقت با دستورالعمل های توسعه شرکت، Symfony با ابزارهای اضافی همراه است تا به توسعه دهندگان کمک کند تا پروژه ها را آزمایش، اشکال زدایی و مستند سازند. Symfony دارای یک سربار با کارایی کم است که از حافظه پنهان کد استفاده می شود.

طراحی وب با پی اچ پی

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

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

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

اکنون یک واقعیت کاملاً اثبات شده است که برای رونق هر شرکتی، باید حضور خود را بر روی سكوی دیجیتال داشته باشد. در حالی که رسانه های اجتماعی می توانند مکان مناسبی برای جلب توجه باشند اما بدون داشتن وب سایت مناسب تصویری از آن شرکت ایجاد نمی کند. در نتیجه این مشاغل بهترین شرکت توسعه وب را استخدام می کنند تا اطمینان حاصل کنند که آنها وب سایت طراحی کرده اند که به آنها امکان می دهد تا حد ممکن به کشش برسند.

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

الگوهای طراحی (Design Patterns) در پی اچ پی

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

  • الگوهای خلاقیت: از آن ها برای ساخت اشیا به گونه ای استفاده می شود که بتوان از سیستم اجرای آن ها جدا شد
  • الگوهای ساختاری: از آن ها برای شکل دادن ساختارهای بزرگ بین اشیا متفاوت استفاده می شود.
  • الگوهای رفتاری: از آن ها برای مدیریت الگوریتم ها، روابط و مسئولیت های بین اشیا استفاده می شود.
آیا این نوشته را دوست داشتید؟
teamtreehouse-dependency-management-with-composer

آموزش مدیریت وابستگی با Composer


در این دوره ما درباره بسته ها، وابستگی ها، repositories (مخازن ها) و نسخه ها یاد خواهیم گرفت. همچنین از یک ابزار پی اچ پی به نام Composer برای مدیریت ...

1397/05/16 970 بازدید
teamtreehouse-nested-crud-with-laravel-4-course

آموزش عملیات CRUD تو در تو با Laravel 4


در این دوره با ایجاد ساختار مسیرهای RESTful nested و ایجاد کنترلرهای nested و اکشن ها و فرم های مرتبط آشنا می شوید. این آموزش تصویری نحوه انجام عملیا...

1397/05/13 1499 بازدید
teamtreehouse-designing-interfaces-in-php-course

آموزش طراحی رابط ها در PHP 


یک رابط یک نوع قرارداد است که اطمینان می دهد که توانایی های خاص در کلاس خاصی در دسترس است. در این دروه با نوشتن یک رابط، پیاده سازی رابط، گسترش رابط ه...

1397/05/07 1342 بازدید
teamtreehouse-php-standards-and-best-practices-course

آموزش بهترین شیوه ها و استاندارهای PHP 


پی اچ پی یک زبان انعطاف پذیر با سابقه طولانی است. راه های بسیاری برای برنامه نویسی در PHP وجود دارد. این یک دوره بهترین شیوه ها و استاندارهای PHP را پ...

1397/05/04 1432 بازدید
teamtreehouse-php-basics-course

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


پی اچ پی یکی از گسترده ترین تکنولوژی های موجود در اینترنت است که از بسیاری از پروژه های بزرگ مانند وردپرس، دروپال، ویکی پدیا و فیس بوک پشتیبانی می کند...

1397/05/04 1459 بازدید
teamtreehouse-php-testing-course

آموزش تست PHP 


این دوره به شما درک نحوه استفاده از رایج ترین ابزار تست PHP را برای ایجاد تست هایی می دهد که اطمینان حاصل کنید کد شما همانطور که انتظار می رود کار می ...

1397/05/04 1480 بازدید
teamtreehouse-php-databases-with-pdo-course

آموزش پایگاه داده ها و PHP با PDO 


پی اچ پی و پایگاه داده ها با استفاده از آبجکت های داده PHP یا PDO باهم کار می کنند. با دانستن اصول زبان PHP می توانید نحوه ادغام با پایگاه داده ها را ...

1397/05/04 1640 بازدید
teamtreehouse-object-oriented-php-basics-course

آموزش مبانی PHP شی گرا


برنامه نویسی شیء گرا یا OOP یک سبک برنامه نویسی است که به توسعه دهندگان امکان می دهد تا وظایف مشابه را در کانتینرها قرار دهند.  در PHP، کانتینرها با ا...

1397/05/04 1577 بازدید
teamtreehouse-laravel-4-basics-course

آموزش مبانی فریمورک لاراول 4


در این دوره با یکی از فریمورک های PHP به نام لاراول آشنا می شوید. در این دوره با مفاهیم لاراول، MVC، پایگاه های داده و مهاجرت، مسیریابی RESTful و شرو...

1397/05/04 1844 بازدید
teamtreehouse-practice-php-ifelse-statements

تمرین if/else Statements در PHP 


در این کارگاه با تمرین استفاده از statement های if، else و elseif آشنا می شوید تا جریان اپلیکیشن را کنترل کنید....

1397/05/02 734 بازدید
teamtreehouse-practice-hashing-passwords-in-php

تمرین هش کردن کلمه عبور در PHP


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

1397/05/02 1188 بازدید
teamtreehouse-php-arrays-and-control-structures-course

آموزش ساختارهای کنترل و آرایه های PHP 


این دوره بر اساس مهارت های اولیه است که در دوره میانی پی اچ پی پوشش داده می شود. در این دوره با conditionals، حلقه ها و متغیر ترکیب و آرایه ها آشنا می...

1397/05/02 980 بازدید
teamtreehouse-php-functions-course

آموزش توابع در PHP 


توابع PHP به شما اجازه می دهد چندین statements از کد را به یک تابع متصل کنید. این توابع با نام های داده شده فراخوانی می شوند و تمام کد های موجود اجرا ...

1397/05/02 1032 بازدید
teamtreehouse-practice-php-string-manipulation

تمرین دستکاری رشته ها در PHP 


در این دوره با ایجاد، دستکاری و خروجی متغیرهای رشته در PHP آشنا شوید. پی اچ پی بسیاری از توابع درونی را برای دستکاری رشته ها مانند محاسبه طول یک رشته...

1397/04/31 845 بازدید
teamtreehouse-practice-php-number-variables

تمرین متغیرهای عددی در PHP 


در این کارگاه با ایجاد، دستکاری و خروجی متغیرهای عددی از جمله عدد صحیح و floats آشنا شوید. راه اصلی برای ذخیره اطلاعات در وسط یک برنامه PHP استفاده ا...

1397/04/31 734 بازدید
teamtreehouse-file-handling-with-php-course

کار با فایل ها در PHP


در این دوره ما خواندن و نوشتن فایل ها از یک دایرکتوری را بررسی خواهیم کرد. ما همچنین از توابع تجزیه داخلی ساخته شده برای کار با فرمت های رایج برای خوا...

1397/04/29 1095 بازدید
teamtreehouse-extending-object-oriented-php-course

آموزش گسترش PHP شی گرا


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

1397/04/29 1148 بازدید
teamtreehouse-environment-variables-with-php-course

آشنایی با Environment Variables در PHP


در چرخه عمر یک اپلیکیشن، محیط های متعددی مانند توسعه، تست و تولید وجود دارد. هر محيط ممکن است منابع و مدارک منحصر به فرد خود را داشته باشد که بايد مدي...

1397/04/29 858 بازدید
teamtreehouse-practice-including-php-with-html

آموزش استفاده از PHP در HTML


در این کارگاه با استفاده از پی اچ پی، متغیرها، فایل ها و تاریخ ها را در یک صفحه HTML بگنجانید. پی اچ پی و HTML بسیار تعامل دارند: PHP می تواند HTML ا...

1397/04/26 877 بازدید
teamtreehouse-php-for-wordpress-course

آموزش PHP برای WordPress 


این دوره برای افرادی است که با HTML و CSS (و شاید کمی جاوا اسکریپت) آشنایی دارند، اما هنوز به مطالعه PHP نپرداختند. این کارگاه جایگزینی برای مطالعه پی...

1397/04/24 2382 بازدید