Ana içeriğe atla

Kayıtlar

php etiketine sahip yayınlar gösteriliyor

Uzmanlık mı, Ezber mi? Yazılım İş İlanlarının Görünmeyen Gerçeği

Yazılım sektöründe son yıllarda en sık karşılaştığımız sorunlardan biri, iş ilanları ile piyasanın gerçekliği arasındaki mesafenin giderek açılmasıdır. Özellikle web geliştirme alanında, belirli bir teknolojiye “tam uyumlu” aday arayışı, deneyimli geliştiriciler için bile ciddi bir bariyer haline gelmiş durumda. Bu yazıyı, WordPress’in henüz 2.x sürümlerinde (2008) kurumsal tema ve eklenti geliştirmiş, farklı dönemlerde farklı teknolojilerle üretim yapmış bir geliştirici olarak kaleme alıyorum. Teknolojiler Değişir, Deneyim Sabit Kalmaz mı? WordPress bugün, 10–15 yıl öncesindeki WordPress değildir. Block Editor, Block Themes, Elementor, Full Site Editing gibi yaklaşımlar; sistemi neredeyse baştan aşağı dönüştürmüştür. Bu nedenle “6 yıl WordPress deneyimi” ifadesi, hangi dönemde ve hangi araçlarla sorusu sorulmadan tek başına anlamlı değildir. Benzer şekilde, klasik tema yapısını bilen bir geliştiricinin bugün güncel WordPress ekosistemine adapte olması mümkündür; ancak bu adapta...

Windows, Docker ve VSCode ile Kusursuz PHP Debug Ortamı Kurulumu

Windows üzerinde PHP geliştirirken performans sorunları ve "dosya yolunda çalışmama" gibi hatalardan sıkıldınız mı? Bu rehberde; Apache, MySQL ve Xdebug 3 kullanarak, VSCode ile tam senkronize çalışan, yüksek performanslı bir geliştirme ortamını nasıl kuracağınızı anlatıyorum. ⚠️ Gereksinimler Windows 10/11 (WSL 2 yüklü olması önerilir). Docker Desktop. VSCode. 1. Proje Yapısı Öncelikle projenizin ana dizininde ( C:\Users\user\htdocs_debug ) aşağıdaki klasör ve dosyaları oluşturun: /html (Kodlarınız burada olacak) /mysql_data (Veritabanı verileriniz burada saklanacak) docker-compose.yml Dockerfile 2. Docker Yapılandırması docker-compose.yml dosyanıza aşağıdaki içeriği ekleyin. Bu yapı, Apache'yi 8888 portunda, MySQL'i ise 3312 portunda çalıştıracaktır: YAML version: '3.8' services: web: build: . container_name: phpserver_debug ports: - "8888:80" volumes: - ./html:/var/www/html extra_hosts: -...

PDO Kullanımında bindParam ile bindValue Arasındaki Farklar

 bindParam, PDOStatement::execute()  çalışmadan önce tanımlanmış değer neyse ona göre çalışır. bindValue ise kendisinden önce tanımlı değişken değeri neyse onu çalıştırır.  Basit bir örnek ile açıklayalım. <?php $pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password'); // bindParam ile sorgu $name = "Hasan Yıldız"; $age = 38; $stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)"); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':age', $age, PDO::PARAM_INT); $age = 21; //execute çalışmadan önce değeri değiştirdik. Veritabanına age => 21 olarak eklenecek. $stmt->execute(); // bindValue ile sorgu $name = "Hasan Yıldız"; $age = 35; $stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)"); $stmt->bindValue(':name', $name, PDO::PARAM_STR); $stmt->bindValue(':age', $age, PDO::PARAM_INT); $age ...

Klasik PHP'den Codeigniter Geçiş Klavuzu (Controller)

 Merhaba arkadaşlar; Bu yazımızda php geliştirenlerin oldukça aşina olduğu bir mvc ürünü olan Codeigniter frameworkünün kullanımını anlatacağım. 2006 yılından beri geliştirilmesine devam edilen CI (Codeigniter), an itibari ile 3.1 sürümünde. Codeigniter 4.0 sürümünün ise yakın bir süre içerisinde çıkmasını bekliyoruz. Codeigniterın startup tarihinin oldukça eskiye dayanması ve geliştirme sürecinin halen devam  ediyor olması nedeniyle php yazılım uzmanları için doğru bir mvc frameworkü olduğunu düşünüyorum. MVC yapıısının ne olduğu konusunda internet üzerinde bir çok makale okuyabilirsiniz. Ancak ben düz php yazanların hızlı bir şekilde geçişini sağlayacak basit bir makale yazmak istiyorum. Not : Yazımın devamına sözkonusu frameworkün adını CI şeklinde ifade ederek devam edeceğim. Not : Makaleyi okumaya başlamadan önce php programlama dilinde sınıf ve fonksiyon oluşturmak, başka sınıflardandan miras almak gibi temel konular hakkında bilgi sahibi olmanız gerekiyor. ...