Düzenli ifadeler yani Regular Expressions, yazılım yazılırken karşılaştığımız bazı durumlarda oldukça lazım olan bir yapıdır. Kısa adı RegEx olan bu yapıda, string bir ifade içerisinden belirtteceğimiz kurallara uygun şekilde değerler üretmemize olanak sağlanıyor. PHP diline göre örnek verecek olursam; örneğin, bir bot yazıyoruz ve kaynak sitemizden içerik alacağız. İçeriği alacağımız bölümün kaynak kodlarına göre RegEx yapısını kullanmamız icap edebilir.
Bir başka örnek ise, diyelim ki sitemize üye olan bir kullanıcının E-Posta adresini, telefon numarasını ve doğum tarihini kayıt edeceğiz. Kullanıcının gireceği değerleri RegEx ile kontrol ederek, belirtilen kurallara uygun olup olmadığını (mesela telefon numarası içerisinde rakam haricinde bir karakter kullanılmaması veya e-posta adresinde x@y.zzz gibi bir yapının bulunması) kontrol edebiliriz. Örneklerden de anlayacağımız gibi, RegEx belli başlı durumlara göre hayat kurtarıcımız olabiliyor :)
Benim gibi PHP ile uğraşan arkadaşlara kolaylık olması açısından bazı RegEx desenleri paylaşayım:
<?php
$url = "http://burakdemirtas.org/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) { echo "Doğru URL"; }
else { echo "Yalnış URL"; }
<?php
$email = "eposta@ornek.com";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { echo "Doğru E-Posta"; }
else { echo "Yanlış E-Posta"; }
<?php
if (filter_var('ornek+eposta@ornek.com', FILTER_VALIDATE_EMAIL)) { echo "Doğru E-Posta"; }
else { echo "Yanlış E-Posta"; }
<?php
$ip = "173.192.115.94";
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$ip)) { echo "Doğru IP Adresi."; }
else { echo "Yanlış IP Adresi"; }
<?php
$kartNo = "5588320123456789";
if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $kartNo)) { echo "Doğru Kart Numarası."; }
else { echo "Yanlış Kart Numarası"; }
Daha çok kalıp buldukça bu yazıyı güncelleyip sizinle paylaşacağım. Umarım faydasını görürsünüz. İyi kullanımlar.
24 Kasım 2022 tarihinde PHP 8.2 versiyonunun kararlı sürümünün yayınlanması bekleniyor. Bu yazımızda PHP’nin yeni sürümü için yapılan yenilikleri ve iyileştirmeleri inceleyeceğiz.
...
In Laravel, you can make concurrent request by using pool method of the HTTP Client of the Laravel....
Laravel has a very powerful and useful Service Container and you can extend any service from the Laravel Container any time. For that, you can use the extend() method to decorate or configure the resolve services from the container. ...
We use models a lot when developing projects with Laravel. By defining the relationships between the tables within the models, we ensure that the relevant data is brought over the database in a practical way. We can take advantage of the Eager Loading feature to increase performance and get faster results when performing operations with related models. For this, we can use the with() method when creating a query from the related models:
...
Bildiğiniz gibi Laravel ile geliştirme yaparken modellerimize uygun şekilde fake veriler oluşturmak için Faker kütüphanesi ile fazlaca haşır neşir oluyoruz. Genellikle text veriler oluştursak da, Faker kütüphanesinin resim oluşturmak gibi yetenekleri de var:...
Laravel'de zamanlanmış görev (scheduled task) tanımlarken, çalışan komutun tamamlanıp tamamlanmadığını anlamak ve buna göre başka işlemler yapmak istiyorsanız şu şekilde bir yapı kullanabilirsiniz:
PHP 8.1, 25 Kasım 2021 tarihinde yayınlandı. Bu sürümde hayatımıza neler girdi, ne gibi değişiklikler yapıldı birlikte inceleyelim mi?...
Merhabalar. PHP 8 ile birlikte hayatımıza neler gelecek, neler değişecek birlikte göz atmaya var mısınız? Haydi başlayalım o zaman…
...
Selamlar. Ramazan ayının ve sahuru beklemek bahanesiyle gece geç saatlere kadar takılmanın vermiş olduğu yetkiye dayanarak yine bazı projeler üzerine çalışıyor, bazı araştırmalar yapıyor ve müzik dinliyordum. Ve birden "uzun zamandır bir şeyler karalamıyorum ben ya" diye bir düşünce geçti beynimin derinliklerinden. Hemen buraya geldim....
React’in 16.8 versiyonu ile birlikte hayatımıza Hook kavramı girdi. Artık çok daha az kod ile daha efektif React Componentleri yazabiliyoruz. Hooks konusu ile ilgili detaylı bilgiyi React’in kendi dokümantasyonundan okuyabilir, bilgi sahibi olabilirsiniz....
PHP 7.4 ile birlikte hayatımıza girecek olan özelliklere şöyle hızlıca bir bakış atmaya ne dersiniz?
...
React ile High Order Component kavramını sizlere anlatmaya çalışacağım....
Selamlar, oldukça uzun bir zaman sonra tekrar buralardayım. Dolu dolu geldim ama; biraz oturun, konuşalım....
Yine aylar olmuş ve buralarda gözükmüyorum. Ne zaman "buralara daha çok vakit ayıracağım, bol bol yazacağım" desem, kesin başka bir şeyler çıkıyor; işler, güçler, yoğunluklar vs, odaklanamıyorum. Öyle ya da böyle bunu bir düzene oturtacağım. inatçıyım bu konuda....
Buraları yine oldukça aksatmış olmanın verdiği iç rahatsızlığı ile, geçen haftadan beri bir şeyler karalamaya olan isteğim ancak şu an vuku buluyor. Geçen hafta oldukça yoğun ve hareketli geçtiği için yazmaya vakit bulamadım aslında. Ya da ne bileyim, belki de bahane buluyorum......
"Gidelim buradan... Göğsünü sıkan, içini daraltan o laneti geride bırakıp gidelim. Burada yağmur bile güzel yağmıyor artık. Yağmuru güzel yağan bir yerlere gidelim....
Hiç yorum yapılmamış. İlk yorumu sen yap!