چگونه محتویات پرونده PHP را در یک متغیر قرار دهیم و اجرا کنیم؟

از جمله و اجرای محتوای پرونده PHP و بازیابی آن در یک متغیر یک کار مشترک است که بسیاری از توسعه دهندگان با آن روبرو می شوند. این به شما امکان می دهد ضمن حفظ انعطاف پذیری ، کد خود را به طور کارآمد سازماندهی کنید. در این مقاله ، نحوه استفاده از require
بیانیه را به طور مؤثر و بحث در مورد تفاوت های ظریف کنترل متغیر در PHP هنگام درج سایر پرونده ها.
درک شمول پرونده PHP
در PHP ، require
وت include
بیانیه ها برای ادغام اسکریپت های خارجی در برنامه های شما ضروری است. این بیانیه ها به شما امکان می دهد کد خود را مدولار کرده و از عملکرد مجدد در پرونده های مختلف استفاده کنید. یک سناریوی مشترک نیاز به درج پرونده ای دارد که حاوی کد PHP اجرایی و ضبط خروجی در یک متغیر باشد.
چگونه require
در PHP کار می کند
در require
بیانیه در PHP نه تنها شامل پرونده مشخص شده بلکه هر کد PHP موجود در آن پرونده را نیز اجرا می کند. اگر پرونده نمی تواند گنجانده شود (به عنوان مثال ، اگر وجود نداشته باشد) ، منجر به خطای کشنده می شود و اسکریپت متوقف می شود.
هنگام استفاده require
، مقدار بازده پرونده موجود را می توان در یک متغیر ضبط کرد. اگر پرونده موجود بیانیه بازگشت نداشته باشد ، PHP برمی گردد 1
نشان دهنده موفقیت. این خاصیت برای به دست آوردن نتیجه عملیات ساده در اسکریپت های شامل شما مفید است.
از جمله پرونده و ضبط خروجی آن
برای ضبط خروجی اجرا شده از یک پرونده PHP شامل ، از بافر خروجی استفاده کنید. این تکنیک به طور موقت خروجی اسکریپت شما را نگه می دارد و به شما امکان می دهد قبل از نمایش یا ذخیره آن ، آن را دستکاری کنید. در اینجا نحوه اجرای آن آورده شده است:
مرحله 1: ایجاد test.php
یک پرونده به نام ایجاد کنید test.php
این شامل کدی است که می خواهید اجرا کنید:
مرحله 2: ایجاد index.php
در پرونده اصلی خود ، index.php
، شما بافر خروجی را تنظیم خواهید کرد ، شامل test.php
پرونده ، و خروجی آن را در یک متغیر ضبط کنید:
" . $testOutput; // Display output
?>
توضیح index.php
-
ob_start()
: این عملکرد بافر خروجی را شروع می کند. همه چیز تکرار شده پس از این نقطه در بافر ذخیره می شود. -
require("test.php")
: این شامل مواردtest.php
مطالب خود را که به بافر می نویسند ، پرونده و اجرا کنید. -
ob_get_clean()
: این محتویات بافر خروجی را بازیابی می کند و آن را پاک می کند. این مقدار سپس در متغیر ذخیره می شود$testOutput
بشر -
نمایش خروجی: در آخر ، ما می توانیم خروجی را با رشته های اضافی جمع کنیم و با استفاده از آن نمایش دهیم
echo
بشر
مزایای استفاده از بافر خروجی
- کنترل خروجی: می توانید بر اساس نیازهای برنامه خود ، خروجی را ضبط ، اصلاح یا به صورت مشروط نمایش دهید.
- رسیدگی به خطا: بافر خروجی می تواند به جلوگیری از مشکلات مربوط به خطاهای ارسال شده کمک کند زیرا می توانید هنگام ارسال محتوا به مرورگر ، کنترل کنید.
سوالات متداول (متداول)
Q1: آیا می توانم استفاده کنم include
به جای require
؟
بله ، می توانید استفاده کنید include
، اما به یاد داشته باشید که در صورت عدم یافتن پرونده ، به جای خطای کشنده ، هشدار ایجاد می کند. استفاده از آن خوب است require
وقتی پرونده برای اجرای ضروری است.
Q2: آیا راهی برای درج پرونده ها بدون اجرای آنها وجود دارد؟
بله ، می توانید استفاده کنید file_get_contents()
برای خواندن پرونده ها بدون اجرای کد PHP. با این حال ، این راه حل برای سوال شما نخواهد بود زیرا کد PHP موجود در پرونده موجود را اجرا نمی کند.
Q3: آیا می توان بافر خروجی را خاموش کرد؟
بله ، می توانید با فراخوانی بافر خروجی را غیرفعال کنید ob_end_flush()
برای ارسال خروجی به مرورگر و بستن بافر.
به طور خلاصه ، استفاده از بافر خروجی با require
به شما امکان می دهد اسکریپت های PHP را در حالی که خروجی آنها را مستقیماً در متغیرها ضبط کرده و اجرا کنید. این نه تنها کد شما را به طور مؤثر سازماندهی می کند بلکه انعطاف پذیری را در نحوه برخورد و نمایش خروجی در برنامه های شما فراهم می کند.