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

امکانات 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 error handling exceptions

مدیریت خطا و استثنا در php

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

php socket programming

PHP Socket Programming – Part1

برنامه نویسی سوکت یک راه برای ارتباط مانا میان دو node ( کلاینت و سرور ) می باشد. یک سوکت (یا node) تحت یک IP و پورت به...

email handling in php

ارسال و دریافت ایمیل در php

قوانین حکم فرما بر دنیای وب را پروتکل می نامیم. پروتکل http که در سرور ها برای ایجاد پاسخ به درخواست ها در برخی...

افزونه CURL در PHP

برای ایجاد یک درخواست راه های متفاوتی وجود دارد. اگر درخواست از نوع GET باشد راه های ساده تری نظیر تابع...

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

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

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

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

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

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