تابع include در PHP چیست؟ – به زبان ساده با مثال و کد

۱۱۳ بازدید
آخرین به‌روزرسانی: ۳۰ خرداد ۱۴۰۳
زمان مطالعه: ۹ دقیقه
تابع include در PHP چیست؟ – به زبان ساده با مثال و کد

تابع include در PHP ابزاری فوق العاده قدرتمند است که به عنوان هسته اصلی ساخت وب‌سایت‌ها و وب‌اپلیکیشن‌های ماژولار شناخته می‌شود. این تابع به توسعه دهندگان اجازه می‌دهد تا فایل‌های خارجی را در اسکریپت‌های PHP فراخوانی کنند. در نتیجه این امر فرایند توسعه را تسریع می‌کند و خوانایی کد را نیز به میزان زیادی بهبود می‌بخشد. در مطلب پیشِ رو از مجله فرادرس تمام موارد مربوط به تابع include در PHP به همراه قابلیت‌ها، کاربردها و نحوه استفاده از آن به طور کامل مورد بررسی قرار گرفته است.

997696

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

کاربرد تابع include در PHP چیست؟

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

علاوه بر این، استفاده از تابع include در PHP ویرایش و انجام تغییرات در کد را نیز آسان‌تر می‌کند، زیرا در صورت نیاز به انجام تغییرات در کد به جای ویرایش تمامی فایل‌ها تنها کافی است تا فایل منبع را ویرایش کنیم.

برنامه نویس در حال نگاه کردن به مانیتوری بزرگ و کدنویسی است - include در PHP

سینتکس تابع include در PHP

دستور include به توسعه دهندگان امکان می‌دهد تا تمام محتویات موجود در یک فایل PHP را در فایلی دیگر بارگزاری کنند. سینتکس پیاده‌سازی تابع include به صورت زیر است:

1include 'path_to_file';

به منظور فراخوانی یک فایل PHP در فایلی دیگر کافی است تا مسیر مربوط به فایل را بعد از کلمه کلیدیinclude قرار دهید. قطعه کد زیر نحوه فراخوانی فایلfunctions.php را درون فایلindex.php با استفاده از دستور include نشان می‌دهد.

1<?php 
2
3// index.php file
4include 'functions.php';

در صورتی که PHP نتواند فایلfunctions.php مشخص شده را در دایرکتوری اصلی پروژه پیدا کند، هشداری به صورت زیر در خروجی چاپ خواهد کرد.

Warning: include(functions.php): failed to open stream: No such file or directory in ... on line 4
Warning: include(): Failed opening 'functions.php' for inclusion (include_path='\xampp\php\PEAR') in ... on line 4

در صورت وجود فایلfunctions.php در مسیر اصلی پروژه با فراخوانی این فایل کدهای موجود در آن اجرا خواهند شد. به عنوان مثال، کدهای زیر درون فایلfunctions.php قرار داده شده است.

1<?php
2
3// functions.php
4
5function get_copyright()
6{
7	return 'Copyright © ' . date('Y') . ' by phptutorial.net. All Rights Reserved!';
8}
9
10echo get_copyright();

با فراخوانی فایلfunctions.php درون فایلindex.php خروجی حاصل بعد از اجرای کدindex.php به صورت زیر خواهد بود.

Copyright © 2021 by phptutorial.net. All Rights Reserved!

خروجی حاصل از اجرای قطعه کد بالا این مسئله را نشان می‌دهد که با به‌کارگیری دستور include کدهای موجود در فایلfunctions.php اجرا خواهند شد.

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

در این بخش به معرفی چند مورد از فیلم های آموزشی طراحی و برنامه نویسی سایت به زبان‌های مختلف برنامه نویسی منتشر شده در پلتفرم فرادرس پرداخته‌ایم. فیلم‌های آموزشی موجود در این مجموعه طیف وسیعی از زبان‌ها و فریمورک‌های برنامه نویسی مورد استفاده در طراحی سایت نظیر وردپرس، PHP، جاوا اسکریپت، Asp و سایر موارد را پوشش می‌دهند. با استفاده از فیلم‌های آموزشی موجود در این مجموعه می‌توانید مهارت‌های خود در حوزه برنامه نویسی وب را ارتقا دهید.

