GitHub = https://github.com/suboxone-cross/crash/issues/2#issue-553596529
Kod:
<?php
#UserClass ismin bir Sınıf Oluşturuyoruz
class UserClass{
private $userName;
private $pass;
private $fullName;
// Private olarak degişkenler atıyoruz..
function __construct(string $userName=null, string $pass=null, string $fullName=null){ //Kurucu fonksiyonumuzu oluşturuyoruz, önceden oluşturdugumuz degişkenlere null degişkenini atıyoruz..
//$this -> setUserName($userName);
//$this -> setFullName($fullName);
//$this -> setPass($pass);
}
public function getUserName():string{//getUserName olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin string türünde olmasının gerektigini belirtiyoruz.
if($this -> userName == null){//Bu if blogunda userName özelligini null'a eşit mi diye sorguluyoruz.
throw new Exception('Kullanıcı Adı Henüz Tanımlanmadı', 101);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
return $this -> userName ;//userName degerini döndürüyoruz.
}
public function setUserName (string $userName):bool{//setUserName olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin bool türünde olmasının gerektigini belirtiyoruz.
if (!preg_match('/^[a-zA-Z0-9]{5,}$/', $userName)){//preg_match ile $userName degişkenin içinde [a-zA-Z0-9]{5,} varmı diye ve uzunlugna bakıyoruz.
throw new InvalidArgumentException('Geçersiz Kullanıcı Adı', 202);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
if(isset($userDb[$userName])){//isset fonksiyonuyla $userDb arrayında $userName var mı diye kontrol ediyoruz.
throw new OutOfRangeException ('Bu kullanıcı adı daha önce kullanıldı.', 303);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
$this -> userName =$userName; // userName özelligini bu degere $userName atıyoruz.
return true; //True degerini döndürüyoruz.
}
public function getPass():string{//getPass olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin string türünde olmasının gerektigini belirtiyoruz.
if($this->pass==null){//pass özelligi null'a eşit mi diye sorguluyoruz.
throw new Exception ('Parola Henüz Belirlenmedi'. 404);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
return $this -> pass; //pass özelligini döndürüyoruz.
}
public function setPass(string $pass):bool{//setUserName olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin bool türünde olmasının gerektigini belirtiyoruz.
if (strlen($pass) < 9){//$pass degişkenin içindeki string kelime uzunluguna bakıyoruz.
throw new LengthException('Parola En az 8 karekter olmalıdır.', 505);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
if (!preg_match("#[0-9]+#", $pass)){//preg_match ile $pass degişkenin içinde [0- aralıgındaki sayılar -9] varmı diye bakıyoruz.
throw new InvalidArgumentException('parola en az bir rakam içermelidir.', 606);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
if (!preg_match("#[A-Z]+#", $pass)){//preg_match ile $pass degişkenin içinde [A- aralıgındaki harfler -Z] varmı diye bakıyoruz.
throw new InvalidArgumentException('Parola en az bir büyük harf içermelidir.', 707);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
if (!preg_match("#[a-z]+#", $pass)){//preg_match ile $pass degişkenin içinde [a- aralıgındaki HARDLER -z] varmı diye bakıyoruz.
throw new InvalidArgumentException('Parola en az bir küçük harf içermelidir.', 808);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
$this -> pass = md5($pass); //$pass degişkeni içinde gelen şifreye md5 ile kriptolayıp pass özelligine atıyoruz.
return true;//True olarak deger döndürüyoruz.
}
public function getFullName():string{//getFullName olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin string türünde olmasının gerektigini belirtiyoruz.
if($this -> fullName == null){//fullName özelligi null'a eşit mi diye bakıyoruz.
throw new Exception('Tam isim henüz tanımlanmadı', 909);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
return $this -> fullName ; //fullName özelligini deger olarak döndürüyoruz.
}
public function setFullName(string $fullName):bool{//setFullName olarak bir fonksiyon oluşturuyoruz ve burdan çıkacak degirin string türünde olmasının gerektigini belirtiyoruz.
if(strlen($fullName) < 5){ //$fullName degişkenin içindeki string kelime uzunluguna bakıyoruz.
throw new InvalidArgumentException('Tam isminiz en az 4 karakter uzunlugunda olmalıdır.(İsim Soyisim)', 908);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
if(!preg_match("/^([a-zA-Z' ]+)$/", $fullName)){//preg_match ile $fullName degişkenin içinde [a-zA-Z0-9]{5,} varmı diye ve uzunlugna bakıyoruz.
throw new InvalidArgumentEXception('Geçersiz isim ve soyad.', 201);//Burda Exception ile hata bildirimi oluşturuyoruz.
}
Moderatör tarafında düzenlendi:
