Yararlı Kodlar 2 PHP
PHPYararlı Kodlar 2
PHP de bilinmesi gereken yararlı kodlar.
function_exists | :proje içinde fonksiyon varmı, yokmu kontrol eden kod |
class_exists | :Class varmı yokmu kontrol eden kod |
method_exists | :Class içinde method varmı yokmu kontrol eden kod |
property_exists | :Class içinde property varmı yokmu kontrol eden komut |
is_subclass_of | :Class 'ın içinde miras alınan bir class varmı yokmu kontrol eden komut' |
interface_exists | :interface varmı yokmu kontrol eden komut |
trait_exists | :trait varmı yokmu kontrol eden komut |
is_a | :değişken hangi class 'dan türüdüğünü kontrol etmek için kulanılan kod |
extension_loaded | :Varolan eklentileri kontrol etmek için kullanılır. |
Yararlı Kodlar 1 PHP
PHPYararlı Kodlar 1
PHP de bilinmesi gereken yararlı kodlar.
defined | :sabitin var olup olmadıgını kontrol eder. |
isset | :değişken varsa true döner |
empty | :değişken null ise true döner |
is_double | :bir değişkenin double türünde olup olmadığını kontrol eder |
is_float | :bir değişkenin float türünde olup olmadığını kontrol eder |
is_real | :bir değişkenin float türünde olup olmadığını kontrol eder |
is_int | :bir değişkenin tamsayı türünde olup olmadığını kontrol eder |
is_integer | :bir değişkenin tamsayı türünde olup olmadığını kontrol eder |
is_long | :bir değişkenin is_long türünde olup olmadığını kontrol eder |
is_null | :bir değişkenin null türünde olup olmadığını kontrol eder |
is_numeric | :bir değişkenin sayı mı yoksa sayısal bir dize mi oldugunu kontrol eder |
is_iterable | :bir değişkenin içieriğinin yinelenebilir bir değer olup olmadıgı kontrol eder |
is_obcejt | :bir değişkenin bir nesne olup olmadıgına bakar |
is_scalar | :birdeğişkenin skaler olup olmadıgına bakar. |
is_string | :bir değişkenin string türünde olup olmadıgına bakar. |
Magic Methods PHP
PHPPhp sihirli methodlar
<?php
require_once "Eductaion.php";
use magic_method\education\Eductaion;
$student = new Eductaion();//__construct,__destruct örnek
$student->message();//__call örnek
magic_method\education\Eductaion::List();//__callStatic örnek
echo $student->tckn; //__get örnek
$student->vkn =12345; //__set örnek
isset($student->tckn);//__isset örnek
empty($student->vkn);//__isset örnek
unset($student->vkn);//__unset örnek
/*
$result = serialize($student);//__sleep örnek
unserialize($result);//__wakeup örnek
echo $student;//__toString örnek
Eductaion('abc');//__invoke örnek
*/
$student1 = clone $student;//__clone örnek
$student2 = clone $student;//__clone örnek
$student->sumClone();//__clone örnek
var_dump($student);
<?php
namespace magic_method\education;
class Eductaion{
private $tckn;
private static $number = 0;
/**
Class çağrıldığında ilk çağrılan method
*/
function __construct(){
echo "Nesne belleğe yüklendi <br>";
}
/**
Class çağrıldığında sonra işlem sonunda çağrılan sınıf
*/
function __destruct(){
echo "Nesne bellekten silindi <br>";
}
/**
eğer muvcut class da var olmayan bir method çağrıldığında
dönmesini istediğimiz response bu __call methodu döner.
*/
function __call($name,$per){
echo $name." methodu bu sınıfta mevcut değil<br>";
}
/**
__callStatic Nesne içinde var olmayan bir static method çağrıldığında. çalışan method.
*/
public static function __callStatic($name,$per){
echo $name." methodu bu sınıfta mevcut değil<br>";
}
/**
__get Nesne içinde var olmayan veya erişim izni olmayan bir proertye erişilmeye çalıştığında çalışır.
*/
public function __get($name){
echo $name." bu property erililmiyor veya bulunamadı<br>";
}
/**
__set Nesne içinde var olmayan veya erişim izni olmayan bir proertye değer atamaya çalıştığında çalışır.
*/
public function __set($name,$val){
echo $name." bu property erililmiyor veya bulunamadı".$val." değeri atanamaz<br>";
}
/**
__isset Nesne içinde var olmayan veya erişim izni olmayan bir proertye isset veya empty ile çağrıldığında çalışır.
*/
public function __isset($name){
echo $name." isimli property bulunmuyor veya erilmiyor. bu yüzden isset veya empty func ile sınayamazsınız<br>";
}
/**
__unset Nesne içinde var olmayan veya erişim izni olmayan bir proertye __unset foncksiyonu ile yok edilmeye çalışıldığında çalışır.
*/
public function __unset($name){
echo $name." isimli property bulunmuyor veya erilmiyor. bu yüzden unset func ile sınayamazsınız<br>";
}
/**
__sleep Nesneye serialize çalışıldığında çalışır.
*/
public function __sleep(){
echo " Nesne dizi haline getiriliyor<br>";
}
/**
__wakeup Nesneye unserialize çalışıldığında çalışır.
*/
public function __wakeup(){
echo "dizi nesne haline getiriliyor<br>";
}
/**
__toString çalışıldığında Nesne yazdırlmaya çalışıldığında çalışır.
*/
public function __toString(){
echo "Nesne yazdırlmaya çalışıldı<br>";
}
/**
__invoke Nesne fonksiyon gibi çalıştırıldığında çalışır.
*/
public function __invoke(){
echo "Nesne fonksiyon gibi çalıştırıldığında döner.<br>";
}
/**
__clone Nesne klonlandığında çalışır .
*/
public function __clone(){
self::$number++;
}
public function sumClone(){
echo "Toplam clonle sayısı:".self::$number."<br>";
}
/**
__debugInfo Nesne var_dump methodu uygulandığında çalışır .
*/
public function __debugInfo(){
echo "Nesneye var_dump uygulandı<br>";
}
/**
__debugInfo Nesne var_export methodu uygulandığında çalışır .
*/
//public function __set_state(){}
}
Nesne Kopyalama Clone PHP
PHPPHP ile Nesne Kopyalama
<?php
namespace nese_kopyalama\education;
class student{
public $name;
public $lastname;
function __construct($firtName,$lastname)
{
$this->name = $firtName;
$this->lastname = $lastname;
}
public function studentInfo(){
return $this->name .' '.$this->lastname;
}
}
require_once "nesne_kopyalama.php";
$student = new nese_kopyalama\education\student("ali","veli");
$newStudent = clone $student;
$newStudent->name = "can";
$newStudent->lastname = "cam";
echo $student->studentInfo();
echo $newStudent->studentInfo();echo '<br>';
Apache .htacces Deny From All - Not found
DIGER
Apache .htacces Deny From All - Not found
apache .htaccess dosyasına yazdığımız komutlar çalışmıyorsa conf dosyasından izin açık olmadığı için olabilir.
1.)ilk önce bir editör ile aşağıdaki adresteki config dosyasını açıyoruz.
nano /etc/apache2/apache2.conf
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
2) AllowOverride None olarak gözüküyor ise aşağıdaki şekilde düzenliyoruz.
AllowOverride All
3)Daha sonra servisi stop ,start edin ve sayfanızı kontrol edin.
service apache2 stop
service apache2 start
Laravel İnstall Composer Allowed Memory Size ERROR
LaravelFatal error: Allowed memory size of ,Hatanın Çözümü
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 167772160 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleSet.php on line 90
laravel projesini bilgisayrınıza indirirken yukarıdaki hatayı alıyorsanız.
comoposer çağırmadan önce memeory size -1 gönderdin.
örnek:
COMPOSER_MEMORY_LIMIT=-1 composer create-project laravel/laravel new_folder_name
PHP Namespace Kullanımı
PHPnamespace :birlikte çalışan sınıfları gruplayarak daha iyi bir organizyon sağlaması için kullanılır.
Gerçekte persons diye bir klasorumuz yok bütün dosyalar aynı klasordedir.
Burada sadece persons da gruplayıp onun altındadaki classları kullanıyoruz.
index.php klasorunde çağırırken hangi classı kullanacak isek namespace ile çağırıyoruz sadece.
<?php //test1.php
namespace persons\primaryschool;
class Student {
function Message(){
echo "ben ilkokul class'ıyım Message <br>";
}
}
<?php //test2.php
namespace persons\highschool;
class Student extends \persons\primaryschool\Student
{
function __construct(){
echo "ben lise class'ıyım __construct <br>";
}
}
<?php //index.php
require_once "test1.php";
require_once "test2.php";
use \persons\highschool\Student as Lise;
$Lise = new Lise();
$Lise->Message();
Çıktı:
ben lise class'ıyım __construct
ben ilkokul class'ıyım Message
Dosya İşlemleri PHP
PHPDosya işlemleri
<?php
#linix platformlarda / slah ile kullanılır. windows platformlarda / \ kullanılır.
#path : dosya dizini
$path = 'files/documnets/example.txt';
//dosya adını alır. uzantısı istenmiyorsa ikinci parametrede yazılır.
echo basename($path,'.txt'); //example
//dosya yolunu almak için
echo dirname($path); //files/documnets/
//hem dosya yolu hemde dosya adını array olarak almak için
/*
dirname: dosya yolu
basename: dosya adı
extension: dosya uzantısı
filename dosya adı
ikinici parametrede sabitler ile kullanılırsa string döner.
PATHINFO_DIRNAME, PATHINFO_BASENAME,PATHINFO_EXTENSION,PATHINFO_FILENAME
*/
print_r(pathinfo($path));
print_r(pathinfo($path,PATHINFO_BASENAME));
/* dosya tipini döner.
fifo,char,dir,block,link,file,socket,unknown
*/
$find = filetype($path);
echo $find; // file
//dosya ön belleğe alındığı için chace temizlenmesi gerekir.
clearstatcache();
//dosya hakkında bilgileri verir.
print_r(stat($path));
//Dizin altındaki dizin ve dosyaları getirir.
//ikinci paramtere 1 girerse sıralama yapar.
$dir = scandir('./');
print_r($dir);
// dizinler ve dosyaların hepsini listeler
$dir = glop('uploads/*');
print_r($dir);
//tüm jpg uzantılı dosyaları getirir.
$dir = glop('uploads/*.jpg');
print_r($dir);
/*
GLOB_MARK : bir yerde dizin varsa dizin sonunda bir slash bırakır.
GLOB_ONLYDIR : sadece dizinleri getir.
GLOB_NOSORT : sırlamadan getir.
GLOB_BRACE : sadece belirtili dosyaları getirir
/*.* içinde nokta geçen herşeyi getirir
/e* e ile başlayan tüm dosya dizinleri getirir.
*/
$dir = glop('uploads/*',GLOB_MARK);
$dir = glop('uploads/*.{rar,txt}',GLOB_BRACE);
print_r($dir);
//Dosya okuma
$path = 'files/documnets/example.txt';
$openFile = fopen($path);
//feof :end of file
while(!feof($openFile)){
$read = fgets($openFile); //fgets satır satır oku
echo $read.'<br>';
}
fclose($openFile);
//satır sonu /n yerine kulanılabilir ,sabit PHP_EOL End Of Line
echo "deneme ".PHP_EOL."deneme 2";
//dosya oluştur ve değerleri yaz.
$read = file_put_contents('deneme.txt', 'deneme içerik'.FILE_APPEND);
Date Time PHP
PHPPhp Tarih Saat fonksiyonları
<?php
/**
* UTC - Coordinated Universal Time "Eş güdümlü evrensel saat"
* GMT - Greenwich Mean Time "Greenwich Ortalama zamanı"
* Türkiye UTC+3, GMT+3
*/
//saat dilimini gösterir.
echo date_default_timezone_get();
//php inideki tanımlı saaat dilimlerini gösterir
timezone_identifiers_list(); //fonksiyona sayı verirse tanımlı bölgeleri getirir
//Saat dilimini değiştirir.
date_default_timezone_set("Europe/Istanbul");
//zaman bilgilerini array olarak verir.
getdate();
//Ülke plaka kodu, enlem boylam bilgilerini verir. time_zone_location_get
$a = timezone_open("Europe/Istanbul");
time_zone_location_get($a);
//timestap
$a = time();
echo date('d-m-Y',$a);
// stirng time
setlocale(LC_ALL,'tr-TR');
$a = iconv("LATIN5", "UTF-8" ,strftime("%d %B %Y %T %A %Z"));
echo $a;
//zaman ekleme
$a = strtotime("1 second",time());
$a = strtotime("2 seconds",time());
$a = strtotime("1 minute",time());
$a = strtotime("1 hour",time());
$a = strtotime("2 hours",time());
$a = strtotime("1 day",time());
$a = strtotime("2 days",time());
$a = strtotime("2 weeks",time());
$a = strtotime("2 months",time());
$a = strtotime("2 years",time());
echo $a;
//bir ayın kaç çektiğini öğrenmek için kullanılır.
cal_days_in_month(CALL_GREGORIAN, 2, 1996);
/**
* iki tarih arası farkı verir date_diff
* %y = yıl farkını verir.
* %m = ay farkını verir.
* %d = gün farkını verir.
* %h = saat farkını verir.
* %i = dakika farkını verir.
* %s = saniye farkını verir.
* %R = pozitif negatif sembölünü verir.
*/
$a = date_create("2020-10-01");
$b = date_create("2023-01-01");
$result = date_diff($a,$b);
echo $result->format("%y yıl fark var");
?>
Menu
Blog Archive
Popular Posts
-
C++ Fakröeiyel hesaplama, vize final ortalaması hesaplama, Veri hesabı, üçgen alanı hesaplama örnekleri
-
Java method anlatımı parametresiz method , parametreli method , return , overloading ve recursion anlatımları
-
1) PHP ile belirli günden önceki ilk hafta içi gün ve son hafta içi günü bulmak . 2) PHP ile belirli günden önceki Tüm hafta içi günleri...
-
html karakterleri aktif veya pasif hale getirmek için htmlspecialchars kodunu kulanıyoruz. Bu kod daha çok güvenlik amaçlarına yönelik kulan...
-
Worde yazım denetimini sağlamak veya dikkat dağınıklığı olduğu için kapatmak isterseniz bunun kısa yolu : Dosya > Seçenekler > S...