illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید تا کنون 6336 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !

آموزش PHP (بخش نهم) تعریف تابع و قلمرو متغیرها

21738 ۲۱ مرداد ۹۱

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

تعریف یک تابع توسط شما :

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

یک مثال کلی برای درک مفهوم تعریف یک تابع :

فرض نمائید که شما با استفاده از یک گروه چند نفره ، قصد برنامه نویسی یک CMS را دارید ، شما برای این هماهنگی بین خود (گروه 3 نفره شما) ایجاد کنید ، کار را تقسیم می کنید ، و هر بخش کد را یک نفر انجام می دهد ، پس تعریف یک تابع بسیار کاربردی می باشد.

Syntax تعریف تابع در PHP :

نکته : نام یک تابع نمیتواند با یک عدد شروع شود مانند 1milad

مثال 1 :

در قطعه کد فوق ، یک تابع به نام writeName تعریف نموده ایم ، سپس در بخش کد این تابع ، کلمه milad heydari را چاپ نموده ایم ، حال در بخش بعدی تابع را با استنفاده از نام آن و یک علامت پرانتر باز و بسته فراخوانی نموده ایم.

مثال 2 :

کد فوق نیز ، یک تابع با نام mySite تعریف نموده ایم و سپس آن را در برنامه فراخونی کرده ایم ، در ضمن حتما این دو کد را در xampp تست نمائید.

تعریف یک تابع همراه با پارامتر :

برای اضافه کردن قابلیت های بیشتر به تابع ، از پارامترها استفاده می شود ، این پارامتر ها دقیقا همانند یک متغیر هستند ، این پارامتر ها درون پرانتز باز و بسته ی تعریف تابع قرار می گیرند :

حال به مثال زیر توجه نمائید :

در قطعه کد فوق ، ما یک تابع به نام writeName با پارامتر fname تعریف نموده ایم ، حال در بخش کد این تابع ، کد چاپ نمودن پارامتر همراه کلمه 7learn را قرار داده ایم.

سپس در بخش بیرونی تعریف تابع ، ما در ابتدا جمله My name is را چاپ نموده ایم ، و سپس تابع writeName را همراه با نام دلخواه فراخوانی نموده ایم ، پس تا به حال متوجه شده اید که ، متغیر fname برابر با milad قرار گرفته شد ، و این یعنی تابع با پارامتر.

نکته : متغیر های داخل تابع (پارامترها ) تبدیل به مقداری می شوند که شما در هنگام فراخوانی تابع ، آن ها را وارد نموده اید :

در قطعه کد فوق ، یک تابع با نام add با دو پارامتر x و y تعریف نموده ایم ، سپس کد ، جمع دو پارامتر را قرار داده ایم و با دستور return مقدار را برگردانده ایم.

سپس در قسمت بیرونی تعریف تابع ، تابع را با دو مقدار 1 و 16 مقدار دهی کرده ایم ، سپس تابع ، این دو عدد را با یکدیگر جمع نموده ، و حاصل را بر می گرداند.

برای آشنایی بیشتر کد زیر را امتحان نمائید :

حال که با نحوه تعریف تابع در PHP آشنا شدید ، بهتر شما را با قلمرو متغیر آشنا بسازیم:

قلمرو متغیر ها :

مکان معرفی کردن یک متغیر ، تاثیر بسیار زیادی بر روی دسترسی به متغیر دارد .

متغیرهای PHP دارای 3 قلمرو می باشند :

1) متغیرهای محلی :

با توجه به تعریف  قلمرو متغیر ، تعریف یک متغیر در داخل یک تابع با بیرون یک تابع تفاوت دارد ، برای درک این مساله قطعه کد زیر را مشاهده نمائید :

به نظر شما ، خروجی کد فوق چیست؟؟؟ در کد فوق ، در ابتدا یک متغیر x با مقدار 20 تعریف شده است ، سپس در داخل تابع milad یک متغیر با همان نام (x) با مقدار 10 تعریف شده است (این دو متغیر با یکدیگر تفاوت دارد!) ، بعد از فراخونی  و چاپ متغیرها خروجی ها با یکدیگر تفاوت دارد ، متغیر x درون تابع یک متغیر محلی می باشد ، تغییر مقدار متغیر x محلی ، هیچ ارتباطی با متغیر x که دارای مقدار 20 است ، ندارد .

2)متغیرهای جهانی :

در مقابل متغیرهای محلی، متغیرهای جهانی وجود دارد ، که آنها را می توان در هرجایی از برنامه مورد استفاده قرار داد و آن آن را تغییر داد ، برای این که یک متغیر را به صورت جهانی تعریف نمائید ، از کلمه کلیدی global استفاده می کنیم .

به مثال زیر توجه نمائید :

مقدار خروجی ما برابر با 21 می باشد ، چون متغیر x را در کلمه کلیدی global قرار داده ایم ، اما اگر کلمه global را حذف نمائید ، خروجی برابر با یک می شود .

یک روش دیگر برای متغیر جهانی وجود دارد و آن هم استفاه از آرایه سوپرگلوبال GLOBALS می باشد :

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

3) متغیرهای استاتیک :

این نوع متغیرها ، که از نام آن ها مشص است ، همیشه دارای مقدار یکسانی هستند ، و اگر هم از تابع خارج شوند ، مقدار خود را از دست نمی دهند. برای این که یک متغیر را به صورت استاتیک تعریف کنید از  کلمه کلیدی static استفاده می نمائیم:

از خروجی کد فوق ، چه انتظاری دارید ، اگر متغیر ما به صورت static تعریف نشده بود ، خروجی ما برابر با مقدار پائین می شد :

1

1

1

اما به دلیل اینکه متغیر را به صورت static تعریف نموده ایم ، خروجی می شود:

1

2

3

این بخش نیز به پایان رسید ، ان شاالله در بخش های بعدی شروع به انجام پروژه های کاربردی خواهیم کرد.

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 14 دیدگاه برای این مطلب ارسال شده است. نظردهی برای این مطلب بسته شده است .

  • ‏‏
    علی حیدری(۲۱ مرداد ۱۳۹۱)

    پرچم بالاست

  • ‏‏

    داداش ترکوندی انصافا خیلی مطلبات توپن….. 😉

  • ‏‏

    باتشکر فراوان خدمت شما استاد محترم.

  • ‏‏

    سلام شما asp.net .mysql رو آمموزش نمیدین؟

    • ‏‏
      میلاد حیدری(۲۸ مرداد ۱۳۹۱)

      mysql را بله ، ان شاالله آموزش خواهیم داد ولی فی الحال برنامه ای برای asp نداریم

  • ‏‏
    عباس بهرامی کیا(۳ شهریور ۱۳۹۱)

    سلام میلاد جان ممنون از آموزش هات

    فقط اینکه در مورد شی گرایی و استفاده از کلاس ها در پی اچ پی چیزی توضیح نمی دید؟ می دونی که مهمترین مبحث در پی اچ پی همین کلاس ها و نحوه کاربرد و استفاده شون هست

    • ‏‏
      میلاد حیدری(۳ شهریور ۱۳۹۱)

      ان شاالله ، برای شروع oop قصد دارم اول مفاهیم شی گرائی را شروع کنم ، بعد شروع بعد به کلاس ها در php خواهم کرد ، البته مهم ترین مبحث نیست ، شی گرائی از نسخه 3 به بعد وارد php شد ، می توان بدون شی گرائی نیز کار خود را انجام دهید ، بیشتر برای راحتی و کوتاه کردن راه می باشد

  • ‏‏
    عباس بهرامی کیا(۳ شهریور ۱۳۹۱)

    ممنون ازت پس حسابی منتظریم.

  • ‏‏

    ممنون از شما آموزش خیلی خوبی بود…موفق باشید

  • ‏‏

    ممنون از آموزاس خوبتون! این بخش پروژه های کاربردی کی شروع میشه؟! نکنه همین آموزشایی هست که بین همین آموزشای به ترتیب 1 و 2 و 3 php هست؟ مثلا “مطالبی پیرامون برنامه نویسی php و آمادگی برای چند پروژه”

  • ‏‏

    سلام داش میلاد تو پروژه ی دانشجویی انجام میدی
    emali کن

  • ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram