Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Mahmut Bayrı tarafından sunulan "Back and Yazılım Geliştirme" serisinin bir bölümüdür ve PHP'de istek (request) işlemlerini anlatmaktadır.
- Video, PHP'de isteklerin nasıl karşılandığını ve işlendiğini adım adım göstermektedir. İlk bölümde Postman aracı kullanılarak HTTP metodlarının test edilmesi ve Laravel framework'ünde request objesinin kullanımı anlatılırken, ikinci bölümde input verilerinin alınması, dosya yükleme işlemleri, proxy konfigürasyonları ve PSR-7 request objesi ile Laravel request objesinin birleştirilmesi gibi konular ele alınmaktadır.
- Eğitim, isteklerin temel bileşenlerini (server değişkenleri, IP adresi, metot, dosya istekleri, cookieler, headerlar) detaylı şekilde açıklamakta ve her konuyu kod örnekleriyle desteklemektedir. Özellikle proxy konfigürasyonu için Engrock kullanarak bir simulasyon yapılmakta ve PSR-7 request objesi için gerekli paketler yüklenmektedir.
- 00:05PHP'de İsteklerin Tanımı ve Türleri
- Bu video, PHP'de isteklerin nasıl karşılandığı konusunu ele alıyor.
- İstek, kullanıcıdan gelen data, adres satırı, parametreler, form yoluyla gönderilen dosyalar ve cookieler gibi tüm bilgileri içerir.
- PHP'de GET ve POST gibi farklı istek metodları bulunur ve bu metodlar farklı veri gönderme yöntemleri sunar.
- 01:48GET ve POST İsteklerinin Karşılaştırılması
- GET isteği, querystring ile gönderilen parametreleri içerir ve bu veriler GET değişkenleri içerisinde alınır.
- POST isteği, form datası ve dosya yükleme işlemleri için kullanılır.
- POST metodu ile gönderilen dosyalar, "files" kısmında ve dosya ismi ile birlikte serverda tutulur.
- 04:44Diğer İstek Metodları
- PUT, PATCH ve DELETE gibi istek metodları da mevcuttur, ancak bu metodlar genellikle form verisi göndermez.
- Laravel gibi frameworkler, PUT ve PATCH gibi metodları kullanabilmek için özel çözümler sunar.
- HTTP metodları sadece web tarayıcılarında değil, serverdan server yapılan isteklerde ve web soketlerinde de kullanılır.
- 06:42Header ve Request Bilgilerinin Yönetimi
- Header bilgileri, request'in bir HTTP isteği olduğunu belirtmek için kullanılır ve server değişkenlerinde saklanır.
- Request bilgilerini yönetmek zor olduğu için frameworkler kendi paketlerini oluşturarak bu işlemi kolaylaştırır.
- Laravel, Illuminate ve Symfony gibi frameworkler, request bilgilerini işlemek için özel paketler sunar.
- 09:19Laravel'de Request Objesi Kullanımı
- Laravel'de request objesi, URL, parametreler ve header bilgilerini işlemek için kullanılır.
- Request objesinin path, is, url, url_without_querystring ve url_with_querystring gibi metodları ile URL ve parametreler kolayca erişilebilir.
- Request objesi, gelen parametreleri almak için request_all ve input metodlarını kullanır ve varsayılan değerler atama imkanı sunar.
- 12:18PHP Request Objesi Özellikleri
- PHP'de input metoduyla multi-select objelerinden gelen dizileri alabilmek için array olarak kullanabilirsiniz.
- Gelen parametrenin olup olmadığına bakmak için has_name() metodu kullanılır, parametre yoksa false döner.
- Birden fazla parametreyi kontrol etmek için ayrı ayrı metoda parametreler geçebilir veya array olarak geçebilirsiniz.
- 13:40Input ve Field Metotları
- Input metodu ile parametre alındığında, boş olup olmadığına bakmak için field() metodu kullanılır.
- Field() metodu, parametre gelmesine rağmen değer gönderip gönderilmediğini kontrol eder.
- Request objesinin diğer metotlarını görmek için "php get class" komutu kullanılabilir.
- 15:55Dosya Yükleme İşlemleri
- Dosyaları server'a post metodu ile gönderebilirsiniz.
- Dosyanın gelip gelmediğine bakmak için field isminde bir şey gelip gelmediğini kontrol edebilirsiniz.
- Upload file objesi ile dosyanın orijinal ismi, diskin nerede durduğu gibi bilgileri alabilir ve move() metodu ile dosyayı istediğiniz yere kaydedebilirsiniz.
- 18:16Proxy Konfigürasyonu
- Uygulama load balancer veya proxy server altında çalışıyorsa, kullanıcının IP'sini geçmez ve SSL sertifikası varsa arka tarafa geçirmez.
- Bu durumda uygulama URL üretimlerinde HTTPS mi üreteceğini HTTP mi üreteceğini bilemeyecek ve kullanıcıyı IP'sine göre loklayamayacak.
- Bu işlemleri yapabilmek için load balancer'ın veya proxy serverin IP'sini uygulamaya tanımlamanız gerekiyor.
- 19:28Proxy Konfigürasyonu Uygulaması
- Proxy konfigürasyonu için nginx kullanarak server'ı kullanılabilir hale getirebilirsiniz.
- Dışarıdan servera eriştiğinizde, kendi IP adresinizi değil serverın IP adresini görebilirsiniz.
- Request metodunun set_trusted_proxy() metodu ile gerçek IP adresinizi geçirebilirsiniz.
- 22:47PSR-7 İstekler
- PSR-7 istekler, frameworklerde mevcut olan veya PHP'nin kendi saf haliyle olan requestleri belli bir standartta kullanmak için metotların parametrelerini ve dönüşlerini tanımlayan bir standarttır.
- Laravel'de PSR-7 isteklerini kullanabilmek için Symfony paketi ve Zend'in zentimacthors paketi yüklenmesi gerekiyor.
- PSR-7 request objesi, standartlaştırılmış metod isimleri, parametreler ve geri dönüş değerleri ile her yerde aynı şekilde kullanılabilir.