مجموعه آموزش های طراحی و برنامه نویسی سایت فرادرس
برای دسترسی به مجموعه فیلم‌های آموزش طراحی و برنامه نویسی سایت فرادرس، روی تصویر کلیک کنید.

مثالی ساده از فراخوانی فایل با استفاده از include در PHP

دستور include برای فراخوانی یک فایل PHP درون فایلی دیگر مورد استفاده قرار می‌گیرد. با فراخوانی یک فایل تمام محتویات موجود درون آن در فایل اصلی نمایش داده می‌شود. برای درک بهتر مفهوم include مثال زیر ارائه شده است. ابتدا فایلPage1.php قرار داده شده است که محتویات آن به صورت زیر است.

1<?php
2
3//Page1.php
4echo "<p>welcome to my webpage</p>";
5
6?>

در ادامه فایل اصلی تحت عنوانMain.php قرار داده شده است که کدهای موجود در آن به صورت زیر است.

1<html>
2
3<body>
4
5<h1>Welcome to my home page!</h1>
6
7<p>Some text.</p>
8
9<p>Some more text.</p>
10
11<?php include 'Page1.php';?>
12
13</body>
14
15</html>

در قطعه کد بالا فایلPage1.php با دستور include در فایل اصلی فراخوانی شده است که در نتیجه تمام محتویات موجود در آن در فایل اصلی قرار خواهد گرفت. خروجی حاصل بعد از اجرای کدMain.php به صورت زیر خواهد بود.

خروجی حاصل از اجرای کد مربوط به تابع include

کاربرد دستور include در طراحی سایت

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

مثالی از کاربرد عملی دستور include

در این بخش به منظور درک بهتر کاربرد دستور include در طراحی سایت نحوه استفاده از این دستور برای تفکیک مولفه‌های رابط کاربری سایت در قالب مثال عملی توضیح داده شده است. برای این منظور در گام نخست پوشه جداگانه‌ای با نامinc در دایرکتوری اصلی پروژه ایجاد می‌کنیم. در گام بعدی با توجه به دو مولفه مورد نیاز یعنی هدر و فوتر سایت دو فایل با نام‌هایfooter.php وheader.php در این پوشه ایجاد می‌کنیم. ساختار کلی پروژه به صورت زیر خواهد بود.

1.
2├── index.php
3├── functions.php
4├── inc
5│   ├── footer.php
6│   └── header.php
7└── public
8    ├── css
9    │   └── style.css
10    └── js
11        └── app.js

در ادامه به منظور ساخت هدر کدهای زیر را درون فایلheader.php قرار می‌دهیم.

1<!DOCTYPE html>
2<html lang="en">
3	<head>
4		<meta charset="UTF-8" />
5		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6		<link rel="stylesheet" href="public/css/style.css">
7		<title>PHP include Example</title>
8	</head>
9	<body>

همچنین، برای ساخت فوتر نیز کدهای زیر را درون فایلfooter.php قرار می‌دهیم.

1<script src="js/app.js"></script>
2</body>
3</html>

در نهایت به منظور فراخوانی هدر و فوتر طراحی شده در صفحه اصلی باید از تابع include در PHP به صورت زیر استفاده کنیم.

1<?php include 'inc/header.php'; ?>
2
3<h1>PHP include</h1>
4<p>This shows how the PHP include construct works.</p>
5
6<?php include 'inc/footer.php'; ?>

با اجرای فایلindex.php کد اصلی پروژه به صورت زیر خواهد بود.

1<!DOCTYPE html>
2<html lang="en">
3	<head>
4		<meta charset="UTF-8" />
5		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6		<link rel="stylesheet" href="public/css/style.css" />
7		<title>PHP include Example</title>
8	</head>
9	<body>
10		<h1>PHP include</h1>
11		<p>This shows how the PHP include construct works.</p>
12
13		<script src="public/js/app.js"></script>
14	</body>
15</html>

