PHP strtotime() behavior using days of the week as frames of reference (Windows & Linux)

Say you want to get a set of timestamps so that you can query a database for all records that fall between the start of this week, and the end of this week. One would logically try something like:

  That will, in theory, give you a date range of Monday at 00:00:00, and […]

PHP – Soyut Sınıflar

Soyut sınıflar içerisinde en az bir soyut metot bulunduran sınıflardır. Genel amaçları bir çok işi ortak yapan ortak sınıfları bir araya toplamaktır. Aşağıda buna uygun bir örnek verilmiştir. Soyut sınıf denilmesinin sebebi soyut metotların sınıf içerisinde bir görev yapmaması miras yolu(kalıtım) ile kendinden türeyen sınıflara devretmesidir. Soyut sınıflar kendi içlerinde soyut metotlar dışında somut metotlarda […]

Google haritalar kullanımı – Gmaps.js

Şirketiniz veya kendiniz için google mapsi kullanarak konumunuzu adresinizi göstermek isteyebilirsiniz ama malesef ki google maps ile bunu yapmak artık zorlaştı bunun için açık kaynak lı bir eklenti yardımıyla istedigimiz işlemleri kolayca yapabiliyoruz.. Peki bunu nasıl kullanıcam? http://hpneo.github.io/gmaps/ Eklentiye ulaşmak için yukarıdaki linke tıklayarak örneklere ve kaynak dosyasına ulaşabilirsiniz. http://hpneo.github.io/gmaps/examples/markers.html Yukarıdaki örnek en çok kullanılan […]

Sublime Text Personal Settings

Favorite Snippets Close_windows_when_empty — Closes the whole window if there are only empty tabs open when you hit cmd + w.

  Folder_exclude_patterns — Set up folder exclusion for commonly used directories in your projects.

Font_ — Set type preferences for readability. Obviously, a monospaced font like Source Code Pro from Adobe would […]

Ubuntu 14.04’e Linux, Apache, MySQL, PHP (LAMP) paketinin kurulması

LAMP Nedir?

LAMP terimini açmak gerekirse, Linux işletim sisteminde Apache Web Sunucusunun bulunması, Verilerin Mysql ile tutulması ve dinamik içeriğin PHP ile oluşturulmasıdır.

En büyük avantajlarından birisi bu dördünün de açık kaynak olmasıdır.

Bu anlatımdaki kurulum Ubuntu 14.04.1’de denenmiştir

Adım 1 – Apache Kurulumu

Apache dünyada en popüler web sunucudur. Ubuntu’nun paket yöneticisi olan apt ile kurulum yapacağımız için işimiz çok basit olacak.

Öncelikle paket veritabanını güncelleyelim

Apache2’yi kuralım

Kurulumdan sonra Apache2’nin çalışma durumunu öğrenmek için herhangi bir web tarayıcısından

adresini kullanabilirsiniz.

Adım 2 – MySQL Kurulumu

MySQL, bir veritabanı yönetim sistemidir.

Bu sefer MySQL’in yanında yardımcı(helper) paketler de kuracağız. Diğer paketlerle bağlantımızı sağlayacak.

Kurulum sırasında MySQL için şifre soracaktır.

Şimdi MySQL için biraz güvenlik önlemleri alalım. Eğer sadece geliştirme ortamı için kurulum yapıyorsanız aşağıdakileri incelemenize gerek yok diğer adıma geçebilirsiniz. Sadece production ortamı içindir.

MySQL sistem tablolarını oluşturtalım

Güvenlik amaçlı basit bir script çalıştıracağız. Girişleri olabildiğince kısıtlayacağız.

Script sırasında root şifresi isteyecektir. Kurulumda girdiğiniz şifreyi girin.

Remove anonymous users ? : Üye oluşturmaya gerek kalmadan giriş yapılmasını sağlar. Production ortamı için Yes diye cevaplayalım.

Disallow root login remotely ? : root kullanıcısının SADECE “localhost”‘dan giriş yapabilmesini sağlayacağız. Böylece root şifresi bilinse de sadece ana makineden giriş yapılabilir. Bu yüzden Yes diye cevaplayalım.

Remove test database and access to it ? : Varsayılan olarak MySQL, ‘test’ isminde bir veritabanı oluşturabilir ve herkesin erişebilmesini sağlar. Production ortamı için gereksiz olacaktır, bu yüzden Yes diye cevaplayalım.

