PHP

kategorisine ait gönderiler

PHP ile Kelime/Metin/Dizge İşlemleri

4 Ekim 2018 Perşembe günü PHP başlığında

PHP ile Kelime/Metin/Dizge İşlemleri

PHP ile kelime işlemleri yapmak için birçok fonksiyon var. Bu fonksiyonlar sayesinde değiştirme, bölme, arama, sayma, kısaltma, sınırlama, silme gibi birçok işlemi yapabiliyoruz.

PHP ile kelime işlemleri yapabilmek için birçok fonksiyon bulunmaktadır. Bunları hepsine, PHP'nin resmi sitesinden Dizge İşlevleri başlığından göz atabilirsiniz. Ben burada size, çok sık kullanılan ve ihtiyaç duyulan kelime/dizge fonksiyonlarından bahsedeceğim.

PHP ile Kelime Değiştirme İşlemleri

PHP ile bir metindeki herhangi bir kelime veya kelimeleri değiştirmek için str_replace fonksiyonu kullanılmaktadır. PHP'de kelime işlemleri oldukça kolay ve basittir.

$cumle = 'Merhaba sevgili kardeşim, nasılsın?';
$eski = 'kardeşim';
$yeni = 'dostum';

$yeniCumle = str_replace($eski, $yeni, $cumle);
// sonuç: Merhabs sevgili dostum, nasılsın?
Devamını okuyun »

8 Eylül 2018 Cumartesi günü PHP başlığında

DemirApp PHP 7 Uygulama Çatısı

Başlarken

DemirApp uygulama çatısı, kendi ihtiyaçlarımdan yola çıkarak yazdığım, basit ve minimal tutmaya çalıştığım bir uygulama. Küçük ve orta çaplı uygulamaları rahatça geliştirebileceğiniz bu PHP çatısında, PHP ile kod yazarken sıkça ihtiyaç duyduğum metod ve fonksiyonları bir araya getirdim. Umarım faydalı olur.

https://github.com/yidemir/App

Gereksinimler

  • PHP 7.1 ve üzeri
  • JSON yardımcısı
  • Apache, NGINX gibi bir sunucu

Kurulum

Kurulum için önerim, composer paket yöneticisini kullanmanızdır. Eğer kullanmıyorsanız, projenin Github kaynağından indirerek de kullanabilirsiniz.

Composer ile kurulum

$ composer require yidemir/app

ve kodlamaya başlayın:

<?php

use Demir\App;

require __DIR__.'/vendor/autoload.php';

App::get('/', function(){
    echo 'Merhaba dünya!';
});

App::run();

Git ile kurulum

$ git clone https://github.com/yidemir/App.git

App dizininin içine index.php dosyası oluşturun ve çalıştırın:

<?php

use Demir\App;

require __DIR__.'/src/App.php';

App::get('/', function(){
    echo 'Merhaba dünya!';
});

App::run();
Devamını okuyun »
PHP'de Rota Sistemi ile Basit ve Hızlı Uygulamalar

20 Ağustos 2018 Pazartesi günü PHP başlığında

PHP'de Rota Sistemi ile Basit ve Hızlı Uygulamalar

Bu yazıda yazacağımız kodlar, MVC'ye alternatif olacak ve nesne yönelimli olmayacak. Bunun yerine fonksiyonel programlama yöntemiyle oluşturacağız ve basit bir düzen oluşturacağız. Ama unutmayın, bu karışık olmayacağı anlamına gelmez!

Daha önceden PHP İle Basit Bir Router Nasıl Yapılır başlıklı bir yazı yazmıştım. Bu yazıda nesne yönelimli programlama ile çok basit bir rota sistemi yazmıştık. Şimdiyse bunun daha basit halini yazacağız.

Hemen bir app.php dosyası oluşturup kodlarımızı yazmaya başlayalım. Çok az kod yazacağız ama çok işleve sahip olacak. Kod satırlarında ne işe yaradıklarını, ne için yazdığımızı vs. anlattım. Es geçmemenizi öneririm.

Devamını okuyun »
PHP'de Blog veya İçerik Yönetim Sistemi Oluşturmak

18 Temmuz 2018 Çarşamba günü PHP başlığında

PHP'de Blog veya İçerik Yönetim Sistemi Oluşturmak

En basit haliyle bir içerik yönetim sistemi veya blog sistemi nasıl tasarlanır, nelere dikkat edilmelidir ve yapısı nasıl olmalıdır bunları konuşacağız.

En popüler içerik yönetim sistemi/blog yazılımı olan Wordpress'i bir çoğumuz kullanmıştır kullanmasına ama bazılarımız var ki Wordpress'in nasıl çalıştığını merak edip, bazılarımız da eklenti/tema geliştirmeye merak salmışızdır. Tüm bunlardan doğru, karşımıza çıkan binlerce fonksiyon, yöntem, ıvır, zıvır vesaire derken kafamız çorba gibi oluyor. Bu çorbalaşmış kafayı netleştirmek için bu yazıda basit bir blog sistemi nasıl yazılır ondan bahsedeceğim. Elbette ki Wordpress alternatifi olmayacak. Sadece işimizi görebilecek, basit ve kullanışlı bir sistem hakkında konuşacağız.

Devamını okuyun »
Eloquent ORM'de Erişimci ve Mutatörler

30 Mart 2018 Cuma günü PHP başlığında

Eloquent ORM'de Erişimci ve Mutatörler

Laravel ve Eloquent ORM'de Erişimci (Accessors) ve Mutatörleri (Mutators) kullanarak öznitelikleri (Attributes) nasıl biçimlendireceğimizi göreceğiz.

Erişimciler (Accessors)

