چاپ خروجی (PHP Echo / Print)
ارتباط با کاربر: تقابلِ Echo و Print 🗣️📣
این دو دستور هر دو برایِ ارسالِ داده به مرورگر استفاده میشوند، اما تفاوتهایِ ظریفی دارند که توسعهدهندگانِ حرفهای باید بدانند.
۱. دستور echo
محبوبترین راه. echo مقدارِ بازگشتی ندارد و میتواند چندین پارامتر (جدا شده با ویرگول) را بپذیرد. همچنین کمی سریعتر از print است.
{code_block('echo "Hello", " World!";')}۲. دستور print
این دستور همیشه مقدار 1 را برمیگرداند (پس میتواند در عباراتِ محاسباتی استفاده شود) و فقط یک آرگومان میگیرد.
{code_block('print "Welcome to PHP";')}نمایشِ متغیرها در متن:
در PHP، متغیرها داخلِ "Double Quote" پردازش میشوند (Variable Interpolation):
{code_block('$name = "Ali";\necho "Hello $name"; // چاپ میکند: Hello Ali')}چاپِ تگهایِ HTML:
{code_block('echo "<h1>PHP is Fun!</h1>";')}<?= $var ?> استفاده کنید که معادلِ <?php echo $var; ?> است.
بخش تخصصی: کالبدشکافی زبان PHP و موتور Zend 🐘⚙️
درکِ عمیقِ PHP نیازمند آشنایی با آن چیزی است که در پشتِ صحنه اتفاق میافتد. PHP یک زبانِ تفسیری (Interpreted) است که توسط موتور قدرتمند Zend Engine اجرا میشود.
۱. چرخه عمر درخواست (Request Lifecycle)
در هر بار لود شدنِ صفحه، PHP مراحلِ زیر را طی میکند:
- Lexing/Scanning: تبدیلِ کدها به توکنهایِ معنادار.
- Parsing: ساختِ یک ساختارِ درختی از کدها (AST).
- Compilation: تبدیلِ درختِ کد به OpCodes (دستورالعملهایِ سطحِ پایین).
- Execution: اجرایِ OpCodeها توسط مفسرِ Zend.
۲. مدیریت حافظه (Zend Memory Manager)
PHP برخلافِ زبانهایی مثل C، مدیریتِ حافظه را به صورتِ خودکار انجام میدهد. با استفاده از تکنیکِ Reference Counting و یک Garbage Collector هوشمند، اشیاء و متغیرهایی که دیگر استفاده نمیشوند را از حافظه پاک میکند تا سرور دچارِ کراش نشود.
۳. سیستمِ تایپِ پویا (Dynamic Typing)
در PHP، متغیرها نوعِ ثابتی ندارند. این انعطافپذیری به لطفِ ساختارِ دادهای به نام zval (Zend Value) ممکن شده است که در هر لحظه میتواند اطلاعاتی درباره نوع و مقدارِ داده را در خود نگه دارد.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
متغیری به نام tool با مقدار "PHP" دارید. با استفاده از Double Quote، جملهیِ "I love PHP" را با استفاده از متغیر چاپ کنید.
<?php
$tool = "PHP";
echo "I love $tool";
?>
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.