PHP 5.1.0'dan itibaren, PHP --with-readline seçeneği ile derlenmişse, CLI SAPI -a seçeneği kullanıldığında etkileşimli bir kabuk açar.
Etkileşimli kabuğu kullanarak PHP kodu yazabilir ve bunları doğrudan çalıştırabilirsiniz.
Örnek 1 - Etkileşimli kabuk kullanarak kod çalıştırmak
$ php -a Interactive shell php > echo 5+8; 13 php > function ikiEkle($n) php > { php { return $n + 2; php { } php > var_dump(ikiEkle(2)); int(4) php >
Etkileşimli kabuk ayrıca, işlevler, sabitler, sınıf isimleri, değişkenler duruk yöntem çağrıları ve sınıf sabitleri için sekme ile kod tamalama özelliklerine sahiptir.
Örnek 2 Kod tamamlama
Sekme tuşuna iki kere basarak yazdığınız harflerle başlayan anahtar sözcükleri listeleyebilirsiniz:
php > strp[TAB][TAB] strpbrk strpos strptime php > strp
Olası tek seçenek olduğunda sekme tuşuna ilk basışınızda sözcük aynı satırda tamamlanır:
php > strpt[TAB]ime(
Tamamlama, bulunduğunuz etkileşimli kabuk ortamında tanımlanmış isimler için de çalışacaktır::
php > $fooThisIsAReallyLongVariableName = 42; php > $foo[TAB]ThisIsAReallyLongVariableName
Etkileşimli kabukta yukarı ve aşağı ok tuşlerını kullanarak geçmiş üzerinde dolaşabilirsiniz. Geçmiş ~/.php_history dosyasına kaydedilir.
PHP 5.4.0'dan itibaren, cli.pager
ve
cli.prompt
php.ini değişkenleri devreye
girmiştir. cli.pager
ile çıktıyı ekranda göstermek
yerine çıktıyı sayfalayacak bir programda (less gibi)
göstermek mümkündür. cli.prompt
ile php
> çıktısını değiştirebilirsiniz.
PHP 5.4.0'dan itibaren, php.ini ayarlarını etkileşimli kabukta bir kısayol ile değiştirmek de mümkündür.
Örnek 3 Etkileşimli kabukta php.ini ayarlarını değiştirmek
cli.prompt
ile:
php > #cli.prompt=hello world :> hello world :>
Ters tırnakları kullanarak komut isteminde kod çalıştırabilirsiniz:
php > #cli.prompt=`echo date('H:i:s');` php > 15:49:35 php > echo 'hi'; hi 15:49:43 php > sleep(2); 15:49:45 php >
Sayfalayıcı olarak less belirtmek:
php > #cli.pager=less php > phpinfo(); (çıktı less içinde gösterilir) php >
cli.prompt
içinde bir kaç öncelem belirtilebilir:
Öncelem | Açıklama |
---|---|
\e | Komut istemine renk eklemek için kullanılır. Örnek: \e[032m\v \e[031m\b \e[34m\> \e[0m |
\v | PHP sürümü. |
\b | Neyin içindekinin engelleneceğini belirtir. Örneğin, çok satırlı bir açıklama içinde olmayı belirtmek için: /* Dış kapsam php tarafından belirtilir. |
\> | Komut istemi karakterini belirtir. By default this is > öntanımlı olsa da kabuk sonlandırılmamış bir dizge veya blok içindeyse bu değişir. Olası karakterler: ' " { ( > |
Bilginize:
auto_prepend_file ve auto_append_file ile içselleştirilen dosyalar bu kipte bazı sınırlamalarla çözümlenebilir; örneğin çağrılmadan önce işlevler bu dosyalarda tanımlanabilir.
Bilginize:
PHP CLI etkileşimli kipte kullanılıyorsa Özdevinimli Sınıf Yükleme kullanılamaz.