دوره H آموزش PHP: درس 1: مفاهیم پایه ای PHP

دوره H آموزش PHP: درس 1: مفاهیم پایه ای PHP

دوره H آموزش PHP
درس 1 – مفاهیم پایه ای PHP


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

این‌بار، دوره‌‌ی H از آموزش‌هایمان را برای PHP در نظر گرفته‌ایم؛ امیدواریم که این دوره را با شما دوستان عزیز بتوانیم به اتمام رسانده و موارد مفیدی را در کنار هم یاد بگیریم.

معرفی PHP

قبلا در مقاله‌ی PHP چیست، به طور کامل به توضیح مفهوم و ماهیت PHP پرداختیم. اما برای خلاصه:

PHP، مخفف عبارت Hypertext Preprocessor، به معنی پیش پردازنده‌ی ابر متن می‌باشد. یک زبان اسکریپت نویسی رایگان، بسیار محبوب، Open Source (منبع باز) از ویژگی‌های مهم PHP می‌باشد. در ضمن کد PHP در سمت سرور اجرا میشود.


یک لیست کوتاه از آن چیزهایی که PHP قادر به انجام آن است:

  • ایجاد محتوای پویا
  • ایجاد کردن، باز کردن، خواندن، نوشتن، حذف کردن و بستن فایل‌ها در سمت سرور
  • جمع آوری داده‌های فرم
  • اضافه کردن، حذف و تغییر اطلاعات ذخیره شده در پایگاه داده شما
  • کنترل دسترسی کاربر
  • رمزگذاری اطلاعات
  • و …

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

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

PHP بر روی سیستم عامل‌های مختلف، از جمله ویندوز، لینوکس، یونیکس، مک ایکس، و غیره اجرا می شود.
این زبان تقریبا با هر سرور مدرنی مثل Apache و IIS سازگار است.
و همچنین از طیف گسترده‌ای از پایگاه‌های داده پشتیبانی می‌کند.

تگ‌های PHP

برای نوشتن کد PHP در یک فایل متنی با فرمت php، ابتدا بخش مربوط به نوشتن کد را به صورت زیر باز می‌کنیم:

<?php

سپس کد خودمان را نوشته و در نهایت آن را به صورت زیر می‌بندیم:

?>

و در نتیجه:

<?php
	// کد پی اچ پی شما اینجا قرار میگیرد
?>

مثال Hello World

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

نرم افزار Notepad ویندوز یا Notepad++ را باز کرده و کد زیر را درون آن وارد کنید.

<html>
<head>
    <title>FullKade</title>
    <meta charset="UTF-8">
</head>
<body>

<?php 
    echo "Hello World!";
?>

</body>
</html>

سپس آن را با فرمت php ذخیره کنید. در نهایت آن را به هاست خود انتقال داده و از طریق وارد کردن آدرس آن را اجرا کنید.
خواهید دید پیام “Hello World” در صفحه چاپ می‌شود!

نکته 1: همانطور که می‌بینید، ما می‌توانیم در یک فایل PHP از تگ‌های HTML نیز استفاده کنیم؛ ولی علاوه بر آن، از تگ PHP هم می‌توانیم استفاده کنیم.
نکته 2: تمامی کدهایی که بین تگ PHP نوشته می‌شوند، تنها در سمت سرور اجرا شده و خروجی آن به کاربر داده می‌شود و کاربر نمی‌تواند به هیچ وجه کدهای PHP را ببیند! ولی تمامی کدهای HTML و CSS و JS به کاربر ارسال می‌شود که بدیهی است؛ چون این سه مورد در سمت کاربر (کلاینت) اجرا می‌شوند.


راه دیگر نوشتن کدهای PHP، استفاده از تگ script می‌باشد (همانند جاوا اسکریپت)! با این تفاوت که این‌بار، نوع اسکریپت را PHP تعریف می‌کنیم:

<html>
<head>
    <title>FullKade</title>
</head>
<body>

<script language="php">
    echo "Hello World!";
</script>

</body>
</html>
آخرین نسخه از PHP، پشتیبانی از تگ script را حذف کرده است. ما همان روش اول را پیشنهاد می‌کنیم.

و اما سومین راه برای نوشتن کدهای PHP، استفاده از تگ کوتاه می‌باشد. به این صورت که در همان حالت اول، کلمه‌ی PHP را حذف کرده و کد را بین <? ?> می‌نویسیم:

<?
    echo "Hello World!";
?>
هشدار
حالت استاندارد همان روش اول است و این روش سوم هم ممکن است به صورت پیش فرض در سرور غیرفعال باشد که باید آن را خودتان فعال کنید. پیشنهاد ما همان روش اول است چرا که رسمی می‌باشد.

کلمه‌ی کلیدی echo در PHP

از این کلمه‌ی کلیدی برای چاپ خروجی استفاده می‌شود! در بالا دیدید که بعد از اجرای کد php، مقدار “Hello World” به جای آن قسمت از کد قرار گرفته و به کلاینت ارسال می‌شود. مثال:

<?php
    echo "I love FullKade!";
?>

 متن حتما باید بین دوعلامت ” یا ‘ نوشته شود.

علامت Semicolon ( ; )

هر دستور در PHP باید با سمیکالن به پایان برسد. مثل:

<?php
    echo "Full";
    echo "Kade";
    echo ".Com";
?>

خروجی:

سوال: شاید بپرسید، ما که هرکدام از echo ها را جدا و در خط جدیدی نوشته‌ایم؛ پس چرا خروجی به هم چسبیده است؟!
توجه کنید که مهم این است ما بگوییم چه چیزی در خود خروجی اتفاق افتاده و نمایش داده شود! در حالی که در خود متن سورس کد، تنها برای زیبایی و بهتر دیده شدن این خط و فاصله‌های اضافی را انداخته‌ایم! در ادامه این موضوع را توضیح خواهم داد.


