PHP ile CLI ( Komut Satırı ) Programlama

Framework ( Laravel, Symfony, TitanPHP ) gibi ve benzeri kullanan arkadaşlarımızların bildiği gibi PHP’yi konsoldan yöneterek bir çok işimizi hızlı ve basit bir şekilde yapabiliyoruz. Bununla ilgili bir çok döküman ve saire mevcut. Fakat bu yapıyı kendi Frameworkümüze yada PHP’yi konsoldan yönetmemiz gerektiğinde nasıl yapabilirim diyen arkadaşlar için gelecek.

Not : Windows üzerinde çalışıyorsanız sistem değişkenlerinde PHP yolunun ekli olduğundan emin olun. Altta verdiğim yolu kendinize göre düzenleyin.

C:\bin\php\php5.6.40

Bu işlemi yaptıktan sonra konsola php -version komutunu yazın. Eğer cevap size altta verdiğim gibi dönüyorsa başarılı yapmışsınız demektir.

PHP 5.6.40 (cli) (built: Jan 9 2019 15:10:36)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

Komut İstemi

Ardından ana dizine gidip bir dosya oluşturalım. Ben adını oxyn yapıyorum. Normal bir şekilde php etiketleri açarak artık programlayabiliriz.

<?php echo 'Merhaba PHP CLI Programlama'; ?>

Ve bunu test edelim. CMD Komut satırına giderek ( Gitmeyi bilmeyenler için Windows + R tuşu basın. Çalıştır gelecektir karşınıza. Ardından CMD yazıp enter tuşuna basın. ) OXYN dosyamızın bulunduğu dizine giderek şu komutu verin.

php oxyn

Komutu çalıştırdıktan sonra karşımıza çıktıysa başardık demektir 🙂

Merhaba PHP CLI Programlama

Komut İstemi

Peki buna nasıl parametre verebilir ve bu parametreleri okuyabiliriz sorusuna cevap ise

php oxyn parametre1 parametre2

şeklinde istediğiniz kadar parametre verebilirsiniz. Okuması ise php dosyamızda

print_r($_SERVER['argv']);

şeklinde yapabilirsiniz. Ayrıca mesela işleme devam etmek istermisiniz ? tarzında kullanıcıdan onay alma gibi durumlarda ise altta verdiğim örnekteki gibi komutları kullanabilirsiniz.

Örnek

<?php  
  echo "Merhaba sen oxyn'misin ? ";

  $oku = fopen ("php://stdin","r");
  $satir = fgets($oku);

  if(trim($satir) != 'evet'){
     echo "O zaman hoş geldin!\n";
     exit;
  }

  echo "\n";
  echo "Hoş geldin.\n";

Evet yukarıda ki örneğimizi çalıştırdığımız zaman “Merhaba sen oxyn’misin ?” diye konsolda bir yazı çıktı ve bizden bir cevap bekledi. Eğer evet yazdıysanız “O zaman hoş geldin!” diye cevap verdi ve programı durdurdu. Eğer başka bir yazı geldiyse veya boş geçildiyse o zaman “Hoş geldin” şeklinde bir cevap döndürdü. Bunun gibi bir çok şey yapabilirsiniz. İşte bu kadar basit. İlerleyen zamanlarda kendi yazmış olduğum framework’e böyle bir alt yapı katmayı düşünüyorum.

Umarım anlattıklarımın bir faydası olmuştur. Yakında github’a eklemeyi düşünüyorum örnekleri. Şimdilik hoşçakalın. Bir daha ki yazımızda görüşmek üzere. Kendinize iyi bakın.

Bu arada aklınıza takılan bir soru olursa lütfen yazmaktan çekinmeyin. Elimden geldiğince sizlere yardımcı olmaya çalışırım.

Merhaba Dünya ! Çok umutluyum :)

Biz yazılımcıların selamlama biçimi olan “Hello World” yani ( Merhaba Dünya )ile sizleri selamlamak istiyorum 🙂 Bunu neden böyle yapmışlar halen düşünüyorum. Sanırım yazdıkları yazılımın bütün dünya tarafından kullanılacağını düşünüyor olabilirler ama gerçekler çok farklı.

Bende sizlere yazılım teknolojilerinde bahsedeceğim yazılarımda. Ama aklınıza şu soru gelebilir. Şahsen benim geliyor. “Adama bak bize yazılım öğretecek ama kendi sitesi WordPress ???”.

Evet Haklısınız. Bu işe başlamadan önce baktım. WordPress 5.1 sürümü çok iyi ve hızlı. Amerikayı baştan keşfetmenin bir anlamı yok diye düşündüm. Ama buna benzer projeler yapıp yayınlamayı düşünüyorum. Siz değerli ziyaretçilerim de destek verirseniz şayet belki bizde bir gün Türk WordPress’i yapabiliriz bir tane.

“Yeter artık” dediğinizi duyar gibiyim.

Ayrıca kendi hayatımla, tecrübelerimle, yaşadıklarımla ilgili ilginç gördüğüm yada faydalı gördüğüm şeyleri paylaşmayı düşünüyorum. Eminim beraber çok eğlenceli zaman geçireceğiz hemde birbirimize birşeyler öğreterek. Destekleriniz için şimdiden hepinize teşekkür ederim.