مزایای تابع include در PHP چیست؟

تابع include با فراهم کردن امکان فراخوانی فایل‌های PHP توسعه دهندگان را از انجام دادن کارهای تکراری و دوباره کاری نجات می‌دهد. از جمله مهم‌ترین مزایای این تابع به موارد زیر می‌توان اشاره کرد.

  • قابلیت استفاده مجدد کد: با استفاده از include می‌توان از کدها و توابع پیاده‌سازی شده در سایر اسکریپت‌های PHP مجدداً استفاده کرد.
  • بهبود خوانایی کد: با کاهش حجم کدهای مورد استفاده در برنامه خوانایی کد نیز بهبود پیدا می‌کند.
  • ویرایش آسان: در صورت نیاز به انجام تغییرات در برنامه به جای ویرایش هر فایل به صورت جداگانه تنها کافی است تا فایل اصلی پروژه ویرایش شود.
  • تفکیک مولفه‌های رابط کاربری: با استفاده از تابع include می‌توان مولفه‌های رابط کاربری مشترک در برنامه را به صورت جداگانه پیاده‌سازی کرد.

تابع include در PHP و محدوده دسترسی به متغیرها

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

وضعیت متغیرها بعد از فراخوانی فایل در PHP را در دو حالت مختلف مورد بررسی قرار خواهیم داد.

فراخوانی فایل خارج از بدنه تابع

در قطعه کد زیر متغیرهای$title و$content درون فایلfunctions.php تعریف شده‌اند.

1<?php
2
3// functions.php
4
5$title = 'PHP include';
6$content = 'This shows how the PHP include construct works.';

با فراخوانی فایلfunctions.php درون فایلindex.php متغیرهای$title و$content به عنوان متغیر سراسری در این فایل در نظر گرفته می‌شوند. قطعه کد زیر فراخوانی فایلfunctions.php خارج از بدنه تابع را در فایلindex.php نشان می‌دهد.

1<?php include 'inc/header.php'; ?>
2
3
4<?php include_once 'functions.php'; ?>
5
6<h1><?php echo $title; ?></h1>
7<p><?php echo $content; ?></p>
8
9
10<?php include 'inc/footer.php'; ?>

بعد از فراخوانی فایلfunctions.php امکان دسترسی به متغیرهای$title و$content وجود خواهد داشت.

فراخوانی فایل درون بدنه تابع

در صورت فراخوانی یک فایل درون بدنه یک تابع تمام متغیرهای موجود در فایل اصلی به عنوان متغیرهای محلی تابع شناخته خواهند شد. قطعه کد زیر مثالی در این خصوص را نشان می‌دهد.

1<?php include 'inc/header.php'; ?>
2<?php include_once 'functions.php'; ?>
3
4<?php
5	function render_article()
6	{
7		include 'functions.php';
8
9		return "<article>
10                    <h1>$title</h1>
11                $content
12                </article>";
13	}
14
15	echo render_article();
16?>
17
18
19<?php include 'inc/footer.php'; ?>

در مثال بالا فایلfunctions.php درون بدنه تابعrender_article() فراخوانی شده است. بنابراین، متغیرهای$title و$content به عنوان متغیرهای محلی این تابع شناخته می‌شوند.

تابع require در PHP چیست؟

تابع require در PHP عملکردی مشابه با تابع include دارد و به منظور فراخوانی فایل‌های PHP مورد استفاده قرار می‌گیرد. تنها تفاوت تابع require با تابع include در این است که در صورت پیدا نشدن فایل مورد نظر تابع require از اجرای ادامه دستورات جلوگیری می‌کند، در حالی که تابع include اجرای دستورات را متوقف نمی‌کند.

برنامه نویس در نزدیک پنجره در حال توسعه برنامه به زبان PHP

دستور require در PHP تمام محتویات موجود در فایل داده شده را در فایل اصلی کپی می‌کند. در واقع، دستور require و include در PHP فارغ از نحوه برخورد با شرایط خطا کاملاً یکسان هستند.