نکته: اگر با زبان‌های برنامه نویسی دیگری آشنا باشید، می‌دانید که فاصله‌های زیاد تاثیری در خروجی کد ندارند. بنابراین شما می‌توانید هر سه echo را بعد از علامت ; و پشت سرهم، به صورت زیر بنویسید.

<?php
    echo "Full";echo "Kade";echo ".Com";
?>

این فاصله ها صرفا برای تمیز دیده شدن کد می‌باشند! هم‌چنین، این موضوع طبیعی است که اگر ما بعد از شروع تگ php، فاصله ندهیم و echo را بنویسیم، echo به کلمه‌ی php خواهد چسبید! پس در این‌جا ما به یک فاصله نیاز داریم؛ ولی فاصله و رفتن به خط جدید صرفا برای خواناتر شدن کد برای انسان است.

استفاده از تگ های HTML در echo

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

<?php
    echo "<strong>Welcome back to FullKade</strong>";
?>

اگر یادتان باشد، در بالا پرسیدیم که چگونه با قرار دادن هر echo در یک سطر جدا، خروجی به هم چسبیده بود! حالا شاید متوجه شده باشید؛ ولی اگر نشدید، اجازه دهید کمی بیشتر توضیح دهبم.

وقتی ما کدی را بین تگ PHP می‌‎نویسیم، زمانی که کاربر به سرور درخواست اجرای آن فایل  را ارسال می‌کند، سرور موقع خواندن فایل، کدهای PHP را شناسایی کرده و اجرا می‌کند. سپس اگر خروجی‌ای چاپ شده باشد، آن خروجی را به جای کل آن کد قرار می‌دهد.
و اگر چیزی خارج از تگ PHP نوشته شده باشد، سرور کاری با آن ندارد و همان را به سمت کلاینت یا کاربر ارسال می‌کند.
وقتی این کلاینت از نوع مرورگر باشد، مروگر خروجی گرفته شده از سرور را با مفسر HTML، CSS، JS و … پردازش کرده و آن را به کاربر نمایش می‌دهد.
حالا ممکن است ما در نرم افزار سمت کلاینتی که خودمان توسعه داده‌ایم، تعریف کرده باشیم که مثلا وقتی خروجی را از سرور گرفتی، خط اول نام یک برنامه بوده و خط دوم لینک برنامه می‌باشد. و در این‌جا بر خلاف مرورگر، ما ساختار دیگری را برای تفسیر خروجی گرفته شده از سرور برای نرم افزار خود تعریف کرده‌ایم و کاری به مرورگر و HTML و … نداریم.

حالا برای جواب دادن به آن سوال می‌گوییم: چون مرورگر فایل را با ساختار HTML شناسایی می‌کند و ما هم می‌خواهیم یک صفحه‌ی وب توسعه دهیم، پس باید از قواعد و ساختار HTML برای رفتن به خط بعدی (بعد از تفسیر خروجی) استفاده کنیم.
و اگر بخواهیم در خود متنِ خروجی سرور و شکل تفسیر نشده‌ی آن نیز به خط جدید برویم، از علامت خاص خود که در ادامه خواهیم گفت استفاده می‌کنیم ؛ با این حساب، شما اگر در مرورگر، سورس کد صفحه را بررسی کنید، خواهید دید که با محتوای صفحه‌ی تفسیر شده خیلی متفاوت است.

اجازه دهید از علامت n\ در مثال زیر استفاده کنیم تا گفته‌ی بالا (رفتن به خط بعد در سورس کد) را درک کنید:

<?php
    echo "Full\nKade";
?>

خروجی را مشاهده کنید:

سمت چپ: خروجی بعد از تفسیر با مفسر HTML در مرورگر
سمت راست: خود خروجی بدون تفسیر

حالا خودتان چندین n\ قرار دهید و سپس خواهید دید که خروجی خام (تفسیر نشده) و خروجی بعد از تفسیر داخل مرورگر چه تفاوتی باهم دارند.

علامت n\ برای رفتن به خط جدید استفاده می‌شود؛ یعنی متنی که از سرور به کلاینت ارسال می‌شود. ولی همانطور که دیدید، چون مرورگرها متن ورودی را به صورت پیشفرض با ساختار HTML می‌شناسند، پس این علامت نیز در خروجی تنها یک فاصله شناسایی می‌شود و اگر چندین بار پشت سرهم باشد هم فایده‌ای در تفسیر ندارد (البته به جز اندکی ناچیز کند شدن زمان تفسیر).
درس بعدی (متغیرها)

پاسخ دهید

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

cp-codfk

نظرات ثبت شده 2 دیدگاه

    1. parsa کاربر مهمان گفت:

      سلام ی سوال ذهن منو درگیر کرده که وقتی echo رو مینویسیم اگر بخوایم ی متن فارسی نمایش داده بشه چیکار کنیم؟ و سوال دیگم اینه که چجوری اون متن که نوشتیم تنظیم کنیم که در کجای صفحه نمایش داده بشه؟ ایا این کار امکان پذیر هست یا در جلسه های بعدی بهش میپردازید؟؟

      11
    2. parsa کاربر مهمان گفت:

      و سوال دیگم اینه که اگه بخوایم یه سیستم در سایت تعبیه کنیم که یک چیزی مثلا اسم کاربر رو در یک تکست باکس دریافت کنه بعد یک جا نمایش بده این کد درست هست؟
      php get data-> text = $name; echo $name; ?>k?>
      اون k رو نادیده بگیرید
      ایا این کد برای چیزی که گفتم درست هست؟؟

      11
توضیحات پیشنهادی نظرات اشتراک