apache android asp.net codeigniter firefox linux php
python windows

PHP Framework Seçimi ve Performans Sorunu

Gönderen : Mustafa İleri Tarih : 24 July | 12:02

PHP konusunda junior seviyesinin üzerine çıkmış iki kişi bir araya geldiğinde büyük bir tartışma konusudur frameworkler ve performansları.

Frameworkler kod yazarken okurken ve düzeltirken can kurtarsa da performans olarak değerlendirildiği zaman sonuç biraz hüsran oluyor ben sizler için 2 gözde framewok Codeigniter ve Zend i ayrıca bunlara ek olarak Core php yi kıyasladım. Bunun içinhttp://avnetlabs.com/php/php-framework-comparison-benchmarks adresindenden aynı işleri yapan kodları indirip lokalize ettim ve sonra bunları Apache Benchmark Tool ile test ettim.

5 concurrency ve 1000 request göndererek kendi bilgisayarımda bu testi gerçekleştirdim.

Zend için test sonuçları :

PHP JAVA ve ASP.NET Inheritance Yapısı

Gönderen : Mustafa İleri Tarih : 24 June | 11:29

Şöyle bir durum var. A diye bir sınıfım var.Bu A sınıfı B den miras alıyor.Peki A objesi oluşturulduğunda hangisinin constructor ı önce çalışacak.OOP yi az buçuk bilen bir kişi önce parent(B) sonra (A) nın constructorları çalışacak diyebilir.

Şimdi 3 örnek kod inceleyelim.PHP ve Java ve ASP.NET te ne gibi tepkiler veriyor. Java

public class Sinif1 extends Sinif2 {

    public Sinif1()
    {
        System.out.println("Sınıf1 constructor çalıştı");
    }
    public static void main(String[] args) {
        Sinif1 a = new Sinif1();
    }

}

public class Sinif2 {
    public Sinif2()
    {
        System.out.println("Sinif2 constructor çalıştı");
    }
}

Ekran çıktısı şu olacaktır:

Sinif2…

Çok kademeli Kagori Sistemi (Multilevel Category System)

Gönderen : Mustafa İleri Tarih : 04 June | 19:19

Özellikle e ticaret ile uğraşan arkadaşlar yakından bilirler. Bu kategori mantığı eğer kötü kurulursa çok büyük sıkıntılar yaratabilir. Peki nasıl yapmalı? İşte bu bölümde bu konuyu anlatmaya çalışacağım?

Sınırsız alt kategori

Sınırsız alt kategori gibi bir sistem düşünüyorsak bu işi tek tabloda Parent- Child ilişkisine göre yapmamız mantıklı olacaktır.Tablomuzu şu şekilde tasarladığımızı düşünelim.

category_id, category_name,parent_category_id

burada belli olduğu gibi categoryid bir kategoriye ait id değerini, name o kategorinin adını, parentcategory_id ise o kategorinin ana hangi ana kategoriye ait olduğunu söyler.

Şu şekilde düşünebiliriz.Tabloların id değerleri 1…

PHP de Türkçe karakterler için HTML SPECIAL CHARS Metodu

Gönderen : Mustafa İleri Tarih : 03 May | 12:53 Son Cevap Yazan : Mustafa İleri

Veritabanınızda "Ç", "ç", "Ö", "ö", "Ü", "ü" gibi karakterleri görmek pek hoş olmuoyr.Hem search yaparkende sıkıntı yaratıyor.Bunu için aşağıdaki basit metodu yazıp paylaşmak istedim.

Kolay Gelsin...

   /**
     *
     * @param string $string
     * @return string
     *
     * HTMLSPECIALCHARS decode for Turkish chars
     */
    function replaceTrHtmlSpec($string)
    {
        $string = htmlspecialchars_decode($string);
        $search = array("Ç", "ç", "Ö", "ö", "Ü", "ü");
        $replace = array("Ç", "ç", "Ö", "ö", "Ü", "ü");
        $string = str_replace($search, $replace, $string);
        return…
2 adet cevap gönderildi Cevap Gönder

Thrift ile ölçeklenebilir Web

Gönderen : Osman Yuksel Tarih : 02 May | 19:02

Nedir?

Thrift, Facebook tarafından geliştirilen, C++, C# , Cocoa , Erlang , Haskell , Java, OCaml, Perl, PHP , Python, Ruby, Smalltalk dilleri ile istekler yapıp cevaplar alabileceğiniz bir RPC framework'üdür. Örneğin, PHP kodu içinde, PHP methodlarını kullanarak arka tarafta çalışan bir Python uygulamasına istek gönderip cevap alabilirsiniz.

Thrift, binary bir protokol kullandığı için SOAP gibi alternatiflerinden daha performanslı bir iletişim katmanı sunar.

Ayrıca en güzel özelliklerinden birisi de asenkron işlemlere izin veren yapısıdır.

Kullanım alanları

Thrift, desteklediği diller arasındaki esnek geçişlerle, bir dil ile karşılaştığımız kısıtları başka bir dil ile yazdığımız…

PHP, MSSQL ve UTF-8 in Yolu Birgün Kesişmiş

Gönderen : Mustafa İleri Tarih : 02 May | 07:45

Bilirsiniz ki çok dilli bir web uygulaması için standart UTF-8 dir.PHP ile Mysql ve ya Postresql kullandığınız zaman bununla ilgili bir sorun yaşamazsınız.Çünkü bu veritabanlarında utf8 şeklinde bir karakter seti vardır.Fakat söz konusu Bill Gates amcanın teknolojik oyuncakları olunca işler biraz daha değişiyor.Hele ki db ye müdala şansınız da pek yok ise :):)

