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
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
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.
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.
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.
echo ” $argc Degeri: $argc n Argv Degeri: “; print_r($argv);
?> |
Yazdığımız kodu aşağıdaki parametreler ile çalıştıralım.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// $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
// 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..
0