10 Mart 2018 Cumartesi günü Diğer başlığında

Yeni Bir Görünüm ve Altyapıya Geçtim

Merhaba,

Kısa bir süre önce üzerine çalıştığım bir blog yazılımı vardı, onu bitirdim ve yeni bir görünüm ile birleştirerek arkayüzü ve önyüzü tamamıyle değiştirdim.

Bunu yapmamdaki yegane sebep Wordpress'i beğenmemem. Bir blog sistemi için özellikle benim bireysel olarak kullanabileceğim bir blog sistemi için Wordpress oldukça hantal. Binlerce fonksiyon ve onlarca sınıf çok gereksiz.

Basit bir veritabanı üzerinde içerik, kategori ve yorum tablolarıyla, Slim Framework üzerinde basit bir router ile ufak bir sistem yazdım. Bu sistem bütün ihtiyaçlarımı fazlasıyla karşılıyor.

MacOS Üzerinde Redis Kurulumu ve Ayarlamalar

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

MacOS Üzerinde Redis Kurulumu ve Ayarlamalar

Redis, açık kaynak kodlu bir key-value (anahtar-değer) deposudur. Önbellekleme (caching) işlemlerinde çokça kullanılır. Birçok platformda ve birçok programlama dilinde paketleri mevcuttur ve kullanılabilir.

Kurulum için Homebrew paket yöneticisi gerekiyor.

$ brew install redis

komutuyla Redis kurulumu gerçekleştirelim.

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.

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

MacOS Üzerinde PostgreSQL Kurulumu

Ruby On Rails ile geliştirmeler yapma amacıyla PostgreSQL veritabanına ihtiyaç duydum. MySQL hali hazırda vardı ama PHP alışkanlıklarımı bir kenara koyup daha fazla olumlu yanı olan PostgreSQL deneyimlemek istedim. MacOS üzerinde iki yöntem var; birincisi Postgres.app uygulaması. Kurulumu oldukça basit; internet sitesinde detayları mevcut. Tıkla, yükle, kullan. Ama ben Homebrew paket yöneticisi aracılığıyla kurulum yapmayı tercih edeceğim.

Devamını okuyun »
İş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 »
Yeni Başlayanlar İçin PHP’de MVC

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

Yeni Başlayanlar İçin PHP’de MVC

Nedir bu MVC? Neden ihtiyaç duyulur? Nasıl ve nerelerde kullanılır? gibi birçok soru var kafada. Hele ki yeni bir PHP meraklısıysanız, bu sorular daha çok ve derinden gelir.

Ben, programlamayı vakit geçirmek için kullanan, ortaya bir şeyler çıkarmaya çalışan birisi olarak PHP ile makarna kod yazdığım zamanların ardından MVC ile tanıştım. Tanıştıktan sonra, bir daha görüşmedim çünkü yeterli türkçe kaynak yoktu/bulamamıştım ve tam manasıyla kavrayamamıştım. Buna istinaden şimdi aynı şekilde, bildiğim kadarıyla MVC’yi tarif edeceğim ve birkaç örnek vereceğim. Tariflerim hakkında bilgi alabilmek için, PHP’de biraz olsun OOP yani nesne yönelimli programlama bilginizin olması gerekiyor. Olmasa bile biraz zorlamanızı öneririm.

Devamını okuyun »