آموزش PHP

آموزشPHP - برای توسعه دهندگان C

ساده ترین راه برای فکر کردن در رابطه با PHP همانند تفسیر C است که می توانید آن را در اسناد HTML جاسازی کنید. خود زبان به جز متغیرهای غیر وابسته بسیار شبیه به C می باشد، تعداد بسیار زیادی از کتابخانه های خاص وب ساخته شده، و همه چیز به طور مستقیم به سرور وب مورد علاقه شما متصل است.

دستورنگارش (Syntax) دستورات و تعاریف توابع باید آشنا باشند، تنها تفاوت در متغیرها است که همیشه با $ تعریف می شوند و توابع نیازی به نمونه اولیه ندارند.

در اینجا برخی از شباهت ها و تفاوت های میان PHP و C را بررسی می کنیم.

شباهت های PHP و C

  • Syntax: به طور گسترده، دستور نگارش PHP همانند Cاست: کد بدون حساسیت است، دستورات با semicolon خاتمه می یابند؛ فراخوانی توابع (my_function(expression1, expression2)) مشابهی وجود دارد و براکت های باز و بسته ({}) نیز برای نشان دادن بلوک دستورات استفاده می شوند. پی اچ پی از استایل کامنت های C و ++C  (/* */ as well as //) ، و سبک Perl و shell-script (#)پشتیبانی می کند.
  • Operators : اپراتورهای انتساب (=, +=, *= و غیره)، اپراتورهای Boolean (&&، ||،!)، اپراتورهای مقایسه ( <,>, <=, >=, ==, !=)، و اپراتورهای پایه ریاضی (+, -, *, /, %) همه در PHP همانند C رفتار می کنند.
  • Control structures : ساختارهای کنترل اصلی (if, switch, while, for) همانند C انجام می شده و از break و continue  نیز پشتیبانی می کنند. یکی از تفاوت های قابل توجه c و PHP این است که سوئیچ می تواند رشته ها را نیز به عنوان شناسه های مورد نظر یا identifiers قبول کند. 
  • Function names : همانطور که شما مستندات را می بینید، ll بسیاری از نام های تابع را همانند توابع C در نظر می گیرد.

تفاوت های PHP و C

  • Dollar signs (علامت دلار) : تمام متغیرها با $ مشخص می شوند. متغیرها نباید پیش از تخصیص اعلام شوند، و آنها هیچ نوع intrinsic ای ندارند.
  • Types : پی اچ پی تنها دو نوع عددی دارد: integer (عدد صحیح) (مربوط به یک طول در C) و double (مربوط به double در C). رشته ها دارای طول دلخواه هستند. هیچ نوع کاراکتر جداکننده ای نیز وجود ندارد.
  • Type conversion : انواع در زمان کامپایل بررسی نمی شوند، و نوع خطا معمولا در زمان اجرا رخ نمی دهد. در عوض، متغیرها و مقادیر به طور خودکار در صورت نیاز به گونه های مختلف تبدیل می شوند. 
  • Arrays: دستور نگارش (syntax) آرایه ها همانند C است، اما کاملا متفاوت عمل می کنند. در واقع آن ها آرایه یا هش هستند و ایندکس می تواند یک عدد یا رشته باشد. آن ها نیازی به تعریف یا اختصاص داده شدن ندارند. 
  • No structure type: در PHP هیچ ساختاری وجود ندارد، بخشی از آن به دلیل غیر ضروری بودن استفاده از آرایه و نوع شیء است. عناصر یک آرایه پی اچ پی نیازی به یک نوع سازگار ندارند. 
  • No pointers: در PHP هیچ اشاره گری وجود ندارد، هرچند متغیرهای tapeless نقش مشابهی ایفا می کنند. PHP از مرجع های متغیر (variable references) پشتیبانی نمی نماید. همچنین می توانید در تابع نام را در متغیرها ذخیره کرده و از متغیر به جای یک نام لاتین برای فراخوانی اشاره گر های توابع استفاده کنید.
  • No prototypes : توابع پیش از اجرای آنها تعریف نمی شوند، در حالی که تعریف در جایی از فایل کد فعلی یا فایل های موجود یافت می شود. 
  • Memory management : موتور PHP به طور موثر یک محیط جمع آوری زباله است (محاسبه مرجع)، و در اسکریپت های کوچک، نیازی به انجام هرگونه اعطای مجوز ندارد. شما قادرید آزادانه ساختار جدید  مانند رشته های جدید و نمونه های شی را توزیع کنید. در PHP5، تعریف destructor  برای اشیاء وجود دارد، اما به صورت آزادانه یا قابل حذف نمی باشند. Destructor هنگامی که آخرین ارجاع به یک شیء از بین می رود، فراخوانی می شود، قبل از بازگرداندن حافظه. 
  •  Compilation and linking : هیچ گام تلفیقی و مجزایی برای اسکریپت های PHP وجود ندارد. 
  • Permissiveness : به عنوان یک موضوع کلی، PHP نسبت به C بسیار مهربان تر است (به ویژه در سیستم نوع) و به شما اجازۀ دور شدن از انواع جدیدی از اشتباهات را می دهد. اما نتایج غیر منتظره رایج تر از خطاها هستند.
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش PHP

Learn PHP

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...