Malesef MSSQL UTF8 şeklinde birşey tanımıyor.Doğal olarak ta sizin göndermiş olduğunu yada size gelen canıım ülkemin güzel türkçe karakterleri de patlıyor.Eğer ama Türkçe karakter sıkıntısını çözmek ise uygulamanın charsetini iso-8859-9 yapmanız olayı çözer.

Fakat uygulamanıza Alamanca Fransızca da ekleyeceğim o yüzden…

IIS 7.0 Üzerinde PHP MemCache ve Codeigniter Kullanımı

Gönderen : Mustafa İleri Tarih : 21 April | 12:37 Son Cevap Yazan : osman

Windows 2008 Server üzerinde bulunan IIS 7.0 ile PHP olayı Windows ta da güzel hale gelmiş.Sadece PHP kurmak kolay ama biraz atraksiyon yaptığınızda meşakatli bir süreç sizi bekliyor.

Bu yazının amacı sizi bu meşakatli süreçte biraz olsun rahatlatabilmek.

IIS 7.0 Üzerine PHP Kurulumu Öncelikle FastCGI modülünü IIS e kurmanız gerekli.Role Service kısmından bu işlemi gerçekleştirebilirsiniz.

Fast CGI

Sonrasında Handler Mappings->Add Module Mapping kısmına tıklıyoruz.

ADD Module Maping

Aşağıdaki şekilde PHP yi ekleyin.

PHP Adding

Sonrasında

<?php phpinfo(); ?>

ile sonuç alalım. Sıra Geldi MemCache Kurmaya code.jellycan.com/memcached/ adresinden size uygun paketi indirin. Paketi herhangi bir yere açın (mesela…

2 adet cevap gönderildi Cevap Gönder

Codeigniter ile MSSQL Kullanımı

Gönderen : Mustafa İleri Tarih : 16 April | 12:53

Codeigniter php de en sık kullanılar şeker mi şeker bir framework.Kullananlar bilir bu framework u kullanmaya başladınız mı evladınız gibi seversiniz :)

Gün gelir de Codeigniter üzerinden MSSQL e bağlantı kurmanız gerekir ise daha düzgün bir ifade ile MSSQL ile çalışmanız gerekir ise yapmanız gereken işlemleri anlatmaya çalışacağım.

Öncelikle config.php dosyası üzerindeki bağlantı ayarlarında şunu yapıyoruz.

$db["default"]["hostname"] = "Driver={SQL Server Native Client 10.0};Server=BDT018;Database=Blog;";
$db["default"]["username"] = "sa";
$db["default"]["password"] = "********";
$db["default"]["database"] = "Blog";
$db["default"]["dbdriver"] = "odbc";
$db["default"]["dbprefix"] =…

JSON da Karakter Problemi ve Çözümü

Gönderen : Mustafa İleri Tarih : 13 April | 08:53

Şöyle birşey düşünelim DB charset i UTF8 değil. DB den kayıt çekip JSON ile bir yerlere vereceğiz. Tam bu sırada işte şöyle bir problem ile karşılaşıyoruz... Vereceğiniz dizinin elemanlarında bulunan stringlerde Türkçe bir karakter geçtiğinde PHP deki json_encode bunu NULL olarak çeviriyor.

Çözümü basit.Dönüşümü olmayan eleman

$arr["addrStreetName"] = $fld[3]->value;

olsun... Uygulanması gereken PHP metodu ise :

$arr["addrStreetName"] = utf8_encode($fld[3]->value);

olmalı. Herkese kolay

PHP de Sınıf Sabitleri

Gönderen : Mustafa İleri Tarih : 09 April | 06:05

PHP de bir sınıf içinde sabit değerler tanımlanabilir.Tanımlanan bu sabit değerler static özelliği gösterir.Yani kod içinde erişim şekli self::sabit veya parent::sabit gibi olmalıdır. Kod ile örneklemek gerekir ise.

<?php
    class parentClass
    {
        const A = 1;
        const B = 2;
        function  __construct()
        {
        }

        function  __destruct()
        {
        }
    }

    class subClass extends parentClass {
        const C = 3;
        const D = 4;

        function  __construct() {
        }

        public function getConsts()
        {
            echo "A : ".parent::A."<br>B : ".parent::B;
            echo "C : ".parent::C."<br>D : ".parent::D;
        }

       …