php چیست، معرفی و آموزش ساختار دستورات در php
از امروز قصد داریم آموزش جامع و کامل php رو شروع کنیم و به مرور قسمت های مختلف رو منتشر کنیم.
در این مطلب به مباحث اولیه php و آشنایی با php و تاریخچه php و نرم افزار های مورد نیار php و همچنین نحوه شروع کد نویسی زبان php خواهیم پرداخت.
هر روزه وب سایتها و اینترنت در حال گسترش هستندو تا کنون چند صد میلیون از دامنه های مختلف ثبت شده و روز به روز بر تعداد آنها اضافه می شود. با رشد سریع فضای وب دیگر زبان های html جوابگو نبودند و زیان های برنامه نویسی جدیدی مانند php به وجود آمدند تا نیاز کاربران را برطرف سازند.
php چیست؟
پی اچ پی (php) یک زبان برنامه نویسی شی گرا است که برای طراحی وب توسعه یافته و همچنین می توان از آن به عنوان یک زبان عمومی نیز استفاده کرد. php مخفف Hypertext Preprocessor به معنای پیش پردازنده ی ابر متن می باشد. تقریبا میشه گفت حدود سه چهارم سایتها از زبان php برای ساخت برنامه های تحت وب خود استفاده کرده اند و به عنوان یکی از پرطرفدارترین زبان های اسکریپتی به حساب می آید. سایتهایی مانند فیسبوک، وردپرس، جوملا، دروپال، یاهو، ویکی پدیا از زبان php استفاده کرده اند.
پی اچ پی (php) یک زبان قدرتمند برای ساخت وب سایت های پویا است. این زبان اسکریپتی میتواند با HTML و CSS و javascript ادغام شود. php یک زبان اسکریپت نویسی و رایگان و متن باز است که در سمت سرور اجرا می شود.
بدین معنا که کدهای php روی سرور تفسیر میشوند و خروجی html و یا خروجی های دیگری تولید میکند که توسط کاربر قابل مشاهده است به این صورت که زمانی سرور درخواست کاربر رو دریافت می کند، از طریق زبان اسکریپت نویسی در سمت سرور آن درخواست را پردازش می کند و عملیات هایی را انجام داده و اطلاعاتی را در یک صفحه پویا برگشت می دهد و مرورگر کاربر کدهای صفحه را از سرور دریافت کرده و با استفاده از موتور رندرینگ صفحه را در اختیار کار قرار می دهد.
تاریخچه زبان برنامه نویسی php
php از سال 1994 و زمانی که راسموس لردورف (Rasmus Lerdorf) تعدادی اسکریپت به زبان سی نوشت تا صفحه خانگی خود را مدیریت کند توسعه یافت. ابتدا مسئول انجام عملیات های ساده ای مانند نشان دادن رزومه راسموس و بررسی آمارهای بازدید از وب سایت او بود.از آن زمان تا به حال تغییرات زیادی در این زبان اسکریپتی تحت لینوکس ایجاد شده است.
نسخه ی 4.3 به بعد زبان پی اچ پی قابلیت پشتیبانی از رابط خط فرمان یا command-line interface رو دارن. این قابلیت برای ایجاد نرم افزارهای غیر وب یا نرم افزارهای با واسط کاربری میتونه مورد استفاده قرار بگیره.
برخی از رقبای php عبارتند از: Perl, JSP, ColdFusion و ASP.NET اما زبان php برتریهای بسیاری در مقایسه با رقیبان خود دارد مانند:
کارایی بالا، واسطه های مختلف برای سیستم پایگاه های اطلاعاتی مختلف، کتابخانه داخلی برای انجام امور متداول، هزینه پایین، امنییت بالا و ... یکی از نکات مهم زبان php مستقل از محیط کار بودن آن است، بدین صورت که در تمامی کامپیوترها و سیستم عامل ها قابل اجرا است. php روی لینوکس، ویندوز و ... به سادگی اجرا میشود.
برنامه های php را به وسیله مرورگر وب اجرا میکنیم. به وب سایتی که برنامه php در آن قرار دارد میرویم و با در خواست ما سرور کدهای php را تجزیه و تحلیل میکند و پاسخ آن را به صورت html به ما نشان میدهد. با استفاده از زبان php میتوان وب سایت هایی را ساخت که:
داده ها را از منابع مختلفی مانند بانک های اطلاعاتی و یا فایل ها جمع آوری کنند.
عناصری مثل جستجو، فروم، عضوییت، ورود و خروج کاربران، گالری عکس و ... ایجاد کرد.
سیستم پست الکترونیکی ایجاد کرد، فروشگاه آنلاین ساخت و به کاربران اجاز خرید داد و ...
برنامه نویسی php معمولا به این صورت است که برنامه نویسان در یک کامپیوتر (بدون اتصال به اینترنت) برنامه خود را مینویسند، آزمایشات مقدماتی خود را روی آن انجام میدهند سپس آن را روی سرور منتقل میکنند. در بیشتر موارد برنامه نویس اطلاعات وب سایت را در داخل یک بانک اطلاعاتی قرار میدهید، اطلاعاتی مانند شناسه کاربران و کلمات عبورشان، اخبار و نوشته ها .... سپس با استفاده از php به بانک اطلاعاتی متصل میشوند و با اطلاعات آن کار میکنند. یکی از متداولترین بانک های اطلاعاتی که برای php مورد استفاده قرار میگیرد MySQL است. MySQL چندی پیش توسط شرکت Sun خریداری شد و در حال حاضر نسخه 5 آن آخرین نسخه ارایه داده شده می باشد.
قابلیت برنامه نویسی شیء گرایی در نسخه ی 3 به شکل ابتدایی به زبان پی اچ پی اضافه شد و در نسخه های بعدی بهبود یافت. در نسخه های پیشین، با اشیاء مثل یه داده برخورد میشد به این شکل که کل محتویاتش در هر بار مقداردهی یا ارسالش به یه تابع در یک فضای جدید کپی میشد. اما در نسخه ی 5 تعییراتی صورت گرفت و نحوه ی مدیریت اشیاء عوض شد. علاوه بر این، مفاهیم جدیدی مثل متغیرهای عمومی و شخصی و کلاسهای نهایی و انتزاعی و خیلی موارد دیگه معرفی شدند. همینطور پی اچ پی 5 قابلیت استفاده از اینترفیسها رو هم معرفی کرد و از پیاده سازی چند اینترفیس در یک کلاس پشتیبانی کرد.
برخی از مشکلات امنیتی که در سال 91 توسط پایگاه داده امنیتی ملی منتشر شد مربوط به زبان پی اچ پی بود. مشکلات تکنیکی که در خود برنامه وجود داره خیلی کمه و این مشکلات اغلب توسط برنامه نویسان به علت عدم استفاده از روشهای مناسب ایجاد میشه. برای رفع این اشتباهات برنامه نویسان، قابلیتهای بسیاری برای تشخیص خطاهای امنیتی پیشنهاد شده که هنوز به تایید گروه نرسیده است.
پی اچ پی به دلیل رایگان بودنش برای طراحی وب ارجحیت داره و برای طراحان وب سراسر دنیا مورد استفاده قرار می گیره. PHP بهترین گزینه برای طراحی وب ارزان است. گروه PHP یک منبع کد کامل رو فراهم می کنه که به کاربران اجازه می ده تا در صورت نیاز، سفارشی سازی کنند و طراحی وب رو توسعه بدن. پی اچ پی به راحتی با هر سیستم عامل از جمله Lennox، Mac، OSX و لینوکس کار می کنه. پی اچ پی همچنین بسیاری از سرورهای وب در حال استفاده رو از جمله Apache و IIS پشتیبانی می کنه.
همانطور که گفتیم زبان برنامه نویسی پی اچ پی در سمت سرور است، نیازی به نصب نداره و به فضای پردازنده کمتری نیاز داره. خب این موضوع به این معنیه که روی سرعت سیستم شما تاثیر نمی گذاره. انعطاف پذیری پی اچ پی، مقیاس پذیری و قابلیت استفاده در یک طراحی کاربر پسند، باعث شده که یکی از متنوع ترین زبان ها برای ایجاد صفحات وب باشه. یکی از حسنهای پی اچ پی اینه که بسیار برای استفاده راحته و در هر سطح مهارتی که هستید چه تازه وارد باشید چه یه برنامه نویس حرفه ای میتونید ازش استفاده کنید. با استفاده از پی اچ پی می تونید در عرض چند ساعت یه اسکریپت ساده بنویسید.
پی اچ پی یه زبان پردازه نویسی یا اسکریپت نویسی در سمت سرور است. شاید به خودتون بگید اصلا این زبان اسکریپت نویسی چی هست؟
زبان اسکریپت نویسی یه نوع زبان برنامه نویسی است که برای نوشتن پردازه ها استفاده میشه. پردازه ها یا اسکریپتها برنامه های کوچکی هستن که میشه از طریق اونها بعضی وظایف تکراری و پراستفاده یا یک وظیفه طولانی رو به طور خودکار انجام داد. اکثرا اینگونه وظایف مربوط به واژهپردازی در متنها میشن.
پردازه ها اجازه ی کنترل بعضی از کاربردهای نرمافزار رو به برنامهنویس میده اما تعدادی از فرمانها و امکانات زبانهای بزرگ در این زبانها حذف شدن. مثلاً امکان نوشتن فایل یا پاک کردن فایلها روی سیستم کاربر مثل زبانهای برنامهنویسی وجود نداره. جاوا اسکریپت، پرل و پایتون مثالهای این گروه هستن.
زبان برنامه نویسی با اسکریپت نویسی یه سری تفاوتهایی باهم دارن. زبان برنامه نویسی تمام ویژگی های موردنیاز برای توسعه ی کامل اپلیکیشن رو داره، اما زبان اسکریپت نویسی بیشتر برای کارهای تکراری و روتین استفاده میشه. کدها در زبان برنامه نویسی قبل از اجرا کامپایل میشه، اما کدها در زبان اسکریپت نویسی معمولا بدون کامپایل اجرا میشن. زبان برنامه نویسی نیازی به قرار گرفتن در یه زبان دیگه نداره، اما زبان اسکریپ نویسی اغلب در محیطهای نرم افزاری دیگه قرار میگیره.
محتوای پویای پی اچ پی برای وب سرورها به کاربران این امکان رو میده تا روی زبان برنامه نویسی سمت سرور تمرکز کنن. پی اچ پی یک قابلیت رابط خط فرمان رو توسعه داده است که می تونه در برنامه های گرافیکی مستقل مورد استفاده قرار بگیره. کاربران پی اچ پی به خروجی HTML محدود نمی شن اونها می تونن به راحتی از هر متن مانند XHTML یا دیگر فرمت فایل XML استفاده کنن. کاربران پی اچ پی همچنین قادر به ضمیمه انواع دیگری از تصاویر مانند فایل های PDF و فیلم های فلش هستند؛ که این می تونه به صورت خودکار در یک سیستم به جای نیاز به چاپ تولید و ذخیره بشه، به این صورت که برای محتوای پویای کاربر یک مخزن سمت سرور ایجاد بشه.
با استفاده از پی اچ پی، حفظ یه وب سایت با موتور جستجوی خوب راحته و از جست و جوی پیچیده ی وب که باعث اشتباه موتورهای جستجو میشه، جلوگیری می کنه. این حالت باعث بالا بردن سئوی سایت شما و رسیدن به اهداف بازاریابی میشه. پی اچ پی به بهینه سازی سرعت صفحات وب از زمان پردازش در بخش سرور کمک میکنه. جاسازی پی اچ پی در یک صفحه خیلی راحته یا حتی میتونین یه صفحه ی اضافه ایجاد کنید. این به دیده شدن همه ی اسکریپت ها در یک صفحه ی وب کمک میکنه، بر عکس جاوا اسکریپت که اگه غیرفعال باشه غیر قابل مشاهده است.
مزیتهای زبان پی اچ پی:
اگه شما با بقیه ی زبان های سمت سرور مانند ASP.NET یا JSP آشنا باشید، ممکنه بدونید که چه چیزیپی اچ پی رو از بقیه متمایز میکنه. انتخاب پی اچ پی نسبت به بقیه مزایای متعددی داره. برخی از آنها عبارتند از:
یادگیریآسان: یادگیری و استفاده ی پی اچ پی راحته. برای برنامه نویسان مبتدی که تازه شروع به توسعه وب کردن، پی اچ پی اغلب به عنوان بهترین و مناسب ترین انتخاب برای یادگیری در نظر گرفته می شه.
منبع باز: پی اچ پی یک پروژه منبع باز است. زبان برنامه نویسی توسط جامعه ی جهانی توسعه دهندگان توسعه یافته و نگهداری می شه که منبع کد رو به صورت آزاد برای دانلود و استفاده در اختیارتون می گذاره. هیچ هزینه ای برای استفاده از پی اچ پی برای پروژه های فردی یا تجاری، از جمله به روز رسانی های آینده نیاز نیست.
قابلیت انتقال: پی اچ پی روی سیستم عامل های مختلف مانند مایکروسافت ویندوز، لینوکس، سیستم عامل مک، و غیره اجرا می شه و تقریبا با تمام سرورهای مورد استفاده امروز مانندApache، IIS و غیره سازگار است.
عملکرد سریع: اسکریپت های نوشته شده در پی اچ پی معمولا سریعتر از اونهایی که در زبان های اسکریپتی دیگر مانند ASP.NET یا JSP نوشته شده است اجرا می شن.
اجتماع گسترده: از آنجا که PHP توسط جامعه ی جهانی پشتیبانی میشه، پیدا کردن کمک یا مستندات برای پی اچ پی آنلاین بسیار آسان است.
ساختار دستورات در PHP
دستورات php با <?php شروع می شود و با <? خاتمه می یابد.
پسوند فایل های php به طور پیش فرض "php." است. یک فایل php شامل کدهای html و کدهای php می باشد. در مثال زیر به چاپ "Hello World!" با استفاده از دستور echo می پردازیم.
نکته : دقت شود که بعد از هر دستور php باید از علامت (;) برای پایان استفاده کرد.
کامنت یا توضیحات در php
زمانی که حجم کدهای PHP بسیار زیاد باشد، می توان برای هر بخش از کدها، توضیحاتی را نوشت تا نویسنده کدها، در آینده با دیدن این توضیحات متوجه شود که هر بخش از کدهای PHP به چه منظوری نوشته شده است.
اگر توضیحات تنها در یک خط جا بگیرند، باید قبل از توضیحات، علامت // یا علامت # را بنویسیم.
اگر توضیحات زیاد بوده و مجبور باشیم آنها را در چندین خط بنویسیم، باید از علامت های */ و /* استفاده کنیم. علامت های */ در ابتدای توضیحات و علامت های /* در انتهای توضیحات قرار می گیرند.
این بخش از کد در زبان php اجرا نمی شود و برای این است که خواندن کد راحت تر باشد و توضیحاتی در مورد کد نوشته شده در آن نوشته شود. به مثال زیر توجه کنید.
دو دستور برای چاپ و نمایش خروچی استفاده می شود :
1. echo
2. print
مقایسه echo و print در php
تفاوت های echo و print:
echo: یک یا بیشتر از یک آرگومان را می گیرد و مقداری را برنمی گرداند. برای اتصال دو رشته هم می توان از "." و هم از "," استفاده کرد.
print: تنها یک آرگومان را می گیرد و همیشه مقدار 1 را برمی گرداند. برای اتصال دو رشته فقط می توان از "." استفاده کرد.
شباهت های echo و print:
هر دو تابع نیستند.
جزئی از ساختار زبانی هستند و می توان از آنها با یا بدون پرانتز استفاده نمود.
نکته: echo سرعت بیشتری نسبت به print دارد.
آموزش های php
در این بخش تمام آموزش های php که در سایت منتشر می شود قرار میگیرند.
آموزش تعریف متغیر ها در php |
دیدگاه ها