You might have seen the cool interactive shell of python. And/Or the IDLE that comes with Python for Windows and as an add on for Python on Linux ? That’s really handy for prototyping. Isn’t that ? Well, I always counted the interactive shell of python as one of the many key strengths of Python over PHP. I knew that PHP did have interactive mode as well, but that didn’t look pretty to me. Well, I was using Windows then.
A long time has passed meanwhile and today, while trying to find out something to do in my leisure, guess what, I stumbled upon PHP again. I was using the Python shell that I launched from my Ubuntu’s “Applications > Programming ” menu. I was playing with the base64 module of Python when I came to think about the base64_encode() function of PHP and immediately chose to experiment with PHP leaving Python.
I was going to write a script when suddenly an idea struck me. Why not try the interactive mode in Linux? Does it have anything different in Linux ?
I opened up a terminal and typed in:
1 |
php -a |
Oh, I forgot to tell you that, I did have php5-cli package installed on my Linux. To try php from command line, you must have this package installed. To install it, use your default package manager or type on your Ubuntu terminal:
1 |
sudo apt-get install php5-cli |
In case of some other distro of Linux, follow your manual to install php5-cli.
Now that I had php command line interpreter installed, I got this message:
1 2 3 4 |
masnun@ubuntu:~$ php -a Interactive shell php > |
Wow… !! Did you see that “php >” line ? It’s a real shell prompt then ? I didn’t see that on Windows.
Still more surprises were left for me. I had to spend a bit of time to figure out how it works. It’s very plain. You don’t need the <?php and ?> delimiters. Just complete a pure php statement and press enter. Like this:
1 2 3 4 5 6 |
masnun@ubuntu:~$ php -a Interactive shell php > echo "hello world"; hello world php > |
PHP has been always very well accepted for it’s flexibility and I don’t miss that in the interactive shell either. 😉
You can easily expand php statements over multiple lines:
1 2 3 4 5 6 7 8 |
masnun@ubuntu:~$ php -a Interactive shell php > echo php > "hello" php > ; hello php > |
Here, you can see that I have spread the following statement into three lines:
1 |
echo "hello"; |
The first line contains — echo.
The second line has the string — “hello”.
And the final terminates and completes the statement with the semicolon.
It’s simple. Isn’t it ?
Let’s see some examples:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
masnun@ubuntu:~$ php -a Interactive shell php > //using as a calculator php > echo 5*6; 30 php > //declare a variable php > $var ="masnun"; php > // print the variable php > echo $var; masnun php > //for loop php > for($i=0;$i<3;$i++) php > { echo $i."\n"; } 0 1 2 php > //lets quit now php > exit() php > //aha... I forgot the semicolon php > ; masnun@ubuntu:~$ |
Cool, eh ? 😀
Now, if you are Using Ubuntu or any other distro with Gnome desktop, launch the menu editor and add a new item into the Programming sub menu.
On Ubuntu:
— Right click on the main menu bar.
— Click “Edit Menus”.
— In the “Menus” section, select “Programming”.
— Click “New Item”.
— A “Create Launcher” dialog box will pop up.
— Fill it as below:
Type: Application in Terminal
Name: PHP Shell
Command: php -a
Comment: Interactive PHP Shell
— Press “OK”.
— Press “Close” on the “Main Menu” dialog box.
You’re finally done adding a fancy PHP shell directly to your main menu. You can of course run PHP shell from terminal just by typing:
1 |
php -a |
But having an item in the main menu does help, doesn’t it ? 😉
Have fun, have a nice time !! 😀
One reply on “Interactive PHP Shell”
good stuff