Reload privilege tables now ? : İşlemlerin tam çalışması için yetki tablolarının güncellenmesi gerekiyor. Yes diye cevaplayalım.

Adım 3 – PHP Kurulumu

PHP, dinamik verilerin gösterimi, SQL veritabanlarından bilgilerinin alınması ve işlemlerin yönetilmesini sağlayacaktır.

PHP ile beraber helperları da yükleyelim

Apache, varsayılan olarak dizin arama işlemlerinde index.html index.cgi index.pl index.php index.xhtml index.htm dosyaları sırayla aranmaktadır. index.php‘yi biraz öne alacağız.

Bunun için dir.conf dosyasını düzenleyelim.

sudo nano /etc/apache2/mods-enabled/dir.conf index.html’den hemen sonra alabilirsiniz.

PHP’nin çalışması için Apache’nin yeniden başlatılması yani Apache’nin konfigürasyon dosyalarına tekrar bakması gerekiyor.

PHP Modüllerinin Kurulması

Yüklenebilir PHP5 Modülleri için şu şekilde arama yapabilirsiniz

Yükleyeceğiniz modülleri belirledikten sonra şöyle kurulum yapabilirsiniz

## Adım 4 – PHP’nin Test Edilmesi PHP‘yi test etmek için çok basit bir PHP kodu yazacağız.

BONUS – PHPMyAdmin Kurulumu

PHPMyAdmin’i kuralım

Web server olarak apache2‘yi seçin

dbconfig-common’un düzenleme yapmasına izin verin

MySQL ve PHPMyAdmin şifresini girin

Kurulum bittikten sonra Apache’ye PHPMyAdmin dosyasını ekleyeceğiz.

En alta Include ekleyeceğiz.

Apache’yi yeniden başlatalım

Kontrol amaçlı aşağıdaki adrese gidebilirsiniz

BONUS – Sanal Sunucu Oluşturma

Projelerinizde sürekli localhost/ kullanmak yerine projenize özel sanal sunucu oluşturabilirsiniz.

Örneğin AwesomeProject projeniz için

Çalışma Dizini: /var/www/awesomeproject/public_html

Log Dizini : /var/www/awesomeproject/logs

Site Adresi : http://awesomeproject/

Bu şekilde daha düzenli ve rahat olacaksınız.
Klasörlerin oluşturulması

Yetkilerin verilmesi

Örnek Sayfa Oluşturulması

Sanal sunucuyu test etmek için örnek bir sayfa oluşturacağız. Sanal sunucumuz içerisinde bir index.html dosyası oluşturalım.

İçerisine

Sanal Sunucu: projeadi
Sanal Sunucu Dosyasının Oluşturulması

Sanal sunucu dosyası oluşturalım.

İçerisine aşağıdakileri yapıştırabilirsiniz fakat projeadi yazdığım yerleri kendinize göre düzenleyin.

Dosyayı kaydedin ve kapatın.

Yeni sanal sunucunun çalışması için aktifleştirmemiz ve Apache’yi yeniden başlatmamız gerekiyor

I) PHP Nesne Tabanlı Programlama

Bu bölümde, PHP hakkında nesne tabanlı programlama (OOP – object-oriented programming) üzerine bilgi vermeye çalışacağım. PHP 5 ile OOP yapısı tamamen desteklenir oldu. OOP’da temel programlama kavramları şunlardır: Abstraction (Soyutlama) Polymorphism (Çok biçimlilik) Encapsulation (Sarmalama) Inheritance (Kalıtım) Soyutlama, problemi çözerken ilgili metodların belli parçalar halinde yazılarak kodların basit ve anlaşılır hale getirilmesidir diyebiliriz. Çok biçimlilik […]

PHP Türkçe karakterleri ingilizceye Çevirmek

Aşağıdaki kodları kullanarak türkçe karakterleri temizleyebilirsiniz.

Sonuç: Turkce-Metin

PHP 5.4.30 ve 5.5.14 Versiyon Güncellemesi

PHP geliştirme ekibi 5.4.30 ve 5.5.14 yeni güncelleme versiyonlarını yayınladı. Bu son güncellemede daha çok güvenliğin ve hataların üzerinde durulmuş. Pek fazla aman aman bir değişiklik yok gibi. Sadece bir önceki sürümlerde tespit edilen uyumluluk sorununu çözüyor. Tabi güncellenen hata ve güvenlik riskleri güncelleme yapmanıza değer içerikler. Değişikliklere PHP.net ChangeLog adresinden göz atabilirsiniz.