Sokan Academy

تا این مرحله از دورهٔ آموزش زبان برنامه‌نویسی PHP، توانسته‌ایم محیط توسعهٔ وب اپلیکیشن و نرم‌افزارهای مورد نیاز بسته به نوع سیستم‌عاملی که داریم را مهیا سازیم. حال باید ببینیم که چگونه می‌توانیم اولین برنامهٔ خود را در زبان PHP اجرا کنیم. برای این منظور، با فانکشن از پیش نوشته شده در زبان PHP تحت عنوان ()phpinfo کار خود را آغاز می‌کنیم.

آشنایی با دستور ()phpinfo

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

برای شروع کار در سیستم‌عامل ویندوز، به فولدر wamp که پس از نصب این نرم‌افزار داخل درایو C ایجاد می‌شود رفته و وارد فولدر www می‌شویم (البته در صورتی که از اِستک ومپ استفاده می‌کنید). حال باید فولدری با هر نامی که تمایل داشته باشیم برای وب‌سایت خود ایجاد کنیم. به طور مثال، ما نام site را در نظر می‌گیریم. در ادامه، برای ساخت یک فایل پی‌اچ‌پی، از یک نرم‌افزار ویرایشگر متن مثل Notepad استفاده کرده و فایلی تحت عنوان index.php داخل فولدر site ایجاد می‌کنیم (به خاطر داشته باشیم که پسوند فایل حتماً باید php. باشد).

اگر هم از اِستک زمپ استفاده می‌کنید، بسته به درایوی که نرم‌افزار روی آن نصب شده است (که معمولاً درایو C است)، وارد پوشه‌ای تحت عنوان xampp شده، سپس وارد پوشه‌ای تحت عنوان htdocs می‌شویم و پوشهٔ مد نظر را آنجا می‌سازیم.

    هشدار 
در صورتی که File Extension در سیستم‌عامل ویندوز شما غیرفعال باشد، این احتمال وجود دارد که فایلی با پسوند index.php.txt ایجاد گردد که در چنین شرایطی اجرای برنامه با مشکل روبه‌رو خواهد شد. برای رفع این مشکل در Windows 10، ابتدا به منوی Start رفته، روی گزینهٔ Control Panel کلیک کرده، سپس روی گزینهٔ Appearance and Personalization کلیک کنید و در نهایت روی آیکان Folder Options کلیک نمایید. روی تب مربوط به View کلیک کنید سپس وارد بخش Advanced settings شوید و تیک گزینهٔ Hide extensions for known file types را برداشته و روی دکمه ی OK کلیک کنید.

حال قصد داریم ببینیم که در سیستم عامل گنو/لینوکس توزیع اوبونتو به چه شکل می‌توانیم این پروژه را ایجاد کنیم:

$ cd var/www

همان‌طور که مشاهده می‌شود، ترمینال را باز کرده و وارد مسیر بالا می‌شویم. سپس با استفاده از دستور زیر، یک دایرکتوری به نام site می‌سازیم:

$ var/www mkdir site

دستور mkdir برای ساخت یک دایرکتوری جدید است که مقابل آن باید نام دایرکتوری مد نظر را نوشته سپس اینتر کنیم. حال باید وارد پوشهٔ site شده و داخل آن یک فایل جدید تحت عنوان index.php بسازیم. برای این منظور، به شکل زیر عمل می‌کنیم:

$ var/www cd site

در ادامه با استفاده از دستور touch اقدام به ساخت یک فایل جدید می‌کنیم:

$ var/www/site touch index.php

اکنون با استفاده از یک نرم‌افزار ویرایشگر متن مثل vim ،nano یا gedit می‌توان فایل را باز نموده و ویرایش کرد:

$ nano index.php

اکنون فایل index.php را به صورت زیر تکمیل می‌کنیم (از این جای کار به بعد، اصلاً تفاوتی مابین توسعهٔ نرم‌افزار مد نظرمان در اِستک‌های ومپ، زمپ، لمپ و یا ممپ وجود ندارد):

<!DOCTYPE html>
<html>
<head>
    <title>phpinfo();</title>
</head>
<body>
    <?php 
        phpinfo();
    ?>
</body>
</html>
    نکته

با توجه به اینکه بررسی کدهای HTML خارج از حوزهٔ این دورهٔ آموزشی است، در طول این دوره از توضیحات مقدماتی پیرامون کدهای HTML خودداری کرده و صرفاً در جاهایی که توضیحات کمک به درک بهتر مفاهیم PHP کند، به بررسی بیشتر سایر کدها خواهیم پرداخت..

به طور کلی هر دستور PHP می‌بایست با php?> شروع شده و با <? به اتمام رسد. دستوری که می‌خواهیم داخل این دو علامت قرار دهیم ()phpinfo است که این وظیفه را دارا است تا اطلاعات مرتبط با ماژول PHP که با نصب اِستک‌های ومپ، لمپ، زمپ یا ممپ روی سیستم‌عامل ما نصب شد را در مرورگر به نمایش درآورد.

لازم به ذکر است که علاوه بر تگ‌های پی‌اچ‌پی که در بالا معرفی کردیم، یکسری تگ‌های دیگری هم ساپورت می‌شوند که از آن جمله می‌توان به تگ‌های آغازین =?> و ?> اشاره کرد (البته این در صورتی است که در تنظیمات PHP قابلیت استفاده از این تگ‌ها فعال شده باشد). آنچه مسلم است اینکه php?> به عنوان تگ رایج زبان PHP شناخته می‌شود.

    به خاطر داشته باشید
بتوجه داشته باشیم که پیش از شروع به توسعهٔ نرم‌افزار با زبان PHP، باید نرم‌افزار ومپ یا زمپ را اجرا کرده و از اجرای شدن درست وب سرور آپاچی آن اطمینان حاصل کنیم. در واقع، با سبز شدن رنگ آیکان قرار گرفته در نوار پایین ویندوز مطمئن خواهیم شد که لوکال‌هاست به درستی کار می‌کند. در اوبونتو نیز اِستک لمپ به محض بالا آمدن سیستم‌عامل، اجرا خواهد شد و نیازی به اجرای دستی آن نخواهیم داشت.

در ادامه مرورگری همچون فایرفاکس یا گوگل کروم را اجرا کرده و همان‌طور که در تصویر زیر می‌بینیم، آدرس localhost/site/index.php را وارد آن می‌کنیم:

وب اپلیکیشن دینامیک به همراه نسخه‌ٔ ماژول PHP

تبریک می‌گوییم! اولین وب اپلیکیشن دینامیک شما با موفقیت اجرا شده است. همان‌طور که در تصویر فوق مشخص است، نسخه‌ٔ ماژول PHP به علاوهٔ اطلاعات بسیار زیاد دیگری در مرورگر به نمایش در آمده است.

آشنایی بیشتر با localhost

نکته ای که در اجرای این فایل نیاز به توجه دارد این است که اگر نام فایلی که می‌سازیم index باشد، وب سرور آپاچی آن را به عنوان فایل پیش‌فرض اصلی سایت تلقی نموده و پس از ورود به فولدر مرتبط با سایت -یعنی localhost/site- مستقیم به سراغ آن فایل خواهد رفت. بنابراین آدرس localhost/site هیچ فرقی با localhost/site/index.php نمی‌کند و همواره توصیه هم می‌شود که فایل اصلی یک وب اپلیکیشن تحت عنوان index.php نام‌گذاری شود.

همچنین در نظر داشته باشیم که یو‌آر‌ال localhost با آدرس آی‌پی 127.0.0.1 هیچ فرقی نمی‌کند و هر دو یوآر‌ال به مکان یکسانی (فولدر www در لمپ و ومپ و فولدر htdocs در زمپ و ممپ) اشاره می‌کنند.

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

به خاطر داشته باشیم که پس از اجرای فانکشن ()phpinfo و مشاهدهٔ نتیجه آن در مرورگر، بایستی همواره به این نکته توجه کنیم که این دستور ساده اطلاعاتی از سروری که وب‌سایتمان روی آن قرار گرفته را فاش می‌سازد که شاید دوست نداشته باشیم فانکشن ()phpinfo همواره فعال باشد. بنابراین می‌توان با تنظیمات فایل php.ini، این فانکشن (تابع) پی‌اچ‌پی را غیرفعال ساخت. برای این منظور، پس از باز کردن فایل php.ini، دستور disable_functions را یافته و آن را به شکل زیر ویرایش کرده و فایل را ذخیره می‌کنیم:

disable_functions=phpinfo

از این پس، دستور ()phpinfo تحت هیچ عنوان در وب سرور آپاچی اجرا نخواهد شد (برای آشنایی بیشتر با فایل php.ini، به آموزش تنظیمات مهم در ماژول PHP مراجعه نمایید).

برنامه نویسی وبback endphpپی اچ پی

sokan-academy-footer-logo
کلیه حقوق مادی و معنوی این وب‌سایت متعلق به سکان آکادمی می باشد.