Yükleniyor...
Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
@emin

Emin ALT.
Developer
 Biyografi: Elma veren ağacı taşlarlar.
Python'a Giriş: Temel Kullanım Prensipleri

Python, sade ve okunabilir sözdizimi sayesinde programlamaya yeni başlayanlar için ideal bir dildir. Bu kılavuz, Python'ın temel yapı taşlarını ve ilk adımlarını anlamanıza yardımcı olacak, böylece dilin mantığını kavrayarak kendi programlarınızı yazmaya başlayabileceksiniz. Odak noktamız, Python ortamında temel komutların ve veri yapılarının nasıl kullanılacağıdır.


Temel Sözdizimi


Python'da temel işlemler genellikle fonksiyon çağrıları, değişken tanımlamaları ve operatör kullanımları etrafında döner. En yaygın başlangıç noktalarından biri, ekrana bilgi yazdırmak için kullanılan print() fonksiyonudur. Değişkenler, verileri depolamak için kullanılır ve bir değer atama operatörü (=) ile tanımlanır.


Detaylı Açıklama


  • print() Fonksiyonu: Bu fonksiyon, parantez içindeki argümanları standart çıktıya (genellikle konsola) yazdırır. Yazdırılacak metin genellikle çift tırnak (") veya tek tırnak (') içine alınır.

  • Değişken Tanımlama: Bir değişkene değer atamak için değişken_adı = değer yapısı kullanılır. Python, değişkenin türünü otomatik olarak algılar (örneğin, tam sayı, ondalık sayı, metin). Değişken adları harf veya alt çizgi (_) ile başlamalı, sayı ile başlayamaz ve büyük/küçük harfe duyarlıdır.

  • Operatörler: Aritmetik işlemler (+, -, *, /) gibi temel operatörler, sayılar ve değişkenler üzerinde matematiksel işlemler yapmak için kullanılır.


Pratik Kullanım Örnekleri


Bu bölüm, yukarıda açıklanan temel sözdizimi öğelerinin pratik uygulamalarını göstermektedir.


Örnek 1: İlk Python Programı - Merhaba Dünya

Bu örnek, print() fonksiyonunun basit bir dizeyi konsola yazdırmak için nasıl kullanıldığını gösterir.

print("Merhaba, Dünya!")

Örnek 2: Değişken Tanımlama ve Kullanımı

Bu örnek, bir değişkene değer atanmasını ve bu değişkenin print() fonksiyonu ile nasıl görüntülendiğini gösterir. Ayrıca, farklı türdeki değişkenlerin nasıl tanımlandığını da içerir.

mesaj = "Python öğrenmek harika!"
sayi = 100
pi_degeri = 3.14
print(mesaj)
print("Sayı:", sayi)
print("Pi değeri:", pi_degeri)

Örnek 3: Temel Aritmetik İşlemler

Bu örnek, Python'da temel aritmetik operatörlerin nasıl kullanılacağını ve sonuçların nasıl yazdırılacağını gösterir.

a = 15
b = 5
toplam = a + b
fark = a - b
carpim = a * b
bolum = a / b
print("Toplam:", toplam)
print("Fark:", fark)
print("Çarpım:", carpim)
print("Bölüm:", bolum)

Örnek 4: Kullanıcıdan Giriş Alma

input() fonksiyonu, kullanıcıdan veri almak için kullanılır. Bu örnek, kullanıcıdan adını alıp hoş geldiniz mesajı oluşturur.

ad = input("Adınız nedir? ")
print("Merhaba,", ad + "!")

Önemli Notlar


  • Büyük/Küçük Harf Duyarlılığı: Python büyük/küçük harfe duyarlıdır. Yani, Degisken ve degisken farklı iki değişkendir.

  • Yorumlar: Kodunuzu açıklamak için # karakteri ile başlayan yorumlar kullanın. Python bu satırları yok sayar.

    # Bu bir yorum satırıdır.
    print("Merhaba") # Bu da satır içi bir yorumdur.
    
  • Hata Mesajları: Python, kodunuzda bir hata olduğunda size hata mesajları (traceback) gösterir. Bu mesajları dikkatlice okuyarak sorunun nerede olduğunu anlamaya çalışın.

  • Girintileme: Python, kod bloklarını (örneğin fonksiyonlar, döngüler, koşullu ifadeler) tanımlamak için girintileme (boşluk veya tab) kullanır. Yanlış girintileme IndentationError hatasına yol açar.

20
2
JavaScript Dilinde Temel Sözdizimi (Syntax) Kullanımı

JavaScript, web geliştirmenin temel taşlarından biridir ve bu dilin gücünü tam olarak kullanabilmek için temel sözdizimi kurallarını anlamak elzemdir. Sözdizimi (syntax), bir programlama dilinde kodun nasıl yazılması gerektiğini belirleyen kurallar bütünüdür. Doğru sözdizimi kullanımı, JavaScript motorunun yazdığınız talimatları doğru bir şekilde yorumlayıp çalıştırmasını sağlar. Bu kılavuz, JavaScript dilinde temel sözdizimi kullanımını adım adım ve teknik detaylarla açıklayacaktır.


Temel Sözdizimi


JavaScript sözdizimi, programlama ifadelerinin (statements) ve bu ifadeleri oluşturan anahtar kelimelerin, operatörlerin, değişkenlerin ve fonksiyonların belirli bir düzende kullanılmasını gerektirir. Her bir ifade, JavaScript motoruna belirli bir görevi yerine getirmesi için verilen bir talimattır. Genellikle, JavaScript ifadeleri noktalı virgül (;) ile sonlandırılır. Bu, birden fazla ifadenin aynı satırda yazılmasına olanak tanır ve kodun okunabilirliğini artırır.


Aşağıdaki örnek, temel bir JavaScript ifadesini göstermektedir:

let mesaj = "Merhaba, Dünya!";
console.log(mesaj);

Detaylı Açıklama


  • İfadeler (Statements): JavaScript kodunun en küçük bağımsız birimidir. Bir değer atama, bir fonksiyon çağırma veya bir koşul kontrol etme gibi belirli bir eylemi gerçekleştirirler. Her ifade genellikle bir noktalı virgül (;) ile biter, ancak bazı durumlarda bu isteğe bağlıdır (JavaScript'in Otomatik Noktalı Virgül Ekleme - ASI mekanizması sayesinde).


  • Değişkenler (Variables): Veri değerlerini depolamak için kullanılan adlandırılmış kapsayıcılardır. JavaScript'te değişkenler let, const veya eskiden kullanılan var anahtar kelimeleriyle bildirilir:


    • let: Tekrar atanabilir, blok kapsamlı bir değişken bildirir.


    • const: Sabit bir değer atanan, blok kapsamlı bir değişken bildirir. Bildirildikten sonra değeri değiştirilemez.


    • var: Fonksiyon kapsamlı veya global kapsamlı, tekrar atanabilir bir değişken bildirir. Modern JavaScript'te let ve const tercih edilir.


  • Veri Türleri (Data Types): JavaScript, farklı türde değerleri işleyebilir. Temel veri türleri şunlardır: Number (sayılar), String (metinler), Boolean (doğru/yanlış), Null (bilinçli boş değer), Undefined (atanmamış değer), Symbol ve BigInt. Ayrıca, Object (nesneler, diziler, fonksiyonlar) gibi karmaşık veri yapıları da bulunur.


  • Operatörler (Operators): Değişkenler ve değerler üzerinde işlemler gerçekleştirmek için kullanılırlar. En yaygın operatör türleri şunlardır:


    • Aritmetik Operatörler: Toplama (+), çıkarma (-), çarpma (*), bölme (/), modül (%).


    • Atama Operatörleri: Değer atama (=), toplama ve atama (+=), çıkarma ve atama (-=).


    • Karşılaştırma Operatörleri: Eşit mi (==), kesinlikle eşit mi (===), eşit değil mi (!=), kesinlikle eşit değil mi (!==), küçük mü (<), büyük mü (>), küçük eşit mi (<=), büyük eşit mi (>=).


    • Mantıksal Operatörler: VE (&&), VEYA (||), DEĞİL (!).


  • Fonksiyonlar (Functions): Belirli bir görevi yerine getiren, yeniden kullanılabilir kod bloklarıdır. Fonksiyonlar function anahtar kelimesiyle tanımlanır ve isteğe bağlı olarak parametreler alabilirler.


  • Yorumlar (Comments): Kodun okunabilirliğini artırmak için kullanılan, JavaScript motoru tarafından yoksayılan metinlerdir. Tek satırlık yorumlar için //, çok satırlık yorumlar için /* ... */ kullanılır.


  • Büyük/Küçük Harf Duyarlılığı (Case Sensitivity): JavaScript büyük/küçük harfe duyarlı bir dildir. Bu, myVariable ile myvariable'ın iki farklı değişken olarak kabul edildiği anlamına gelir.


  • Bloklar (Blocks): Süslü parantezler ({}) ile tanımlanan kod blokları, bir veya daha fazla ifadeyi gruplamak için kullanılır. Fonksiyon tanımları, if/else koşullu ifadeler ve döngüler gibi yapılarda yaygın olarak kullanılırlar.


Pratik Kullanım Örnekleri


Aşağıdaki örnekler, yukarıda açıklanan temel sözdizimi kurallarının pratikte nasıl kullanıldığını göstermektedir.


Örnek 1: Değişken Bildirimi ve Ataması

// let ile tekrar atanabilir bir değişken bildirimi
let kullaniciAdi = "Ali";
console.log(kullaniciAdi); // Çıktı: Ali

kullaniciAdi = "Veli"; // Değerini değiştirebiliriz
console.log(kullaniciAdi); // Çıktı: Veli

// const ile sabit bir değişken bildirimi
const PI = 3.14159;
console.log(PI); // Çıktı: 3.14159

// PI = 3.14; // Hata verir: Assignment to constant variable.

Örnek 2: Aritmetik Operatör Kullanımı

let sayi1 = 10;
let sayi2 = 5;

let toplam = sayi1 + sayi2; // Toplama
let fark = sayi1 - sayi2;   // Çıkarma
let carpim = sayi1 * sayi2; // Çarpma
let bolum = sayi1 / sayi2;  // Bölme
let kalan = sayi1 % sayi2;  // Modül

console.log("Toplam:", toplam);   // Çıktı: Toplam: 15
console.log("Fark:", fark);       // Çıktı: Fark: 5
console.log("Çarpım:", carpim);   // Çıktı: Çarpım: 50
console.log("Bölüm:", bolum);     // Çıktı: Bölüm: 2
console.log("Kalan:", kalan);     // Çıktı: Kalan: 0

Örnek 3: Koşullu İfade (if-else) ve Blok Kullanımı

let yas = 20;

if (yas >= 18) {
    console.log("Ehliyet alabilir.");
} else {
    console.log("Ehliyet almak için yaşınız uygun değil.");
}

// Çıktı: Ehliyet alabilir.

Örnek 4: Fonksiyon Tanımlama ve Çağırma

/*
 Bu fonksiyon, verilen iki sayıyı toplayarak sonucu döndürür.
*/
function topla(a, b) {
    return a + b;
}

let sonuc = topla(7, 3);
console.log("Fonksiyon sonucu:", sonuc); // Çıktı: Fonksiyon sonucu: 10

Önemli Notlar


  • Noktalı Virgül Kullanımı: JavaScript, bazı durumlarda noktalı virgülleri otomatik olarak eklese de (Automatic Semicolon Insertion - ASI), kod tutarlılığı ve olası hataları önlemek adına her ifadenin sonuna manuel olarak noktalı virgül eklemek iyi bir pratik olarak kabul edilir.


  • var, let ve const Arasındaki Farklar: Modern JavaScript projelerinde genellikle let ve const anahtar kelimeleri tercih edilir. var, hoisting (yukarı taşınma) ve fonksiyon kapsamlı olması nedeniyle beklenmedik davranışlara yol açabilir. let ve const blok kapsamlıdır ve bu, daha öngörülebilir bir kod akışı sağlar.


  • Kod Okunabilirliği: Tutarlı girinti (indentation) ve boşluk kullanımı, kodunuzun başkaları (ve gelecekteki siz) tarafından daha kolay okunmasını ve anlaşılmasını sağlar. Popüler kod biçimlendiriciler (örneğin Prettier) bu konuda yardımcı olabilir.


  • Büyük/Küçük Harf Duyarlılığına Dikkat: JavaScript'te anahtar kelimeler, değişken adları, fonksiyon adları ve diğer tanımlayıcılar büyük/küçük harfe duyarlıdır. Örneğin, Console.log yerine console.log yazmanız gerekir.


  • Hata Ayıklama (Debugging): Sözdizimi hataları (syntax errors), kodunuzun çalışmasını engelleyen en yaygın sorunlardandır. Tarayıcıların geliştirici araçlarını veya Node.js ortamındaki hata mesajlarını dikkatlice inceleyerek bu hataları tespit edebilir ve düzeltebilirsiniz.


15
1
SQL Dilinde `INSERT INTO` Komutunun Detaylı Kullanımı

Veritabanı yönetim sistemlerinde, tablolara yeni veri satırları eklemek temel bir işlemdir. SQL dilinde bu amaçla kullanılan anahtar komut INSERT INTO ifadesidir. Bu komut, bir tablonun belirli sütunlarına veya tüm sütunlarına tek bir satır veri eklemekten, başka bir sorgunun sonucunu kullanarak birden fazla satır eklemeye kadar geniş bir kullanım yelpazesine sahiptir. Bu makale, INSERT INTO komutunun sözdizimini, detaylı açıklamalarını ve pratik örneklerini sunarak veritabanı manipülasyonu yeteneklerinizi geliştirmeyi amaçlamaktadır.


Sözdizimi


INSERT INTO komutu, temelde iki farklı şekilde kullanılabilir. Birincisi, belirli sütunlara değer atamak için kullanılırken, ikincisi tablonun tüm sütunlarına değer atamak için kullanılır.


-- Belirli sütunlara veri ekleme
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

-- Tablonun tüm sütunlarına veri ekleme (sütun sırasına dikkat edilmeli)
INSERT INTO table_name
VALUES (value1, value2, value3, ...);

-- Başka bir tablodan veri kopyalama
INSERT INTO table_name (column1, column2, ...)
SELECT column_a, column_b, ...
FROM source_table
WHERE condition;

Detaylı Açıklama


Yukarıda belirtilen sözdizimindeki her bir bileşenin işlevi aşağıda açıklanmıştır:


  • INSERT INTO: Bu anahtar kelime dizisi, bir tabloya yeni bir satır ekleme işlemini başlattığını belirtir.

  • table_name: Verinin ekleneceği hedef tablonun adını temsil eder. Bu, mevcut bir tablonun adı olmalıdır.

  • (column1, column2, ...): Bu parantez içindeki liste, verinin ekleneceği belirli sütunların adlarını içerir. Bu kısım isteğe bağlıdır. Eğer belirtilmezse, VALUES listesindeki değerlerin tablonun tüm sütunlarına, tanımlandıkları sıraya göre atanacağı varsayılır. Sütun adlarını belirtmek, hem okunabilirliği artırır hem de sütun sırasındaki olası değişikliklerden kaynaklanabilecek hataları önler.

  • VALUES: Bu anahtar kelime, eklenecek değerlerin listesinin başlangıcını işaret eder.

  • (value1, value2, ...): Bu parantez içindeki liste, (column1, column2, ...) listesindeki sütunlara veya eğer sütun listesi belirtilmediyse tablonun tüm sütunlarına atanacak değerleri içerir. Her value, karşılık gelen column'un veri tipiyle uyumlu olmalıdır.

  • SELECT column_a, column_b, ... FROM source_table WHERE condition: Bu yapı, başka bir tablodan veri seçerek hedef tabloya eklemek için kullanılır. Bu, birden fazla satırı aynı anda eklemek için oldukça güçlü bir yöntemdir.


Pratik Kullanım Örnekleri


INSERT INTO komutunun farklı senaryolarda nasıl kullanıldığını gösteren pratik örnekler aşağıda sunulmuştur.


Örnek 1: Belirli Sütunlara Veri Ekleme


Aşağıdaki örnek, Musteriler adlı bir tabloya yalnızca Ad, Soyad ve Email sütunlarına veri eklemeyi göstermektedir. Diğer sütunlar varsayılan değerlerini alacak veya NULL olarak ayarlanacaktır (eğer izin veriliyorsa).


INSERT INTO Musteriler (Ad, Soyad, Email)
VALUES ('Ayşe', 'Yılmaz', 'ayse.yilmaz@example.com');

Bu komut, Musteriler tablosuna yeni bir müşteri kaydı ekler. Sadece belirtilen sütunlar için değerler sağlanmıştır.


Örnek 2: Tüm Sütunlara Veri Ekleme (Sütun Adı Belirtmeden)


Eğer tablonun tüm sütunlarına, tanımlandıkları sıraya göre veri ekleniyorsa, sütun adlarını belirtmek zorunlu değildir. Ancak, bu yöntemde değerlerin sırası ve sayısı tablo yapısıyla tam olarak eşleşmelidir.


-- Varsayalım ki Urunler tablosunun sütunları sırasıyla:
-- UrunID (otomatik artan), UrunAdi, Fiyat, StokAdedi, KategoriID
INSERT INTO Urunler
VALUES (DEFAULT, 'Akıllı Telefon', 7500.00, 150, 1);

Bu örnekte, UrunID sütunu otomatik artan bir alan olduğundan DEFAULT anahtar kelimesi kullanılmıştır. Diğer sütunlar için ise doğrudan değerler belirtilmiştir.


Örnek 3: Başka Bir Tablodan Veri Kopyalama


INSERT INTO ... SELECT ifadesi, bir veya daha fazla satırı başka bir tablodan seçip mevcut tabloya eklemek için kullanılır. Bu, toplu veri aktarımı için idealdir.


INSERT INTO ArsivMusteriler (MusteriID, Ad, Soyad, KayitTarihi)
SELECT ID, Isim, Soyisim, KayitTarihi
FROM Musteriler
WHERE KayitTarihi < '2020-01-01';

Yukarıdaki komut, Musteriler tablosundaki 1 Ocak 2020'den önce kaydedilmiş tüm müşterileri seçerek, bu verileri ArsivMusteriler tablosuna aktarır. SELECT sorgusundaki sütunlar ve INSERT INTO ifadesindeki sütunlar veri tipi ve sıra olarak uyumlu olmalıdır.


Önemli Notlar


INSERT INTO komutunu kullanırken dikkat edilmesi gereken bazı önemli noktalar şunlardır:


  • Veri Tipi Uyumluluğu: Eklenecek değerlerin, atandıkları sütunların tanımlanmış veri tipleriyle uyumlu olması esastır. Aksi takdirde, veritabanı bir hata döndürebilir.

  • NULL Değerler: Bir sütunun NULL değer kabul etmesi durumunda, o sütun için açıkça NULL değeri atanabilir veya sütun adı INSERT INTO (column1, ...) listesinde belirtilmezse otomatik olarak NULL atanır (eğer sütunun varsayılan değeri yoksa).

  • Otomatik Artan Alanlar (IDENTITY / AUTO_INCREMENT): Çoğu veritabanı sisteminde, otomatik artan (örneğin, PRIMARY KEY olan ID) sütunlar için genellikle manuel olarak değer belirtmeye gerek yoktur. Bu tür sütunlar için DEFAULT anahtar kelimesini kullanabilir veya basitçe sütun listesinden çıkarabilirsiniz.

  • Sütun Sırası: Sütun adları belirtildiğinde, VALUES listesindeki değerlerin sırası bu adlara uymalıdır. Sütun adları belirtilmediğinde ise, değerlerin sırası tablonun fiziksel sütun sırasına tam olarak uymalıdır.

  • Tırnak İşaretleri: Metinsel (VARCHAR, TEXT) ve tarih/saat (DATE, DATETIME) değerleri tek tırnak (') içine alınmalıdır. Sayısal değerler (INT, DECIMAL, vb.) tırnak içine alınmaz.

  • Kısıtlamalar ve Hata Yönetimi: Tablolara tanımlanmış PRIMARY KEY, UNIQUE, CHECK veya FOREIGN KEY gibi kısıtlamalar, ekleme işlemi sırasında ihlal edilirse veritabanı bir hata döndürecektir. Bu durumlar, uygun hata yönetimi stratejileriyle ele alınmalıdır.

16
1
PHP Dilinde Sabitler Kullanımı
PHP'de sabitler, bir betik yürütme süresince değeri değiştirilemeyen veri depolama birimleridir. Tanımlandıkları andan itibaren, değerleri sabit kalır ve genellikle yapılandırma ayarları, matematiksel sabitler veya değişmez metin dizileri gibi global olarak erişilmesi gereken veriler için kullanılırlar. Sabitler, kodun okunabilirliğini artırır ve yanlışlıkla değerlerinin değiştirilmesini engelleyerek hataları minimize eder.

Temel Sözdizimi (Syntax):


Sabitler, PHP'de `define()` fonksiyonu kullanılarak tanımlanır. Bu fonksiyon, bir sabitin adını, değerini ve isteğe bağlı olarak büyük/küçük harf duyarlılığını belirten üç argüman alır.

Detaylı Açıklama:


Yukarıdaki sözdizimindeki her bir parçanın anlamı aşağıda açıklanmıştır:


  • define() fonksiyonu, bir sabiti tanımlamak için kullanılır. Bu fonksiyon, çalışma zamanında (runtime) sabit tanımlamanıza olanak tanır ve koşullu tanımlamalar için uygundur.

  • name: Sabitin adını belirten bir dize (string). Geleneksel olarak, sabit adları tamamen büyük harflerle yazılır ve kelimeler alt çizgi (_) ile ayrılır. Örneğin: VERITABANI_ADI.

  • value: Sabite atanacak değeri belirten bir ifade. Bu değer, bir dize, bir tamsayı, bir ondalık sayı, bir boolean veya bir null değeri olabilir. PHP 7'den itibaren dizi (array) değerleri de atanabilir.

  • case_insensitive (isteğe bağlı): Bu argüman bir boolean değeridir (true/false). Eğer true olarak ayarlanırsa, sabit adını büyük/küçük harf duyarsız yapar. Varsayılan değeri false'tur, yani sabit adları büyük/küçük harfe duyarlıdır. PHP 7.3'ten itibaren bu parametrenin true olarak kullanılması tavsiye edilmez ve gelecekteki sürümlerde kaldırılabilir. Bu nedenle, sabitlerin genellikle büyük/küçük harfe duyarlı olması beklenir.


Pratik Kullanım Örnekleri:


Örnek 1: Temel Sabit Tanımlama ve Kullanımı


Bu örnek, basit bir sabit tanımlamasını ve değerine nasıl erişileceğini göstermektedir.

";
echo "Maksimum kullanıcı: " . MAX_KULLANICI_SAYISI . "
"; if (GELISTIRME_MODU) { echo "Uygulama geliştirme modunda çalışıyor.
"; } ?>

Yukarıdaki kod çıktısı şu şekilde olacaktır:


Hoş geldiniz: softmush.com
Maksimum kullanıcı: 1000
Uygulama geliştirme modunda çalışıyor.

Örnek 2: Büyük/Küçük Harf Duyarlılığı


Bu örnek, case_insensitive parametresinin varsayılan davranışını ve true olarak ayarlandığında nasıl farklılık gösterdiğini açıklar.

";  // "Bu bir duyarlı mesajdır." çıktısını verir
// echo sabit_mesaj; // Hata verir: Undefined constant sabit_mesaj

// Büyük/küçük harfe duyarsız (PHP 7.3+ ile önerilmez)
define("CASE_INSENSITIVE_MESAJ", "Bu duyarsız bir mesajdır.", true);
echo CASE_INSENSITIVE_MESAJ . "
"; // "Bu duyarsız bir mesajdır." çıktısını verir echo case_insensitive_mesaj . "
"; // "Bu duyarsız bir mesajdır." çıktısını verir (küçük harfle de erişilebilir) ?>

Yukarıdaki kod çıktısı (hata mesajı hariç) şu şekilde olacaktır:


Bu bir duyarlı mesajdır.
Bu duyarsız bir mesajdır.
Bu duyarsız bir mesajdır.

Örnek 3: Sabitlerin Tanımlı Olup Olmadığını Kontrol Etme


Bir sabitin tanımlı olup olmadığını defined() fonksiyonu ile kontrol edebilirsiniz. Bu, potansiyel hataları önlemek için faydalıdır.

";

if (defined("SITE_URL")) {
    echo "SITE_URL sabiti tanımlı.
"; } else { echo "SITE_URL sabiti tanımlı değil.
"; } ?>

Yukarıdaki kod çıktısı şu şekilde olacaktır:


Veritabanı Kullanıcısı: root
SITE_URL sabiti tanımlı değil.

Önemli Notlar:


  • Sabitler bir kez tanımlandığında, değerleri değiştirilemez veya tanımsız hale getirilemez. Bu, değişkenlerden temel farkıdır.

  • Sabitler, herhangi bir kapsama alanından (global veya fonksiyon içi) doğrudan erişilebilir. $GLOBALS süper globali gibi özel erişim yöntemlerine ihtiyaç duymazlar.

  • PHP'de sabit adları genellikle tamamen büyük harflerle yazılır ve kelimeler alt çizgi (_) ile ayrılır. Bu, bir sabiti bir değişkenden veya diğer tanımlayıcılardan görsel olarak ayırmayı kolaylaştıran yaygın bir kuraldır (convention).

  • const anahtar kelimesi ile tanımlanan sabitler, define() fonksiyonundan farklı olarak derleme zamanında tanımlanır ve sadece statik skopta (sınıf veya dosya seviyesinde) kullanılabilir. define() ise çalışma zamanında tanımlanabilir ve koşullu olarak da kullanılabilir.

  • PHP 7.3 ve sonraki sürümlerinde define() fonksiyonunun case_insensitive parametresini true olarak kullanmaktan kaçınılması şiddetle tavsiye edilir. Gelecekteki PHP sürümlerinde bu özellik kaldırılabilir ve kodunuzun güncel kalmasını sağlamak için büyük/küçük harf duyarlı sabit adları kullanmak en iyi uygulamadır.

12
0
JavaScript Dilinde Koşullu İfadeler: `if` ve `else` Yapıları
JavaScript programlamada, belirli koşullara bağlı olarak kod bloklarının yürütülmesini sağlamak temel bir gerekliliktir. Bu kontrol mekanizması, `if`, `else if` ve `else` gibi koşullu ifadeler aracılığıyla gerçekleştirilir. Bu yapılar, uygulamanızın farklı senaryolara dinamik olarak tepki vermesini ve mantıksal akışı yönetmesini sağlar.

Temel Sözdizimi


JavaScript'teki koşullu ifadelerin temel sözdizimi aşağıdaki gibidir:
// Temel if ifadesi
if (koşul) {
    // Koşul doğru (true) ise çalışacak kod bloğu
}

// if...else ifadesi
if (koşul) {
    // Koşul doğru ise çalışacak kod bloğu
} else {
    // Koşul yanlış (false) ise çalışacak kod bloğu
}

// if...else if...else ifadesi
if (koşul1) {
    // Koşul1 doğru ise çalışacak kod bloğu
} else if (koşul2) {
    // Koşul1 yanlış VE Koşul2 doğru ise çalışacak kod bloğu
} else {
    // Koşul1 ve Koşul2 yanlış ise çalışacak kod bloğu
}

Detaylı Açıklama


Koşullu ifadeler, programın belirli bir noktada hangi kod yolunu izleyeceğine karar vermesini sağlar. Her bir bileşenin işlevi şöyledir:

if: Belirtilen koşulun doğru (true) olup olmadığını kontrol eden anahtar kelimedir. Eğer koşul doğru ise, if bloğu içindeki kod yürütülür.


else: Bir if ifadesindeki koşulun yanlış (false) olması durumunda çalışacak alternatif kod bloğunu tanımlar. Yalnızca bir if veya else if bloğu çalışmadığında devreye girer.


else if: Birden fazla koşulu ardışık olarak kontrol etmek için kullanılır. İlk if koşulunun yanlış olması durumunda yeni bir koşulu değerlendirir. İstenildiği kadar else if bloğu eklenebilir.


Koşul (Condition): Herhangi bir değeri true veya false olarak değerlendirilebilen bir ifadedir. Karşılaştırma operatörleri (<, >, ==, === vb.) veya mantıksal operatörler (&&, ||, !) ile oluşturulur. JavaScript'te bazı değerler "truthy" (doğru kabul edilen) veya "falsy" (yanlış kabul edilen) olarak değerlendirilir. Örneğin, 0, null, undefined, NaN, boş dize ("") ve false "falsy" değerlerdir.


Kod Bloğu: Süslü parantezler ({}) arasına yazılan ve koşul doğru olduğunda yürütülen bir veya daha fazla ifadeyi içeren bölümdür.


Pratik Kullanım Örnekleri


Aşağıdaki örnekler, if koşullu ifadelerinin farklı senaryolarda nasıl kullanıldığını göstermektedir.

Örnek 1: Basit if ifadesi

let puan = 85;

if (puan > 70) {
    console.log("Tebrikler, sınavı geçtiniz!");
}
// Çıktı: "Tebrikler, sınavı geçtiniz!"

Bu örnekte, puan değişkeninin değeri 70'ten büyük olduğu için if bloğu içindeki mesaj konsola yazdırılır.


Örnek 2: if...else ifadesi

let yaş = 16;

if (yaş >= 18) {
    console.log("Ehliyet başvurusunda bulunabilirsiniz.");
} else {
    console.log("Ehliyet başvurusu için yaşınız henüz uygun değil.");
}
// Çıktı: "Ehliyet başvurusu için yaşınız henüz uygun değil."

Burada, yaş 18'den küçük olduğu için if koşulu yanlış olur ve program else bloğuna geçer.


Örnek 3: if...else if...else ifadesi

let sıcaklık = 25;
let havaDurumu;

if (sıcaklık < 0) {
    havaDurumu = "Çok soğuk!";
} else if (sıcaklık < 15) {
    havaDurumu = "Soğuk.";
} else if (sıcaklık < 25) {
    havaDurumu = "Ilık.";
} else {
    havaDurumu = "Sıcak!";
}

console.log("Hava durumu: " + havaDurumu);
// Çıktı: "Hava durumu: Sıcak!"

Bu örnek, farklı sıcaklık aralıkları için farklı hava durumu mesajları belirler. sıcaklık 25 olduğu için ilk üç koşul yanlış olur ve program else bloğuna girer.


Örnek 4: Mantıksal operatörlerle koşullar

let kullanıcıGirişi = "admin";
let parolaGirişi = "12345";

if (kullanıcıGirişi === "admin" && parolaGirişi === "admin123") {
    console.log("Yönetici girişi başarılı.");
} else if (kullanıcıGirişi === "admin" && parolaGirişi !== "admin123") {
    console.log("Yönetici parolası yanlış.");
} else {
    console.log("Geçersiz kullanıcı adı veya parola.");
}
// Çıktı: "Yönetici parolası yanlış."

Bu örnekte, mantıksal AND operatörü (&&) kullanılarak iki koşulun da doğru olması beklenir. İlk if koşulu yanlış olduğu için (parola farklı), ikinci else if koşulu kontrol edilir ve doğru olduğu için ilgili mesaj yazdırılır.


İpuçları/Önemli Notlar


  • Sıkı Eşitlik (===) Kullanımı: JavaScript'te karşılaştırma yaparken her zaman değer ve tip kontrolü yapan sıkı eşitlik operatörü === kullanılması önerilir. Gevşek eşitlik operatörü ==, tip dönüşümleri yaparak beklenmedik sonuçlara yol açabilir.

  • Tek Satırlık İfadeler: Eğer if veya else bloğunuz sadece tek bir ifade içeriyorsa, süslü parantezleri ({}) atlayabilirsiniz. Ancak, kod okunabilirliğini artırmak ve gelecekteki değişikliklerde hataları önlemek için her zaman süslü parantez kullanmak iyi bir pratiktir.

  • "Truthy" ve "Falsy" Değerler: Koşul ifadelerinde, boolean olmayan değerler de true veya false olarak değerlendirilebilir. Örneğin, boş olmayan dizeler, sayılar (sıfır hariç), objeler true olarak; 0, null, undefined, NaN, boş dize ("") ise false olarak değerlendirilir.

  • Ternary Operatörü (Üçlü Operatör): Basit if...else ifadeleri için daha kısa bir sözdizimi olan ternary operatörü (koşul ? ifadeDoğru : ifadeYanlış) kullanılabilir. Bu, özellikle küçük atamalar veya dönüş değerleri için kullanışlıdır.

  • Karmaşık Koşullardan Kaçının: Çok sayıda mantıksal operatör içeren veya çok uzun koşullar, okunabilirliği azaltabilir. Bu tür durumlarda, koşulu daha küçük parçalara ayırmak veya yardımcı fonksiyonlar kullanmak daha iyi bir yaklaşımdır.

10
0