PHP

etiketlenmiş 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 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 »

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 »
Model Katmanı ve Veritabanı İşlemlerini Kolaylaştırmak

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

Model Katmanı ve Veritabanı İşlemlerini Kolaylaştırmak

İlk yazıda bahsettiğimiz gibi, model katmanı veritabanı işlemlerimizi düzene sokmak ve kolaylaştırmak adına ihtiyaç duyduğumuz bir katman. Bu yazıda yapacağımız MVC sisteminin model çekirdeğini kodlayacağız. Haydi başlayalım.

/app/core/model.php:

class model
{
    /**
     * Veritabanını nesnesini tutar
     * @var \PDO
     */
    public $db;

    /**
     * Veritabanı nesnesini oluşturur
     */
    public function __construct()
    {
        $this->db = new PDO(DB_DSN, DB_USR, DB_PWD);
    }
}
Devamını okuyun »
Controller ve View Çekirdek Sınıflarını Oluşturmak

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

Controller ve View Çekirdek Sınıflarını Oluşturmak

Controller çekirdek sınıfı, controllers dizininde oluşturduğumuz her controller sınıfını genişletmek (extend) için kullanacağımız sınıftır. Bu sayede view dosyalarını çağırıp, model sınıflarını kullanabileceğiz.

View Katmanının Çekirdek Sınıfı

/app/core/view.php:

class view
{
  /**
   * Görünüm dosyasını yorumlayan metod
   * @param string $view görünüm dosyası
   * @param array $params parametreler
   */
  public static function render($view, array $params = [])
  {
    /**
     * Eğer dosya varsa
     */
    if (file_exists($file = VDIR."/{$view}.php")) {
      /**
       * $params dizesindeki verileri extract fonksiyonu
       * ile değişken haline döndürüyoruz
       */
      extract($params);

      /**
       * Çıktı tamponlamasını başlatıyoruz
       */
      ob_start();

      /**
       * View dosyası içeriğini çağırıyoruz
       */
      require $file;

      /**
       * Çıktı tamponun içeriğini döndürüp siliyoruz
       */
      echo ob_get_clean();
    /**
     * Dosya yoksa programı sonlandır
     */
    } else {
      exit("Görünüm dosyası bulunamadı: $view");
    }
  }
}

Burada view sınıfı içerisine, statik bir render sınıfı oluşturuyoruz. Statik sınıflar, normal fonksiyonlar gibi ulaşılabilen sınıflardır. Burada bunu kullanmamızın özel bir sebebi yok.

Devamını okuyun »
MVC’de Giriş Sayfası, Ayarlamalar ve İlk Controller

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

MVC’de Giriş Sayfası, Ayarlamalar ve İlk Controller

PHP ile bir uygulama yapmaya başlarken öncelikle yapmamız gereken dizin veveritabanı gibi birçok etkenin hiyerarşisini kafamızda tahayyül etmektir. Ardından dosya ve dizinleri oluşturarak işe başlarız. İşte bunların yapısını, sistem içerisinde de rahatça kontrol edebilmek için bazı sabitlere ihtiyaç duyarız. Sabit tanımlamalar ile dizinlerdeki dosyaları rahatça sayfaya dahil edebilecek (require, include) ve işlemlerimizi yapabileceğiz. Basit bir MVC sistemi kodladığımız için bunu en basit haliyle, index.php içerisinde yapacağız. Başlayalım:

Devamını okuyun »
MVC Uygulaması İçin İlk Adımlar: App Sınıfı

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

MVC Uygulaması İçin İlk Adımlar: App Sınıfı

İkinci yazıdan merhaba arkadaşlar. Bu yazıda çalışmalara başlayıp ortaya güzel şeyler çıkaracağız. Evvela MVC uygulamasında kendimize uygun bir dizin yapısı belirlememiz gerekiyor. Bizim yapacağımız sistem şu şekilde olacak:

/app
  /controllers
    defaultController.php
    postController.php
  /core
    app.php
    controller.php
    model.php
    view.php
  /models
    post.php
  /views
    -görünüm dosyaları-
index.php
Devamını okuyun »