صفحه اصلیدرباره ماخدماتفن آوري هانمونه كارهامشتریانمقالاتتماس با ما
 
 
گروه نرم افزاري وبيليكس > مقالات > دستورات include و require در PHP
دستورات include و require در PHP
پي.اچ.پي (PHP)

استفاده از فايلهاي مختلف براي جداسازي ايجاد بخشهاي مختلف يك صفحه در سايت كاري بسيار متداول است. امروزه سايتهاي زيادي براي هر يك از بخشهاي صفحه خود داراي فايلهاي الگو (template) هستند و هر صفحه اصلي در سايت با استفاده از مجموع اين templateها ايجاد مي شود.

در اين حالت وقتي شخصي در حال مشاهده صفحات سايت است، همواره صفحات كامل را خواهد ديد. اما بر روي server هر يك از بخشهاي منطقي صفحه در فايلهاي جداگانه نگهداري مي شود. جداسازي بخشهاي مختلف صفحات كه در هر صفحه تكرار مي شوند و نگهداري آنها در فايلهاي مجزا امروزه بسيار متداول است. در اين حالت در هنگامي كه بخواهيم تغييراتي در هر بخش از صفحات سايت (كه به صورت يك template در يك قايل نگهداري مي شود) ايجاد نماييم، به سادگي با تغيير فايل template اين كار عملي خواهد بود و ديگر احتياجي به ايجاد تغييرات در تمامي صفحات سايت نخواهد بود. چرا كه در واقع صفحات سايت نتيجه ادغام چندين فايل template مي باشند كه با تغيير هر كدام از اين فايلهاي template، اين تغييرات در صفحات سايتها نيز اعمال خواهد شد.

در زبان PHP دو تابع بسيار مشابه به نامهاي include و require براي افزودن محتويات يك فايل (مانند templateها) براي ايجاد صفحات اصلي وجود دارد.
روش استفاده از اين دو تابع به صورت زير مي باشد:

include $filename;
require $filename;



كه filename$ آدرس فايلي است كه بايد محتويات آن به صفحات سايت اضافه شود.

تفاوت اصلي بين اين دو تابع در كاركرد در هنگام بوجود آمدن خطا در برنامه نويسي مي باشد. به اين صورت كه، در صورتي كه اين خطا در فايلي اتفاق بيفتد كه توسط دستور include فراخواني شده است، خطا با يك عبارت Warning نمايش داده خواهد شد. اما ايجاد صفحه در تابع اصلي همچنان ادامه خواهد يافت. اما اگر خطا در هنگام  استفاده از دستور require اتفاق بيفتد، خطا با عبارت Error نمايش داده خواهد شد و ايجاد صفحات سايت متوقف خواهد شد.

اگر محتويات صفحاتي كه با اين دو دستور فراخواني مي شوند، شامل دستورات PHP باشند، در اين صورت اين دستورات ابتدا اجرا مي شود و سپس نتايج آن در صفحه نمايش داده خواهد شد.

اكنون به بررسي چگونگي كاركرد اين دو تابع در PHP مي پردازيم و مي خواهيم نحوه عملكرد مفسر PHP در هنگام برخورد به اين دو تابع را مشخص نماييم.مفسر PHP در هنگام ايجاد صفحات اصلي، چنانچه با خطي مواجه شود كه يكي از اين دو دستور در آن وجود داشته باشد، به روش زير عمل خواهد نمود:
۱) از وجود فايل در آدرس داده شده اطمينان حاصل مي كند.
۲) PHP از حالت تفسير دستورات خارج شده و خود را براي اضافه نمودن دستورات HTML به صفحه اصلي اضافه مي كند. (فرض اوليه مفسر PHP بر اين است كه صفحاتي كه با اين دو دستور اضافه مي شوند حاوي دستورات PHP نمي باشند.)
۳) اگر در درون فايل اضافه شده يكي از tagهاي آغاز دستورات PHP وجود داشته باشد، مفسر PHP آن دشتورات PHP را اجرا خواهد نمود و فقط نتايج آن دستورات در صفحه اصلي نمايش داده خواهند شد.
۴) پس از اتمام بررسي فايل اضافه شده، PHP به حالت اجراي دستورات باز مي گردد و انجام ساير دستورات در فايل اصلي را از سر مي گيرد.

يكي از مهمترين توانايي هاي اين دو تابع استفاده از آنها براي بازخواني صفخات بر روي ساير سايتها مي باشد. به اين معنا كه شما مي توانيد براي مثال با اضافه كردن عبارت زير در صفحات سايت خود، فايلي را از روي server سايت webilix دريافت نموده و محتويات آن را در صفحات سايت خود نمايش دهيد.

include "http://webilix.com/some_include_file.php";




در اين حالت شما همچنين مي توانيد از ساير پروتكلها مانند ftp  نيز در فراخواني از ساير سايتها استفاده نماييد. و به اين نكته نيز توجه داشته باشيد كه اين امكان بر روي سيستمهاي windows قابل استفاده نمي باشد.

 



 
 
© 2012 - WEBILIX websolutions