Merhaba arkadaşlar, bazı olumsuzlar vs. sonucu uzun zamandır sizlerle buluşamıyorduk. Bugün sizlere biraz armutdan bahsetmek istiyorum. Tabii armutların bizle olan alakası nedir diye merak etmişsinizdir. Beklediğiniz gibi bahsettiğim armut, bildiğiniz armutlardan değil; "PEAR" Yani "Php Extensions and Aplications Repository" - PHP Eklenti ve Uygulama Deposu. PEAR nedir? Pear, PHP kullanıcılarının sürekli olarak kullandıkları, tekrar tekrar uygulamak zorunda oldukları bir çok işlevi kolayca yerine getirmeye yarayan program parçacıklarına veya programlara hızlı bir biçimde kullanıcılar tarafından ulaşılmasını sağlayan bir sistemdir. Bu sistemin en önemli özelliği "pear" (aslında pearcmd.php) isimli bir uygulama sayesinde Internette depo da bulunan programcıklara bir iki komut yoluyla ulaşılabilmesidir. PEAR madde madde şunları sunmaktadır * Php Kullanıcıları için yapısal bir Açık Kaynak Kodlu Yazılım deposu * Paket Yönetimi ve Kod Dağıtımı için bir sistem * PHP kod yazımı için bir standart * PHP Temel Sınıfları (PHP Foundation Classes - PFC) * PHP Eklenti Toplulumu Kütüphanesi (The PHP Extension Community Library - PECL) * Ayrıca Bir web sitesi, posta listesi ve indirme yansıları Nasıl Kurarım? Pear in kurulumu aslında standart bir php kurulumu ile hazır olarak gelmektedir. Ancak PHP 4.2.3 den daha eski bir versiyonda php kullanıyorsanız veya php nizi derlerken --without-pear konfigurasyon satırını verdiyseniz pear ayrıca kurmak zorundasınız. Kurulum uygulaması çok basittir. Öncelikle http://go-pear.org/ adresinin çıktısını herhangi bir php uzantılı dosya olarak kaydetmelisiniz. #lynx -source http://go-pear.org > pearinstall.php Daha sonra bu dosyayı PHP-CLI ile çalıştırarak kurulumu kolaylıkla takip edebilirsiniz. Kurulum sadece bir kaç adım sürer. İlk adım olarak pear i kurmak isteyip istemediğiniz sorulur ve daha sonra ki adımda da php ile ilgili bazı yolları ayarlamanız gerekir. Daha sonra internet bağlantı hızınıza göre 1 kaç dakika sürebilecek olan kurulum işlemi başlayacaktır. Nasıl Kullanırım? Aslında bu soru 2 ye ayrılmalıdır. *1.* pear paket yöneticisini nasıl kullanırım? *2.* pear ile gelen paketleri nasıl kullanırım? *1.Sorunun cevabı* çok basittir. komut satırında #pear yazdığınızda pear yönetici uygulaması size nasıl kullanılacağını ingilizce olarak anlatacaktır. Tabii bende kısaca Türkçe olarak geçeceğim. Usage: pear [options] command [command-options] Type "pear help options" to list all options. Type "pear help " to get the help for the specified command. Commands: build Build an Extension From C Source bundle Unpacks a Pecl Package channel-add Add a Channel channel-delete Remove a Channel From the List channel-info Retrieve Information on a Channel channel-update Update an Existing Channel clear-cache Clear XML-RPC Cache config-get Show One Setting config-help Show Information About Setting config-set Change Setting config-show Show All Settings cvsdiff Run a "cvs diff" for all files in a package cvstag Set CVS Release Tag download Download Package download-all Downloads each available package from master_server info Display information about a package install Install Package list List Installed Packages In The Default Channel list-all List All Packages list-channels List Available Channels list-files List Files In Installed Package list-installed List All Installed Packages In All Channels list-upgrades List Available Upgrades login Connects and authenticates to remote server logout Logs out from the remote server makerpm Builds an RPM spec file from a PEAR package package Build Package package-dependencies Show package dependencies package-validate Validate Package Consistency remote-info Information About Remote Packages remote-list List Remote Packages run-tests Run Regression Tests search Search remote package database shell-test Shell Script Test sign Sign a package distribution file uninstall Un-install Package update-channels Update the Channel List upgrade Upgrade Package upgrade-all Upgrade All Packages komutun kullanımı #pear / [işlem seçenekleri] şeklindedir. Burada uzun uzadıya anlatılan işlemlerden en önemlilerini sıralayacağım ve gerisini de size bırakacağım. #pear list sisteminizde ana kanalda kurulmuş olan paketleri listeler #pear list-upgrades sisteminizde kurulu olan paketlerin güncellemelerini listeler #pear upgrade belirtilen paketi günceller #pear upgrade-all sistemde kurulu olan paketlerin hepsini günceller #pear install ismi belirtilen paketi kurar #pear uninstall ismi belirtilen paketi sistemden kaldırır gördüğünüz gibi internette deli gibi PEAR paketi aramanıza gerek yok. PEAR deposunda bulunan paketlere bir kaç komut yardımıyla ulaşabiliyorsunuz. Ancak unutmayın bazı paketler diğer paketlere bağlıdır. Bu yüzden ilgili tüm paketleri de kurmanız gerekiyor. * 2.Soruya gelirsek temelde pear paketleri nesneye yönelimli olarak kodlanmış, tekrar kullanılabilir kod parçalarıdır. Tabii doğal olarak her paketin kendine has bir API si ve Metodları olacaktır. Bu yüzden her paket için, kendi dokümantasyonununa başvuramanız gerekiyor. Ancak basit bir pear örneği vermek gerekirse, aslında hiç bulunmayan ama çok basit ve temiz bir örnek olabilecek -varsayımsal- bir paket sunacağım. HTML::HelloWorld Öncelikle paketimizi sistemimize kuralım. #pear install Html_HelloWorld Starting to download Html_HelloWorld-0.0.2.tgz (1,3 Kbytes) ...done: 1,3 bytes requires package `pear::HTML_Common' >= 1.2.1 pear::HTML_HelloWorld: Dependencies failed Görüldüğü gibi pear::HTML_HelloWorld paketimiz pear::HTML_Common paketine ihtiyaç duyuyor.Bu yüzden öncelikle bu paketi kurmamız gerekiyor #pear install Html_Common downloading Html_Common-1.2.1.tgz ... Starting to download Html_Common-1.2.1.tgz (3,637 bytes) ....done: 3,637 bytes install ok: pear::HTML_Common 1.2.1 #pear install Html_HelloWorld Starting to download Html_HelloWorld-0.0.2.tgz (1,3 Kbytes) ...done: 1,3 bytes install ok: pear::PEAR_Info 1.5.2 Artık pear::HTML_HelloWorld paketimiz kurulduğuna göre onu kullanabiliriz. < ?php require_once('HTML/HelloWorld.php') ; // pear::HTML::HelloWorld paketini kullanacağımız için // php dosyamıza ekliyoruz. $hello = new HTML::HelloWorld('PHP','tr'); // Yeni Bir HelloWorld örneği yaratıyoruz. // Görüldüğü Gibi bu HelloWorld örneğinin // Türkçe olarak PHP programlama diliyle konuşmasını // istiyoruz. echo $hello->sayHello(); // Sonuc olarak ekrana // < ?php // echo 'Merhaba Dünya'; // ?> // Basılıyor. ?> Görüldüğü gibi bu varsayımsal PEAR paketimizi kurup kullandık. Diğer PEAR paketlerinin kullanımıda bundan fazla zor değil. Ancak öncelikle o paketin dokümantasyonuna bakmanız gerekiyor. Herhangi bir paketin dokümantasyonunu http://pear.php.net adresinde bulabilirsiniz.