راهنمای کامل PHP: از مقدمات تا پیشرفته در توسعه وب | جلسه هفتم :نحو (Syntax)
PHP

راهنمای کامل PHP: از مقدمات تا پیشرفته در توسعه وب | جلسه هفتم :نحو (Syntax)

دستور زبان PHP بسیار شبیه به زبان C است. PHP یک زبان اسکریپت‌نویسی سمت سرور است. کد PHP به‌صورت یک فایل متنی با پسوند “.php” ذخیره می‌شود. یک فایل ‘.php’ در اصل یک صفحه وب است که شامل یک یا چند بلوک از کد PHP است که درون اسکریپت HTML قرار گرفته‌اند.

با این حال، این فایل باید در مرورگر با استفاده از یک URL با پروتکل HTTP باز شود. به‌عبارت دیگر، اگر روی آیکون فایل PHP دوبار کلیک کنید، این فایل به‌صورت محلی با پروتکل فایل (file protocol) باز می‌شود. برای مثال، اگر فایل “index.php” را در پوشه‌ی ریشه‌ی سند (Document Root) سرور Apache باز کنید، ممکن است فقط متن کد PHP نمایش داده شود. اما اگر سرور Apache را اجرا کرده و آدرس http://localhost/index.php را در مرورگر باز کنید، صفحه‌ی خانگی Apache نمایش داده می‌شود.

تگ‌های PHP

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

  • تگ‌های معمولی (Canonical PHP tags)
  • تگ‌های کوتاه باز (Short-open یا سبک SGML)

تگ‌های معمولی PHP

تگ‌های معمولی PHP معمولاً برای درج کد PHP در یک فایل HTML استفاده می‌شوند. این تگ‌ها با ” به پایان می‌رسند. این روش بهترین و رایج‌ترین روش نوشتن کد PHP است، زیرا روی تمام سرورها کار می‌کند و نیازی به پیکربندی اضافی ندارد. رایج‌ترین و موثرترین سبک تگ PHP به‌صورت زیر است:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
echo "Hello World!";
?>
<?php echo "Hello World!"; ?>
<?php
   echo "Hello World!";
?>

اگر از این روش استفاده کنید، می‌توانید مطمئن باشید که تگ‌های شما همیشه به‌درستی تفسیر خواهند شد.

تگ‌های کوتاه باز (Short-open یا سبک SGML)

تگ‌های کوتاه باز، روشی کوتاه‌تر برای نوشتن کد PHP هستند. این تگ‌ها با <? شروع شده و با ?> پایان می‌یابند. این تگ‌ها ممکن است روی همه‌ی سرورها کار نکنند، مگر اینکه گزینه‌ی short_open_tag در فایل پیکربندی PHP فعال شده باشد. تگ‌های کوتاه یا short-open به‌صورت زیر هستند:

✅ توجه: استفاده از تگ‌های کوتاه ممکن است در برخی از سرورها به‌دلیل تنظیمات پیش‌فرض غیر فعال باشد، بنابراین روش توصیه‌شده استفاده از تگ‌های معمولی <?php ... ?> است.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
echo "Hello Everyone!";
?>
<?php echo "Hello Everyone!"; ?>
<?php
    echo "Hello Everyone!";
?>

تگ‌های کوتاه

همان‌طور که از نام‌شان پیداست، کوتاه‌ترین گزینه برای نوشتن کد PHP هستند. برای اینکه PHP این تگ‌ها را تشخیص دهد، باید یکی از دو کار زیر را انجام دهید:

  1. هنگام کامپایل کردن PHP، گزینه‌ی پیکربندی --enable-short-tags را انتخاب کنید.

  2. مقدار تنظیم short_open_tag را در فایل پیکربندی PHP (php.ini) روی on قرار دهید.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
short_open_tag=on
short_open_tag=on
short_open_tag=on

این گزینه باید غیرفعال شود تا بتوان XML را با PHP تجزیه کرد، زیرا همان نحو (syntax) برای تگ‌های XML نیز استفاده می‌شود.

استفاده از تگ‌های به سبک ASP

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<%...%>
<%...%>
<%...%>

و تگ‌های اسکریپت HTML

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<script language = "PHP">...</script>
<script language = "PHP">...</script>
<script language = "PHP">...</script>

متوقف شده است.

خروج از HTML تجزیه‌کننده

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<p>This is a HTML statement</p>
<?php echo This is a PHP statement.'; ?>
<p>This is another HTML statement.</p>
<p>This is a HTML statement</p> <?php echo This is a PHP statement.'; ?> <p>This is another HTML statement.</p>
<p>This is a HTML statement</p>
<?php echo This is a PHP statement.'; ?>
<p>This is another HTML statement.</p>

مثال کمی پیشرفته‌تر از خروج از حالت HTML با استفاده از شرط‌ها در زیر نشان داده شده است −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php if ($expression == true): ?>
This HTML statement will be rendered.
<?php else: ?>
Otherwise this HTML statement will be rendered.
<?php endif; ?>
<?php if ($expression == true): ?> This HTML statement will be rendered. <?php else: ?> Otherwise this HTML statement will be rendered. <?php endif; ?>
<?php if ($expression == true): ?>
     This HTML statement will be rendered.
  <?php else: ?>
     Otherwise this HTML statement will be rendered.
  <?php endif; ?>

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

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