سینتکس تابع require در PHP

سینتکس پیاده‌سازی تابع require بسیار ساده است. قطعه کد زیر سینتکس دستور require در PHP را نشان می‌دهد.

1require 'file_name'; 
2
3Or  
4
5require ('file_name'); 

برای فراخوانی یک فایل با استفاده از دستور require کافی است تا بعد از کلمه کلیدی require مسیر فایل مورد نظر آورده شود. در ادامه نحوه پیاده‌سازی منو در Html با استفاده از دستور require توضیح داده شده است. قطعه کد زیر فایلMenu1.html را نشان می‌دهد.

1<html>
2
3<body>
4
5<ahref="http://www.google.com">Google</a> |
6
7<ahref="http://www.yahoo.com">Yahoo</a> |
8
9<ahref="http://www.maps.com">Maps</a> | 
10
11<ahref="http://www.tutorial.com">Tutorial</a>
12
13</body>
14
15</html>

در ادامه در فایلMain.html با استفاده از دستور require این فایل فراخوانی شده است. قطعه کد زیر فایلMain.html را نشان می‌دهد.

1<html>
2
3<body>
4
5<h1>welcome</h1>
6
7<?php require("menu1.html"); ?>
8
9</body>
10
11</html>

خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

خروجی حاصل از اجرای دستور require در php

require و include در PHP چه تفاوتی با یکدیگر دارند؟

دستورات require و include شباهت بسیاری به یکدیگر دارند و هر دو به منظور فراخوانی فایل در PHP مورد استفاده قرار می‌گیرند. تنها تفاوت این دو دستور در نحوه مدیریت خطا توسط آن‌ها است.

  • دستور require در صورت عدم وجود فایل مورد نظر یا بروز خطا با ایجاد یک «خطای مرگبار» (Fatal Error) اجرای ادامه دستورات را متوقف می‌کند.
  • دستور include در صورت عدم وجود فایل مورد نظر یا بروز خطا تنها یک هشدار در خروجی چاپ کرده و اجرای دستورات را متوقف نمی‌کند.

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

یادگیری PHP با آموزش های رایگان فرادرس

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

مجموعه فیلم‌های آموزش رایگان PHP فرادرس
برای دسترسی به مجموعه فیلم‌های آموزش رایگان PHP فرادرس، روی تصویر کلیک کنید.

اگر قصد یادگیری PHP به صورت رایگان را دارید می‌توانید فیلم‌های آموزشی رایگان PHP فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است.

برخی از فیلم‌های آموزشی پیشنهادی موجود در این مجموعه به شرح زیر هستند.

جمع‌بندی

تابع include در PHP ابزار بسیار ارزشمند و پرکاربردی است که به توسعه دهندگان امکان می‌دهد تا ماژولار بودن و قابلیت استفاده مجدد کد خود را افزایش دهند. توسعه دهندگان با فراخوانی فایل‌ها به کمک تابع include می‌توانند کدهای خود را به بخش‌های کوچک‌تر و قابل مدیریت‌تر تبدیل کنند. در نتیجه، پایداری و کارایی کلی برنامه بهبود می‌یابد. بر همین اساس در این مطلب از مجله فرادرس سعی شد تا تابع include در PHP به طور کامل همراه با چندین مثال عملی مورد بررسی قرار گیرد. آموزش‌های پروژه محور گزینه بسیار خوبی برای تعمیق یادگیری هستند. برای این منظور می‌توانید فیلم‌های آموزشی موجود در مجموعه آموزش برنامه نویسی PHP فرادرس که لینک آن در ادامه آورده شده است را مشاهده کنید.

در این مطلب ابتدا به بررسی سینتکس استفاده از تابع include پرداخته شد. در ادامه نیز کاربردها، مزایا و نکات مهم در استفاده از این تابع مورد بررسی قرار گرفت. در انتها نیز به بررسی تفاوت‌های تابع require و include پرداخته شد.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
SimplilearnPHP Tutorial
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *