جلسه هشتم PHP : آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته
در این مقاله از آموزش پی اچ پی با جلسه هشتم PHP در خدمت شما هستیم. در قسمت قبل اولین جلسهی حل تمرین پی اچ پی را سپری کردیم. حتماً تمرینها را با دقت بیشتری انجام دهید. در جلسات آینده بازهم حل تمرین خواهیم داشت. در جلسه هشتم PHP بحث توابع (Functions) در PHP را پیش خواهیم برد. البته قبل از بحث ِ توابع یک مبحث با موضوع include و require را بررسی خواهیم کرد. در این جلسه فهرست مباحث زیر را بررسی خواهیم کرد.
- آموزش include و require
- توابع در PHP
- سینتکس توابع پی اچ پی
- پارامتر و آرگومان در PHP
- مقدار پیش فرض آرگومان پی اچ پی
- عبارت return در توابع PHP
آموزش include و require
عبارتهای include و require به ما کمک میکنند تا یک سری از کدها در یک فایل PHP را درون یک فایل PHP دیگر قرار دهیم. بنابراین دیگر نیاز نیست تا کدها را مجدد بنویسیم. برای مثال میتوانیم در یک پروژهی طراحی سایت، کدهای header و footer را در فایلهایی جداگانه تعریف کنیم. حال با استفاده از این دستورات، آنها را در صفحات دلخواه بارگذاری کنیم. حال اگر نیاز به ویرایش header و یا footer در تمامی سایت باشد، فقط کافیاست تا فایلهای header.php و footer.php را ویرایش کنیم تا تغییرات در تمامی سایت اعمال شود.
به مثال زیر دقت کنید. فرض را بر این میگیریم که ما یک فایل بانام header.php داریم.
1 2 3 |
<!-- header.php --> <?php echo '<h1>Welcome</h1>'; |
و حال در فایل زیر که بانام index.php ذخیره شده است، فایل ِ header.php را include میکنیم.
1 2 3 4 5 6 7 |
<html> <body> <?php include 'header.php'; ?> <p>Some text.</p> <p>Some text.</p> </body> </html> |
نکته 1: در مثال بالا، قبل از اجرای 2 تگ ِ P فایل header.php اجرا میشود. که همان، نمایش ِ Welcome میباشد.
نکته 2: با همین روش میتوانیم فایل ِ header.php را در هر صفحهای که بخواهیم اجرا کنیم.
نکته 3: در داخل کوتیشنها آدرس ِ فایل header.php قرار گرفتهاست.
مقایسهی include و require
اگر فایل شما چندان اهمیت ندارد، میتوانید از include استفاده کنید. درواقع اگر به هر دلیلی فایل اجرا نشود، (برای مثال آدرس اشتباه داده شده باشد و غیره) برنامه همچنان کار میکند.
اما ممکن است برنامه واقعاً به آن کد ِ شما نیاز داشته باشد. در این مورد از require استفاده میشود. حال اگر فایل ِ شما پیدا نشد (و یا هر اتفاق دیگری)، برنامه اجرا نمیشود و ارور نمایش داده میشود.
توابع در PHP
توابع یک بلاک از عبارات هستند که درون 2 کروشه قرار میگیرند. در زمان Load شدن صفحهی وب، تابع ها اجرا نمیشوند. تابع ها زمانی اجرا میشوند که در کد ها آنها را فراخوانی کرده باشیم.
وجود بیش از 1000 نوع تابع در پی اچ پی نشانه قدرت این زبان است. از ویژگیهای توابع در PHP به موارد زیر میتوان اشاره کرد.
- در کنار توابع موجود در پی اچ پی شما خودتان میتوانید بهصورت خلاقانه توابعی را ایجاد نمایید.
- همهی این توابع میتوانند بهصورت پیدرپی در برنامه اجرا شوند.
نحوهی نوشتن توابع (syntax)
1 2 3 |
function functionName() { //code to be executed } |
نکته 1: تمامی توابع با کلمهی function در ابتدای آنها ایجاد میشوند.
نکته 2: کد ها باید درون دو کروشه قرار بگیرند.
نکته 3: نام تابع موردنظر میتواند تنها با حروف و یا آندرلاین شروع شود. بنابراین اعداد نمیتوانند در شروع نام توابع قرارگیرند.
باقی علامتها هم که دیگر جایی در نام تابع ندارند.
نکته 4: در نامگذاری توابع حتما به این نکته توجه کنید که نام توابع بر اساس نوع کاری که انجام میدهند انتخاب شود.
نکته 5: نام توابع در پی اچ پی case-sensitive نیستند. یعنی به کوچکی و بزرگی حروف حساس نیستند.
در مثال ساده زیر از جلسه هشتم PHP ، تابع ای بانام sayHello ایجاد کردهایم. همانطور که ملاحظه میکنید، دستورات مابین دو علامت کروشه قرار میگیرند. برای فراخوانی تابع هم کافی است تا آن را صدا بزنیم.
1 2 3 4 5 6 |
<?php function sayHello() { echo "Hello world!"; } sayHello(); // call the function |
نکته 1: در طول برنامه، هر زمان که این تابع فراخوانی شود، خروجی Hello world! زیر را تولید میکند.
پارامتر ها و آرگومان ها در تابع پی اچ پی
پارامترها در پی اچ پی همانند متغیرها عمل میکنند. ابتدا به مثال زیر از جلسه هشتم PHP توجه نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php function afzaliFamily($name) { echo "$name afzali.<br>"; } afzaliFamily("ali"); afzaliFamily("reza"); afzaliFamily("naghi"); afzaliFamily("amir"); // Outputs // ali afzali. // reza afzali. // naghi afzali. // amir afzali. |
نکته 1: پارامتر بعد از نام تابع و درون پرانتز تعریف میشود.
نکته 2: در مثال بالا پارامتر name$ بهعنوان ورودی تابع در نظر گرفته میشود.
نکته 3: در مثال بالا هنگام فراخوانی تابع، آرگومان name$ مقادیر مختلفی میگیرد. فرض بر این شده است که ۴ فردی که بهجای name$ قرارگرفتهاند، فامیلی afzali دارند.
نکته 4: در توابع PHP به هر تعداد که بخواهیم، میتوانیم پارامتر تعریف کنیم. فقط باید آنها را با استفاده از کاما (,) آز هم جدا کنیم.
تفاوت پارامتر و آرگومان در PHP
گاهی اوقات دیده شده است که این 2 نام به اشتباه به جای هم استفاده میشوند، اما بهتر است که نام هر کدام را در موقعیت خود به کار بگیریم. تا به اینجای درس نامه در گفتن هر دو نام، در جای مناسب آن دقت شده است. میتوانید یک بار دیگر درس نامه را بررسی کنید.
در واقع پارامتر ها زمان تعریف تابع به وجود آمدهاند. اما کلمهی آرگومان را، ما زمان فراخوانی تابع به کار میبریم.
مثال بعدی، یک تابع با 2 پارامتر میباشد. به این مثال از جلسه هشتم PHP توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php function lastname($x, $year) { echo "$x afzali. Born in $year <br>"; } lastname("ali", "1379"); lastname("reza", "1378"); lastname("naghi", "1377"); // Outputs // ali afzali. Born in 1379 // reza afzali. Born in 1378 // naghi afzali. Born in 1377 |
نکته 1: در مثال بالا علی، رضا و نقی را با سال تولدشان تحت عنوان آرگومان به تابع lastname میدهیم.
نکته 2: باید توجه کنید که وقتی تابع دو ورودی دارد، شما نیز زمان فراخوانی باید به آن دو ورودی بدهید.
مقدار پیش فرض آرگومان پی اچ پی
آرگومان پیشفرض میتواند برای توابع تعریف شود. مثال زیر را در نظر بگیرید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php function setHeight($minheight = 50) { echo "The height is : $minheight <br>"; } setHeight(350); setHeight(); // مقدار پیش فرض 50 را قرار می دهد. setHeight(135); setHeight(80); // Outputs // The height is : 350 // The height is : 50 // The height is : 135 // The height is : 80 |
نکته 1: در این حالت اگر تابع را بدون آرگومان فراخوانی کنیم، آرگومان پیشفرض 50 را نمایش میدهد.
عبارت return در توابع PHP
هنگام استفاده از return مقدار تابع بازگردانی میشود. به مثال زیر از جلسه هشتم PHP توجه نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php function sum($x, $y) { $z = $x + $y; return $z; } echo "5 + 10 = " . sum(5, 10) . "<br>"; echo "7 + 13 = " . sum(7, 13) . "<br>"; echo "2 + 4 = " . sum(2, 4); // Outputs // 5 + 10 = 15 // 7 + 13 = 20 // 2 + 4 = 6 |
نکته 1: بعد از استفاده از return در هر کجای تابع، اجرای عملکرد تابع متوقف میشود و مقدار را به تابع ِ فراخوانی شده ارسال میکند.
1 Comment
Join the discussion and tell us your opinion.
سلام return متوجه نمیشم یعنی چی برمیگرده متغیر یعنی عددی که توشه برمیگرده به متغیر قبلیش اون خالی میشه؟