تعداد بازدید: 4562

امکانات command line در php

php یک زبان برای embed (جاسازی) به فرمت HTML می باشد. در عین حال command line interface نیز دارد و می توان مثل تمامی زبان های دیگر از طریق محیط ترمینال نیز با آن ارتباط برقرار کرد. تمامی برنامه های آن با دستور php اجرا می گردد.

برای اجرای فرمان php باید مسیر اجرایی فایل php را در سیستم عامل به لیست دستورات معرفی کرده باشید (در ویندوز PATH و در یونیکس .bash_profile).

SAPI (Server Application Programming Interface) : یک ماژول در ارتباط مستقیم با وب سرویس مثلا Apache Http Server

php command options

برخی دستورات command line در php به شرح زیر می باشد:

نمایش ورژن php :

php -v 
php --version

نمایش تنظیمات مربوط به php یا همان php.ini در console :

php -i
php -i | grep "EXPRESSION"

دستور خط دوم خروجی را به دستور بعدی فرستاده و در دستور بعد در میان خروجی به دنبال EXPRESSION می گردد . به طول مثال دستور php -i | grep "mysql” یعنی تنظیماتی که مربوط به mysql است را نمایش بده.

نمایش ماژول های فعال در php :

php -m
php -m | grep "EXPRESSION"

ماژول های فعال نظیر PDO , pdo_mysql , pdo_sqlite را نمایش می دهد.

نمایش جزئیات تابع php :

php --rf FUNCTION_NAME

نمایش جزئیات یک کلاس php :

php --rc CLASS_NAME

Interactive shell

یک shell برای اجرای کد های php وجود دارد که با اجرای دستور زیر فعال می گردد.

php -a

در زمان این که shell را به اجرا در می آورید متغیر ها و توابع شما در حافظه RAM ذخیره می گردد و تا زمانی که ctrl + c را نزنید و shell را cancel نکنید حافظه آزاد نمی گردد.

Built-in web server

می توانید با کمک دستور زیر یک وب سرویس برای تست کد با کمک php ایجاد کنید :

php -S HOST:PORT

به طور مثال یک سرویس لوکال در پورت 8000 با دستور زیر ایجاد می کنیم :

php -S localhost:8000

اگر در مرورگر آدرس http://localhost:8000 را وارد کنید فایل های داخل مسیر آن اجرا می گردد. با استفاده از پارامتر -t می توانید مسیر وب سرویس را تغییر دهید.

Input/output streams

I/O یا همان ورودی و خروجی از دستگاه در زمان اجرای دستور php قابل انجام می باشد. دو تعریف مهم :

STDIN : جریان ورودی جاری یا استاندارد (Standard Input Stream).

STDOUT : جریان خروجی استاندارد (Standard Output Stream)

مثلا ما در جریان اجرای یک برنامه php یک سری ورودی برای تحلیل لازم داریم با توجه به تابع مورد نظر از دستگاه استاندارد ورودی (معمولا کیبورد) در console ترمینال می گیریم و پس از آن می توان در خروجی دستگاه (STDOUT) یک stream رو چاپ کنیم.

توابع کار بار ورودی و خروجی ها بدون فرمت (Unformatted Stream)

fread : برای گرفتن اطلاعات . زمانی که به جای پارامتر اول (resource) که فایل می باشد STDIN را بگذاریم داده های ورودی را می خواند.

fread ( STDIN , int $length )

به اندازه length می خونه و بر می گردونه . در کد ما باید در یک متغیر ذخیره کنیم.

fwrite : برای نمایش در خروجی . زمانی که به جای پارامتر اول که فایل می باشد STDOUT را بگذاریم.

fwrite ( STDOUT , string $string  )

توابع کار بار ورودی و خروجی های فرمت شده (Unformatted Stream)

fscanf : برای خواندن ورودی از STDIN و ذخیره در متغیر

fscanf ( STDIN , string $format [, mixed &$... ] )

پارامتر دوم فرمت ها و پارامتر سوم به بعد متغیر هایی که فرمت نظیر آن ها در پارامتر دوم تنظیم شده است.

فرمت های معمول :

  • %d : اعداد صحیح یا Integer
  • %s : رشته ها
  • %f : اعداد اعشاری یا float

fprintf : برای نوشتن در خروجی با فرمت خاص

fprintf ( STDOUT , string $format [, mixed $... ] )

توابع کار بار فایل با resource برابر با یکی از موارد STDIN , STDOUT را می توان در console استفاده کرد.

مثال نمایش محیط یک مستطیل که برابر با طول و عرض می باشد در محیط command line :

print("Enter Width: \n");
fscanf(STDIN,"%d",$a);
print("Enter Height: \n");
fscanf(STDIN,"%d",$b);
$area = $a*$b;
fprintf(STDOUT,"Area is: %d",$area);

بعد از اجرای فایلی که کد بالا را در خود دارد طول و عرض از کاربر گرفته می شود و در نهایت محیط به او نمایش داده می شود.

مطالب مشابه

کار با تاریخ و زمان در php

تاریخ و زمان در php

در ابتدا به دو مفهوم مهم در تاریخ و زمان در زبان پی اچ پی اشاره می کنیم : Greenwich Mean Time (GMT) زمان گرینویچ یا...

کار با gdLibrary در php

کتابخانه gd برای کار بار تصاویر به صورت پویا در زبان های برنامه نویسی نظیر PHP می باشد که توسط زبان C نوشته شده است....

php socket programming

PHP Socket Programming – Part2

برنامه نویسی سوکت فرآیندی است که در آن یک یا چند کلاینت از طریق پورت یکسان یا متفاوت به سرور متصل می شوند و این اتصال...

معماری های MVC/HMVC

معماری MVC یک قالب برای پیاده سازی رفتار نرم افزار می باشد که بر پایه Model و Controller و View می باشد. controller...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

یک دیدگاه برای امکانات command line در php

  1. سلام
    من داخل تگ های html یه تابع از php کال کردم بعد تگ ها و تابع داخل جدول دیتا بیس ذخیره کردم حال که اطلاعات جدول فراخوانی میکنم تابع php برام چاپ نمی کنه! باید چه کار کنم که درست بشه؟؟؟؟

دیدگاهتان را بنویسید

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