Değişkenler
PHP'de değişken tipleri yoktur. Atanan değere göre otomatik olarak değişkenin tipi verilir. Bir değişkenin veri tipinin ne olduğunu görmek için gettype(); function ile alabiliriz veya settype(); function ile tipini belirleye biliriz.
echo(); function ile tanımladığımız değişkenleri yazdıra biliriz. PHP'de birleştirme operatörü olarak "." (nokta) karakteri kullanılır.
$var1 = "String";
$var2 = 25;
$var3 = 3.14;
echo "Var1: $var1, Var2: $var2, Var3: $var3";
echo "<br>---------------------------------------<br>";
echo "Value: " . $var1 . "
";
echo "Type: " . gettype($var1);Sabitler
Sabit tanımları aşağıdaki gibi tanımlanır. Değişkenlerden farkı değiştirelemez olamlarıdır. Bu yüzden tanımlandıkları yerde bir kez değer atanır istenilen her yerde kullanılır.
define("CONST_STR", "Sabit Varaible");
define("CONST_PI", 3.14);
echo "Sabit: " . CONST_STR . "<br>";
echo "Pi: " . CONST_PI;Array Tanımı
Arrayleri içlerin de bir den fazla değerler tutabilen değişkenler olarak tanımlaya biliriz.
Arraylerin iki farklı kullanımları vardır:
- Eski Kullanım:
$array1 = array(); - Modern Kullanım:
$array2 = [];
Array içine eleman eklemenin temelde iki yolu vardır:
$array1[] = "Eleman 1";array_push($array2, "Eleman 2");
Her eklenen değerlerin key değerleri 0'dan başlayarak kaldığı yerden veri eklendikçe artarak devam eder. Arrayleri echo function ile direk olarak yazdırmamız mümkün değildir. Bunun için var_dump(), print_r() functionları kullanılmalıdır.
$array1 = array();
$array2 = [];
$array2[] = "Eleman 1";
$array2[] = "Eleman 2";
$array2[] = "Eleman 3";
var_dump($array2);
echo "<br>";
print_r($array2);Eğer eklenen valueların keylerini kendimiz vermek istiyorsak array'e eleman eklerken köşeli parantez içinde belirtebiliriz.
$array1["key1"] = "value 1"Bir arraydeki değerleri satır satır çekmenin yolu ise foreach'tir
foreach($array2 as $value)
{
echo $value . "<br>";
}Bir de arrayler de boyut dediğimiz bir kavram vardır. Array içine bir array ataması gerçekleştirdiğimiz de bu array aslında 2 boyutlu bir array haline gelir.
$array3 = [];
$array3[] = ["0. Eleman 1", "0. Eleman 2", "0. Eleman 3"];
$array3[] = ["1. Eleman 1", "1. Eleman 2", "1. Eleman 3"];
$array3[] = ["2. Eleman 1", "2. Eleman 2", "2. Eleman 3"];
print_r($array3);
echo "<br>";
foreach($array3 as $value)
{
print_r($value);
echo "<br>";
}Aritmetik Operatörler
- (+) Toplama Operatörü
- (-) Çıkartma Operatörü
- (*) Çarpma Operatörü
- (/) Bölme Operatörü
- (%) Mod Operatörü
- (
$i++)$ideğişkeni işlendikten sonra içindeki değeri 1 artır. - (
$i--)$ideğişkeni işlendikten sonra içindeki değeri 1 azalt. - (
++$i)$ideğişkenin içindeki değeri 1 artırdıktan sonra işle. - (
--$i)$ideğişkenin içindeki değeri 1 azalttıktan sonra işle.
$x = 30;
$y = 2;
echo ($x + $y) . "<br>"; // 32
echo ($x - $y) . "<br>"; // 28
echo ($x * $y) . "<br>"; // 60
echo ($x / $y) . "<br>"; // 15
echo ($x % $y) . "<br>"; // 0Atama Operatörleri
$x += $y;->$x = $x + $y;$x -= $y;->$x = $x - $y;$x *= $y;->$x = $x * $y;$x /= $y;->$x = $x / $y;
echo ($x += $y) . "<br>"; // $x'in yeni değer 32 oldu
echo ($x -= $y) . "<br>"; // $x'in yeni değer 32 olduğundan 32 - 2 = 30. $x tekrardan 30 oldu
echo ($x *= $y) . "<br>"; // 30 * 2 den $x'in yeni değeri 60 oldu
echo ($x /= $y) . "<br>"; // 60 / 2 işlemi yapılacağından $x tekrardan 30 olduKarşılaştırma Operatörler
- (==) Eşittir.
- (!=) Değil Eşittir.
- (<>) Değil Eşittir.
- (<) Küçüktür.
- (<=) Küçük Eşittir.
- (>) Büyüktür.
- (>=) Büyük Eşittir.
$x = 10;
$y = 20;
if($x == 10)
{
echo "Eşittir. <br>";
}
else
{
echo "Eşit Değildir. <br>";
}
if($x == 10)
{
echo "10'a Eşittir. <br>";
}
else if($x == 13)
{
echo "13'e Eşittir. <br>";
}
else
{
echo "Eşit Değildir. <br>";
}AND ve OR operatörleri ile birden fazla kontrol sağlaya biliriz.
- and her iki koşulun sağlandığı durumlar da true döndürür. && olarak da kullanılır.
- or her iki koşuldan biri bile doğru ise true döndürür. || olarak da kullanılır.
if($x >= 5 && $x <= 15)
{
echo "5 ile 15 arasındadır. <br>";
}
else
{
echo "değildir. <br>";
}
$str = "zeynep";
if($str == "ali" || $str == "zeynep")
{
echo "Ya ali ya zeynep dir. <br>";
}
else
{
echo "değildir. <br>";
}Döngüler
$i'nin ilk değeri 0'dır, $i küçük eşit 10 koşulu sağlandığı sürece $i'yi 1 artır
for($i = 0; $i <= 10; $i++)
{
echo "i'nin şuanki değeri : " . $i . "<br />";
}Koşul sağlandığı sürece, yani içindeki koşulun sonucu true olduğu sürece blok içindeki işlemler yapılır.
$i = 0;
while($i <= 10)
{
echo "a'nin şuanki değeri : " . $i . "<br />";
$i++;
}Koşul kontrol edilmeden önce bloktaki işlemler yapılır, sonra koşul kontrol edilir. $b 0'a eşit olduğu sürece döngünün dönmesi lazım. Daha ilk adımdan koşul sağlanmamasına rağmen, ilk önce blok çalıştığından ekrana yazı basılır.
$i = 1;
do
{
echo "blok içindeki işlemler <br />";
}while($i == 0);Dosya Dahil Etmek
Başka bir dosyayı 2 şekilde dahil edebiliriz.
requireDahil etmek istediğimiz dosya yok ise ekrana hata basıp sonraki işlemleri yapmaz.includeDahil etmeye çalıştığımız dosya yok ise ekrana hata basar ve sayfaki diğer işlemleri yapmaya devam eder.require_onceveinclude_once1 dosya 1 den fala kez çağrılırsa sadece 1 kere çağrılmış gibi davranmasını sağlar.
require "external.php";
include "external.php";
require_once "external.php";
include_once "external.php";Function Oluşturmak
PHP'de function aşağıdaki gibi oluşturulur.
function func1()
{
echo "Parameresiz Func";
}
function func2()
{
return "Parameresiz Func";
}
function func3($x, $y)
{
echo "Sonuc: " . ($x + $y);
}
function func4($x, $y)
{
return $x + $y;
}Class ve Erişim Belirtecleri
publicher yerden ulaşılabilen.privatesadece oluşturulduğu class içinde çağrılabilenprotectedsadece oluşturulduğu ve miras alınan classlarda çağrılabilen
class Student
{
private $name = "Zeynep";
private $age = "23";
public function getName()
{
echo $this->name;
}
}
$student = new Student;
student -> getName();Constructures
__constructclass'tan yeni bir nesne oluşturulduğunda yapılacak işlemler__destructclass sonlandığında yapılacak işlemler
class Constructure
{
function __construct()
{
echo "ben doğdum <br />";
}
function __destruct()
{
echo "ben öldüm <br />";
}
}
$const = new Constructure;Miras Almak
class Hayvan
{
public function nefesAl()
{
echo "ben enfes alıyorum <br />";
}
public function yemekYe()
{
echo "ben yemek yiyorum <br />";
}
public function uyu()
{
echo "ben uyuyorum <br />";
}
}
class Kedi extends Hayvan
{
private $adi;
function __construct($gelenad)
{
$this->adi = $gelenad;
echo "ben $this->adi isminde bir kediyim ve doğdum <br />";
}
public function kos()
{
echo "ben koşuyorum çünkü kediyim <br />";
}
function __destruct()
{
echo "ben $this->adi ismindeki kediydim öldüm <br />";
}
}
class Kus extends Hayvan
{
private $adi;
function __construct($gelenad)
{
$this->adi = $gelenad;
echo "ben $this->adi isminde bir kuşum ve doğdum <br />";
}
public function uc()
{
echo "ben uçabiliyorum çünkü kuşum <br />";
}
function __destruct()
{
echo "ben $this->adi ismindeki kuştum öldüm <br />";
}
}
$cat = new Kedi("tekir");
$cat -> yemekYe(); // Hayvan class'ı miras alındığından Hayvan classının methodu kullanılabilir.
$cat -> kos(); // kendi class'ında bir methodu kullandı
// $cat -> uc(); // hata! kuşa ait olan bir methodu kullandı
$bird = new Kus("boncuk");
$bird -> yemekYe(); // Hayvan class'ı miras alındığından Hayvan classının methodu kullanılabilir.
$bird -> uc(); // kendi class'ında bir methodu kullandı
// $bird -> kos(); // hata! kediye ait olan bir methodu kullandıCookie ve Session Oluşturmak
Sayfada session ile işlem yapmak istiyorsam session_start(); demeliyim
Session ve Cookie, unutulmayan değişkenlerdir. Bu sayfada 1 kere tanımladıktan sonra başka sayfada istediğiniz gibi kullanabilirsiniz.
Farkları nedir:
- Cookie, browser'ınızda tutulur. 3. parametrede unix time stamp formatı ile girilen zaman geldiğinde cookie kendini unset eder yani siler
- Session, server'da tutulur. Browser kapatıldığında serverdaki session dosyası kendini unset eder
Cookie Oluşturmak
setcookie("bilgiler", "adim=zeynep,soyad=asd", time() + (7 * 24 * 60 * 60) );
// Anahtarı 'bilgiler' olan, içinde 'adim=zeynep,soyad=asd' değerini taşıyan ve
// tam 1 hafta sonra bugün bu saatte yok olacak bir cookie set ettim.
echo $_COOKIE["bilgiler"] . "<br />";Session Oluşturmak
$_SESSION["bilgiler"] = "adım = ahmet, soyadım = mehmed";
echo $_SESSION["bilgiler"] . "<br />";Try Catch Tanımı
$str = "zeynep deneme SELECT dfsdf ,sdfsdfds ";
try
{
if(strstr($str, "SELECT"))
{
throw new Exception("ismin içinde select kelimesi var");
}
echo "eğer hata yok ise, yani str değişkenin içinde SELECT kelimesi geçmiyor, yeni bir Exception oluşturulmamış ise yapılacak işlemler";
}
catch(Exception $e)
{
echo "hata var! " . $e -> getFile() . " dosyasının " . $e -> getLine() . ". satırında yeni bir hata tespit edilmiş!. hata mesajının içeriği = " . $e -> getMessage();
}
0 comments:
Yorum Gönder