ساختار پایه PHP

ساختار پایه PHP بسیار شبیه به زبان‌های C و C++ است.

دستورات در PHP

یک دستور در PHP هر عبارت (expression) است که با علامت نقطه‌ویرگول (;) خاتمه می‌یابد. هر دنباله‌ای از دستورات معتبر PHP که داخل تگ‌های PHP قرار گرفته باشد، یک برنامه معتبر PHP است.

در اینجا یک دستور معمولی در PHP آمده است که در این مثال، رشته‌ای از کاراکترها را به متغیری به نام “$greeting” اختصاص می‌دهد −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$greeting = "Welcome to PHP!";
$greeting = "Welcome to PHP!";
$greeting = "Welcome to PHP!";

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

عبارت‌ها (Expressions) در PHP

یک عبارت ترکیبی از مقادیر، متغیرها و عملگرها است که یک نتیجه تولید می‌کند. توکن‌ها ابتدایی‌ترین بلوک‌های ساختاری PHP هستند. به‌عنوان مثال:

  • اعداد (۳.۱۴۱۵۹)
  • رشته‌ها (“Hello”)
  • متغیرها ($name)
  • ثابت‌ها (TRUE, FALSE)
  • کلیدواژه‌ها (if, else, while, for و غیره)
  • آکولادها ({}) برای بلوک‌ها

آکولادها ({}) برای بلوک‌ها

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

در اینجا، هر دو دستور زیر معادل هستند:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
if (3 == 2 + 1)
print("Good - I haven't totally lost my mind.");
if (3 == 2 + 1) {
print("Good - I haven't totally");
print("lost my mind.<br>");
}
if (3 == 2 + 1) print("Good - I haven't totally lost my mind."); if (3 == 2 + 1) { print("Good - I haven't totally"); print("lost my mind.<br>"); }
if (3 == 2 + 1)
     print("Good - I haven't totally lost my mind.");
  if (3 == 2 + 1) {
     print("Good - I haven't totally");
     print("lost my mind.<br>");
  }

حساسیت به حروف بزرگ و کوچک در PHP

PHP یک زبان حساس به حروف بزرگ و کوچک است. نام‌های مختلف شناسه‌های PHP مانند متغیر، تابع، کلاس و غیره به حروف بزرگ و کوچک حساس هستند. در نتیجه، متغیر “$age” با “$Age” یکی نیست.

متغیرها در PHP به حروف بزرگ و کوچک حساس هستند

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$age = 25;
// Error: Undefined variable $Age
echo $Age;
$age = 25; // Error: Undefined variable $Age echo $Age;
$age = 25;

 // Error: Undefined variable $Age
 echo $Age;

اینجا، $age و $Age متغیرهای متفاوتی هستند.

PHP و دیگر فناوری‌های وب

یک فایل “.php” ممکن است شامل بلوک‌های کد HTML، CSS و JavaScript همراه با کد PHP باشد. بنابراین، تجزیه‌کننده PHP باید کد PHP را از سایر عناصر تشخیص دهد. وقتی یک فایل “.php” در مرورگر وب باز می‌شود، موتور HTML بخش HTML/CSS/JavaScript را نمایش می‌دهد و به محض مواجه شدن با دستورات داخل تگ‌های PHP، از بلوک HTML خارج می‌شود. مفسر PHP این بلوک را پردازش کرده و پاسخ را به مرورگر بازمی‌گرداند.

PHP از دستورات echo و print برای نمایش خروجی در مرورگر یا کنسول PHP استفاده می‌کند. هر دو ساختارهای زبان...
شناسه‌ها در ++C نام‌های منحصربه‌فردی هستند که برای شناسایی متغیرها، توابع، کلاس‌ها، آرایه‌ها و سایر آیتم‌های تعریف‌شده توسط کاربر در...
++C
کلمات کلیدی در C++ کلمات رزرو شده‌ای هستند که برای کامپایلر معنا و مفهوم خاصی دارند. این کلمات نمی‌توانند برای...
++C
ثابت‌ها به مقادیر ثابتی اشاره دارند که برنامه نباید آن‌ها را تغییر دهد و به آن‌ها لیترال (Literal) گفته می‌شود. ثابت‌ها می‌توانند...
C++ Programming Language
توکن‌های C++ کوچک‌ترین واحدهای مستقل در یک برنامه هستند که توسط کامپایلر شناسایی و پردازش می‌شوند. این توکن‌ها با هم...
C++ Programming Language
حذف فضای نام (Namespace) شما می‌توانید به‌صورت صریح از پیشوند std:: برای اشیاء و توابع کتابخانه استاندارد استفاده کنید، به‌جای اینکه از...
C++ Programming Language
1

پشتیبانی واتساپ هوش فعال