سوال هایی که در وهله اول ممکن است به ذهنتان بیاید این است که خود کلمه PHP از کجا آمده؟ و به چه معناست؟ منظور از اپن سورس (Open Source) بودن چیست؟ این زبان چه مزایایی نسبت به سایر زبان های تحت وب دارد؟ از کجا باید شروع کنم؟ آموزش پی اچ پی را از کجا یاد بگیرم؟ همه این ها سوالاتی هستند که قصد داریم به آن بپردازیم.
تاریخچه PHP
پیاچپی (PHP) یک زبان برنامه نویسی اسکریپتی تحت وب است که در سال 1995 میلادی توسط راسموس لردورف (Rasmus Lerdorf) ساخته شد. در اوایل آنها نام آنرا Personal Home Pages گذاشتند (که مخفف آن PHP میباشد) و به دلیل گسترش قابلیتها و موارد استفاده از این زبان بعد از مدتی عنوان آن تغییر پیدا کرد و به Hypertext Processor تبدیل شد که در اصل به معنی پردازش داده قبل از تبدیل به HTML می باشد.
PHP چیست و چه کاری میکند؟
PHP یک زبان برنامه نویسی تحت وب اپن سورس است که به کمک آن میتوانیم صفحات وب داینامیک (Dynamic) بسازیم. اگر بخواهیم ریزتر به سوال چیست؟ پاسخ دهیم, باید گفت که این زبان کارهای پشت صحنه یا همان بک-اند (Back-End) را انجام میدهد. به این معنا که شما نمیتوانید با استفاده از PHP ظاهر سایت را عوض کنید. شما فقط می توانید با استفاده از آن اطلاعات را از پایگاه داده خود بگیرد و به کاربر نشان دهد.
صفحات وب داینامیک و استاتیک چیست؟
به صورت خیلی خلاصه با یک مثال به شما توضیح میدهیم. فرض کنید یک سایت خبری دارید که برای نمایش اخبار از دو روش زیر میتوانید استفاده کنید:
- بصورت دستی وارد کد های HTML سایت خود شوید و سپس اخبار خود را در کد های خود بگنجانید.
- شما اخبار خود را وارد پایگاه داده خود بکنید سپس با استفاده از زبانی مثل PHP آن را بخوانید و به کاربر نمایش دهید.
به روش اول که مراحل به صورت دستی انجام میگیرد روش استاتیک (Static) و به روش دوم که اطلاعات را از یک پایگاه داده میخواند و به کاربر نمایش میدهد روش داینامیک (dynamic), و به آن صفحه وب شما صفحه وب دینامیک یا Web Dynamic Page گویند.
آیا می توانم با استفاده از PHP یک برنامه مبتنی بر وب ایجاد کنم؟
بله می توانید با استفاده از PHP یک برنامه وب توسعه دهید. این زبان نه تنها زبان پشتیبان است. بلکه چهارچوبهای زیادی در این زبان وجود دارد که می توانید به راحتی در PHP آنها را انجام دهید. در اینجا چند فریموورک محبوب وجود دارد که می توانید برای توسعه برنامه وب خود از آنها استفاده کنید:
- LAVAREL
- Codeigniter
- CakePHP
- Yii
- و...
ساخت نرم افزارهای دسکتاپ با PHP
درست است که PHP برای حوزه طراحی وب توسعه داده شده است و بهترین زبان سمت سرور به حساب میآید اما بسیاری از افراد تصور میکنند که با انتخاب این زبان برنامه نویسی به برنامه نویسی وب سایت و وب اپلیکیشنها محدود میشوند. اما این تصور کاملا اشتباه است. چراکه شما میتوانید با استفاده از افزونه PHP-GTK نرم افزارهای ویندوزی که در ذهن دارید با به کارگیری رابط گرافیکی کاربر (GUI) ایجاد کنید. نرم افزارهای ویندوزی، همانطور که از اسم آنها مشخص است فقط بر روی سیستم عاملهای ویندوز اجرا میشوند که دارای کاربردها بسیار گسترده ای میباشند.
بنابراین با انتخاب این زبان محدودیتی برای شما ایجاد نمیشود و برای ایجاد نرم افزار های ویندوز نیز دست شما باز است.
نکته :
زبان PHP برای طراحی وب توسعه یافته است، بنابراین در ساخت نرم افزارهای ویندوزی قدرت زبان هایی مانند C# و Python را ندارد و دارای ضعف هایی نسبت به آنها میباشد.
مزایای PHP نسبت به سایر رقبا!
یکی از دلایل کاربرد فوقالعاده زیاد زبان PHP در طراحی سایتهای دینامیک، مزیتهایی است که این زبان نسبت به سایر زبانهای سمت سرور دارد که در ادامه با مهمترین آنها آشنا خواهید شد:
- PHP اپن سورس (open source) و رایگان است و خود مزیتی نسبت به رقبای خود مثل ASP.NET محسوب میشود. علاوه بر این وقتی صفت اپن سورس (Open Source) به میان می آید, این بدین معناست که آن زبان رایگان بوده و قابلیت این را داراست که تغییرات دلخواه برای شخصی سازی بیشتر روی سورس کد های آن اعمال کنیم.
- سازگاری با پلتفرم های مختلف یا به اصطلاح cross platform از دیگر مزیت های این زبان است. به عبارت دیگر, می توان این زبان را در پلتفرم های مختلفی لینوکس گرفته تا ویندوز و مکینتاش اجرا کرد.
- PHP میتواند انواع مختلفی از پایگاههای داده و دیتابیس ها را ساپورت کند و با آنها کار کند.
- یادگیری راحت و استفاده آسان
- مستندات و آموزش های فراوان
- پروژه های بزرگی مانند فیسبوک با این زبان بالا آمده اند که این گواهی بر مناسب بودن و قوی بودن این زبان میباشد.
- انجمن بزرگ و فعالی دارد.
و اما معایب PHP!
- امنیت: از آنجایی که PHP اپن سورس (Open Source) بوده , هر کسی میتواند سورس کد هارا مشاهده کند. اگر اشکالاتی در کد سورس وجود داشته باشد ، می تواند توسط افراد برای کشف ضعف آن استفاده شود.
- نامناسب برای برنامه های بزرگ : استفاده از آن برای برنامه نویسی برنامه های بزرگ دشوار خواهد بود. از آنجا که زبان برنامه نویسی بسیار مدولار نیست ، حفظ برنامه های عظیمی که توسط آن نوشته شده دشوار خواهد بود. (با استفاده از فریمورک های قدرتمند این مشکلات حل شده است)
- روش خظایابی ضعیف: این یک راه حل مناسب برای توسعه دهندگان نیست, بنابراین مشکل ایجاد خواهد کرد. ( در نسخه های 7 به بالا این مشکل حل شده است)
- نسخه ها دائما در حال تغییر هستند. (این جزو معایب نیست و همیشه نسخه های stable نیز معرفی می شود)
تازه می خواهم PHP را یاد بگیرم. از کجا شروع کنم؟
اگه علاقمند به برنامه نویسی PHP هستید و تازه وارد این حوزه شدید, پیشنهاد ما به شما این هست که اگر مقداری به طراحی وب با HTML و CSS مسلط باشید, کار شما در یادگیری راحت تر خواهد بود. برای آموزش و یادگیری این زبان ها می توانید از آموزش های سایت جاب تیم نهایت استفاده را بکنید همچنین می توانید از سایت اصلی php.net نیز استفاده کنید
برای شروع کار با PHP به چه چیز هایی لازم داریم؟
در ابتدا برای نوشتن و تست کد ها به سرور نیاز داریم, که خوشبختانه در ابتدا کار نیاز به خریداری سرور نیست. چرا که PHP یک زبان اسکریپتی سمت سرور است و بر روی کامپیوتر اجرا نمی شود و باید مقداری از فضای وب یا هاست که این زبان را پشتیبانی کند را خریداری کنید. در ابتدا برای آموزش نیازی به این کار نیست, شما میتوانید برنامه های مورد نیاز آن از جمله MySQL, PHP(www.php.net/downloads.php) , Apache را نصب کنید یا از برنامه های کاربردی که در یک فایل نضبی واحد هستند به عنوان مثال XAMPP (شامل نسخه مک), WAMPP و... استفاده کنید. برای کد نویسی هم میتوانید از Notepad خود ویندوز یا برنامه Notepad++ با قابلیت های بیشتر که ویژه زبان های برنامه نویسی مختلف است استفاده کنید.