Erişimciler, veritabanından aldığımız bilgileri/verileri önceden tanımlı olarak biçimlendirmemize olanak tanır. İki tane örnek verelim. Öznitelikleri türkçe olarak örneklendireceğim (elbette ki veritabanını tasarlarken ingilizce kullanmak gerekiyor)

Veritabanımızdaki tabloda ad ve soyad adlı iki adet sütun olduğunu varsayalım. Normal şartlarda veritabanındaki ad soyad bilgisini görüntülemek istediğimizde

Ad Soyad: {{ mb_ucfirst($uye->ad) . ' ' . mb_ucfirst($uye->soyad) }}

şeklinde kullanırız. Ama aşağıdaki gibi bir metodu, modelimize tanımlarsak, işimizi, daha kullanışlı hale getirebiliriz.

Devamını okuyun »
Eloquent ORM'in Tek Başına Kullanımı

28 Mart 2018 Çarşamba günü PHP başlığında

Eloquent ORM'in Tek Başına Kullanımı

Aşağıda Laravel'in varsayılan ORM'i olan Eloquent'in tek başına, Laravel'den bağımsız şekilde kendi projelerimizde nasıl kullanabileceğimizden bahsettim.

Evvela composer paket yöneticisiyle projemizi oluşturalım.

PHP 7 altındaki sürümler için kullanmanız gereken sürüm 5.4 olanı. 5.5 ve üstü olanlar PHP 7 gerektiriyor. Eğer PHP 7 ile çalışacaksanız sürüm belirtmeden gerekliliği indirebilirsiniz.

$ composer require illuminate/database:5.4
Devamını okuyun »
Eloquent İlişkilerinde Koşullu Sorgular

28 Mart 2018 Çarşamba günü PHP başlığında

Eloquent İlişkilerinde Koşullu Sorgular

Aşağıda verdiğim örnekte, Eloquent ile koşullu sorguların ne kadar basit kullanıldığından bahsettim. Örnek içeriği olarak fatura, fatura satırları ve stok kartı üçlüsü üzerinden gittim. Buna birçok yerde ihtiyaç duyulabilir; Kitap ve yazar ilişkilerinde, yorum ve gönderi ilişkilerinde vs.

Elimizde stok kartları (Stock), faturalar (Invoice) ve fatura satırları (InvoiceRow) adında üç adet model olduğunu varsayalım. Stok kartını görüntülemek istediğimizde stok bilgilerinin yanında, mevcut stoğun hangi faturalarda işlem gördüğünü de listelemek gerekecek. Faturalar ve fatura satırları modelleri şöyle olsun:

Invoice.php

// ...
use App\Models\InvoiceRow;

class Invoice extends Model
{
    public function rows()
    {
        return $this->hasMany(InvoiceRows::class);
    }
}
Devamını okuyun »

20 Mart 2018 Salı günü PHP başlığında

PHP ile Basit Bir Router Nasıl Yapılır

PHP'de gelen istekleri (request) cevaplamak (response) için en kullanışlı yöntemlerden birisi router kullanmaktır. Popüler PHP ve PHP olmayan web çatılarının (framework) olmazsa olmazıdır router/yönlendirici/rotacı.

Rotalar, belli özelliklere sahiptir. Bunlardan en önemli üçü şunlardır:

  1. Rota yolu (/sayfa/5, /gonderi/3 gibi)
  2. İstek metdodları (GET, POST, PUT, PATCH, DELETE vs. gibi)
  3. Geri çağırım işlevleri (en basit tabiriyle fonksiyonlar veya sınıf metodları)

Eğer tüm bunları sağlarsak, sağlıklı bir rotacı yaratabilir ve rahatlıkla kullanabiliriz. Bunların dışında middleware(lar) (ara katmanlar olarak çevrilebilir), rota isimlendirmesi gibi birçok özellik/parametreye sahip olabilirler.

Şimdi vereceğim örnekte yalnızca GET ve POST istek metodlarını karşılayacak olan basit bir rotacı yazacağız.

Devamını okuyun »
PHP'de MVC Mimarisi İle Basit Bir Blog Uygulaması

2 Nisan 2017 Pazar günü PHP başlığında

PHP'de MVC Mimarisi İle Basit Bir Blog Uygulaması

Daha önceden ufak bir yazı dizisiyle Yeni Başlayanlar için PHP’de MVC başlığında ufak örnekler vermiştik. Bu yazdığımız MVC mimarisini birde blog uygulaması yazılmış halde paylaşmak istedim ve bir blog uygulaması yazdım.

Bu blog uygulamasında yönetim paneli ve ziyaretçi arayüzü mevcut. Detaylara Github deposundan bakabilir ve dosyaları indirebilirsiniz.

İşimizi Kolaylaştıran 10 PHP Kodlama Yöntemi

2 Aralık 2016 Cuma günü PHP başlığında

İşimizi Kolaylaştıran 10 PHP Kodlama Yöntemi

Birçok kod yazıyoruz ve bunları ortaya koyarken herkes farklı yöntemler kullanılıyor. Bu yazıda bazı PHP ipuçlarından bahsedeceğim. Tüm bunlar hem kod kalitemizi arttıracak, hem de bize zaman kazandıracak şeyler olacak.

1. Üçlü (Ternary) Operatör

Üçlü operatör, if/else işlemlerimizi kolaylaştırmamızı sağlayan soru işareti (?) ve iki nokta üst üste (:) işaretiyle oluşturduğumuz bir yöntemdir. Bu yöntem işimizi hem kolaylaştırır hem de hızlı bir hale getirir. Örneğini görelim:

$sayfa = isset($_GET['sayfa']) ? $_GET['sayfa'] : 1;
// veya
echo isset($degisken) ? $degisken : 'Değişken yok!';
Devamını okuyun »