Konsol Üzerinden Php Çalıştırmak

Merhaba arkadaşlar mobilhanem.com üzerinden anlattığımız php eğitimlerimizde bu ders php kodlarımızı Konsol Üzerinden Php Çalıştırmak nasıl olur  bunu göreceğiz. Php ile kodlama yapanların çoğu (bende dahil) hep web üzerine geliştirmeler yaptığımız için genelde http istekleri ile php kodumuzu çalıştırıyoruz. Şimdi http kullanmadan yani bir sunucumuz olmadan php kodunu nasıl çalıştırırız buna bakalım. Kafanızda daha anlaşılır olması açısından bir örnek vermek gerekirse laravelin artisan komut yöneticisini örnek verebiliriz.

Konsol Üzerinden Php Çalıştırmak

Konsol üzerinden php kodunu çalıştırabilmemiz için php yorumlayıcısının  yüklü olması yeterli. Php yorumlayıcısının bilgisayarınızda yüklü olup olmadığını kontrol etmek için aşağıdaki komutu konsol ekranınızda çalıştırabilirsiniz.

php --version 
##veya 
php -v

sorguladığınızda aşağıdakine benzer bir çıktı alıyorsanız yorumlayıcınız yüklü demektir.

PHP 7.0.10 (cli) (built: Aug 18 2016 09:48:53) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

Yorumlayıcınız yüklü olmasına rağmen komut çalışmıyorsa sistem  ortam değişkenlerinize php yi ekleyerek tekrar deneyebilirsiniz.

Şimdi mobilhanem.php dosyası oluşturup içerisine merhaba Mobilhanem.Com yazalım ve konsolda çalıştıralım.

<?php
   echo 'Merhaba Mobilhanem.Com';

?>

Daha sonra dosyamızın bulunduğu klasörde komut sistemini açarak aşağıdaki kodu çalıştıralım.

php mobilhanem.php

Aşağıdaki şekilde bir çıktı alacağız.

Konsoldan yukarıdaki şekilde kod çalıştırabiliyoruz peki ya kullanıcıdan giriş nasıl alabiliriz ?

$argc ve $argv Değişkenleri

$argc ve $argv değişkenleri php de konsoldan gelen inputları kontrol eden global değişkenlerdir. Bu değişkenlerin görevleri:

  • $argc: Konsoldan kaç adet input girildiğini kontrol eder. php anahtar kelimesinden sonra girilen parametreleri aralarındaki boşluklara göre sayar. Örneğin: php mobilhanem.php -n 1 komutunda $argc değeri 3 olacaktır.
  • $argv: Konsoldan girilen parametreleri dizi şeklinde almamızı sağlar. Örneğin: php mobilhanem.com -n 1 şeklinde bir komut verirsek $argv nin değeri [“mobilhanem.php”, “-n”, 1] şeklinde olacaktır.

Kullanıcının girdiği parametreleri basitçe görebiliceğimiz bir örnek yapalım.

<?php

echo " \$argc Degeri: $argc \n Argv Degeri: ";
print_r($argv);

   

?>

Yazdığımız kodu aşağıdaki parametreler ile çalıştıralım.

php mobilhanem.php -n 25

Ekran çıktısı aşağıdaki şekilde olacaktır.

NOT: Dosyamızın uzantısının .php olmasına gerek yok içinde php syntaxına uygun kodlar yazdığınız sürece sıkıntı olmayacaktır.

 

 

Şimdi kullanıcıdan aldığı sayı kadar ekrana Merhaba Mobilhanem yazdıran php kodumuzu yazalım.

Kodu php DOSYA_ADI -n ADET_SAYISI komutunu kabul edecek şekilde yazalım.

<?php

// $argc  değerimiz 3 gelecek
// $argv değerimizin 3. elemanı yani 2 numaralı indisteki değeri alacağız. 
// tabi 1. indisteki -n değerininde gelip gelmediğini kontrol edelim. 
if($argc == 3) { // 3. adet parametre girileceğini ve 2. parametrenin -n olduğunu kesinleştirdik.
	if($argv[1] == "-n") {
		
		if(is_numeric($argv[2])) { // sayısal bir değer girilmiş mi kontrol edelim
			for($i=1;$i<=intval($argv[2]);$i++) {
				echo "Merhaba Mobilhanem.com \n";
			}
		}else {
			echo "Lutfen 3. parametreyi integer bir deger giriniz. ";
		}
		
	}else {
		echo " Dosya adindan sonra -n komutunu yazmayi unutmayiniz. \n";
	}
}else {
	echo " Lutfen konsoldan sadece 3 parametre giriniz. \n";
}


   

?>

Yukarıdaki örneğimizi aşağıdaki komutlarla çalıştırarak testlerini yapabilirsiniz.

// uyarı vermesini gerektirecek bazı komutlar
php mobilhanem 
php mobilhanem a a 
php mobilhanem -n vehbi
 // çalışması gereken komut
php mobilhanem -n 25

Dersimizin sonuna geldik arkadaşlar bir sonraki dersimizde görüşmek üzere kendinize iyi bakın.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Php Dersleri için tıklayınız..

 

1

Vehbi Akdoğan

Erzurum Atatürk Üniversitesi Bilgisayar Mühendisliği Mezunu
Web & Android Developer
#erzurumspor

1 Yorum

  • Merhabalar php’den java dosyası çalıştırmak istiyorumda ne bilim hani bi buton ile java da yazdığım metoda erişsin nasıl olduğunu bilmiyorum fakat yoksa baya bi uğraştırıcak yardımcı olursanız sevinirim iyi günler

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?