Konular

EBooklar

Uzun zamandır PHP ile yazılım geliştiriyorsanız, bazı kütüphaneleri/dosyaları yeniden indirmek, yazmak, güncel sürüm kullanmaya çalışmak için zaman harcamanın büyük bir kayıp olduğunu fark etmişsinizdir. Zend, Symfony ve Laravel gibi kütüphaneleri kullanarak proje yapıyorsanız siz daha bir ihtiyaç sahibisinizdir.

Composer Nedir, Nasıl Kurulur, Kullanılır

Nedir ?

PHP için bağımlılık yönetim aracıdır. Projenizin ihtiyaç duyduğu kütüphaneleri tanımlamanızı ve sizin için kurmasını ve güncellemesini sağlar. Php için geliştirilmiş bir bağımlılık yönetim aracıdır. Projemizde kullanmak istediğimiz php kütüphanesinin ihtiyacı olan php dosyalarını projeye dahil edilmesini sağlayan, çeşitli güncellemeleri otomatik yapabilen bir araçtır. Php’de Composer’ın yaptığı işlemleri Ruby’de bundler, NodeJs’de Npm, Java’da Maven yapmaktadır.

Aslında bağımlılık (gereksinim) yönetim araçlarını ilki değil; Node.js‘deki nmp ve Ruby deki Bundler ilham alınarak yapılmıştır.

 

Kimler Kullanmalı ?

Aslında PHP ile kod yazan herkesin kullanması gerektiğini düşünüyorum. İllaha ki belirli kütüphaneler veya frameworkler vb kullanıyorsunuzdur; ve en son version kullanmak (benim gözümde) her zaman daha sağlıklıdır. Benim belli başlı kütüphanelere sürekli bir göbek-bağım var ve her seferinde git yeniden al yapmak zaman ve odak kaybı bir iş.

Neden İhtiyaç Duyulur ?

Geliştirdiğimiz projelerimizde birçok kütüphaneye ihtiyaç duyarız ve bu kütüphanaleri projemize ekleriz. Bu kütüphaneler sürekli geliştiriliyor,güvenlik açıkları gideriliyor performans artırıcı güncellemeler yapılıyor bir üst versiyonları çıkarılıyor bizimde bu güncellemeleri almamız gerekiyor aksi takdirde projemizde güvenlik açığı oluşabilir, performans açısından istediğimizi alamayabiliriz, eski versiyonu kullandığımız için bu teknolojide geride kalmış olabliriz. Birden fazla kütüphane kullandığımız için bu kütüphaneleri tek tek projemize eklemek veya projede bulunana kütüphaneleri güncellemek biraz zahmetli olucaktır işte tam burada devreye composer giriyor. Biz ihtiyacımız olan kütüphaneyi veya güncellemesini istediğimiz kütüphaneyi composer’a belirtiyoruz composer bizim yerimize istediğimiz kütüphaneyi projemize ekliyor veya güncelliyor. Bir örnek ile gözümüzde canlandıralım Bizim Php ile yazdığımız kod başka birinin Bilgisayarın’da çalışmayalbilir bu sorun Php versiyonundan kaynaklanıyor olabilir bizim kodumuz Php 5.3 üstünü destekliyordur ancak o kişi Php 5.2 kullanıyır olabilir eğer biz projeye Composer aracını yüklemişsek o kişi Composer’ı kullanarak versiyon sorununa takılmadan projeyi çalıştırabilir.

Composer Nasıl Kurulur ?

Çalışmak için PHP 5.3.2 ve üstüne gereksinimi vardır – düşünün Composer’ın bile bir gereksinimi varken bizim projelerimizin mi olmayacak =)

curl -sS https://getcomposer.org/installer | php
php -r "readfile('https://getcomposer.org/installer');" | php

Composer Nedir, Nasıl Kurulur, Kullanılır

Not: PHP ile kuracaksanız ve PHP’yi Path olarak göstermediyseniz; PHP.exe’nin olduğu dizinden kurmanız gerekiyor. Örneğin ben şuan tekrar kurmak istesem şöyle bir yol izlemem gerekiyor;

Command Prompt’a (cmd)

cd "Z:belediye copluguXamppphp"
php -r "readfile('https://getcomposer.org/installer');" | php

 

Linux’ta da PHP nereye yüklü ise  cd ile gidip ayni islemi yapmalısınız…

Kurulum esnasında sorun yaşayacağınızı sanmıyorum ama bir sorun olursa iletişim sayfasından ya da sosyal medya üzerinden de sorabilirsiniz.

 

Windows Kurulumu

Windows’a kurulum yapmanın en kolay yolu Composer-Setup.exe’yi indirip kurmak. Kurulum yaparken composer’i direk PATH’e ekleyecektir, bu da Command Prompt’tan, dizin belirtmeden composer yazarak kullanabilmenizi .

 

Nasıl Kullanılır ?

Composer’ımızı kurduğumuza artık ihtiyacımız olan paketleri yükletebiliriz. Composer ayar (kurulum) dosyası oluşturmak için projenin ana (root) dizininde JSON dizini oluşturmamız gerekiyor. Eğer JSON bilmiyorsanız hemen öğrenin, bu devirde JSON bilmeden olur mu ?!

Örnek amaçlı PSR Log Paketini indirmek için aşağıdaki gibi bir composer.json dosyası oluşturmanız gerekiyor.

 

{
    "require": {
        "psr/log": "dev-master"
    }
}

 

  PSR Log’u kurmak için artık tek yapmanız gereken projenizin dizinine gidip (terminal veya cmd) aşağıdaki kodu çalıştırmak

composer install

 

Projenizin ana dizinine baktığınızda vendor diye bir klasör oluşturmuş ve için psr’ın gerekli PHP dosyalarını indirmiş olduğunu görebilirsiniz. Çok kolay değil mi ??

Sadece hazır paketleri değil kendi paketlerinizi de yapıp (illaha package olmasına gerek yok, zip, repo (vcs), dosya da olabilir) bu şekilde projelerinize dahil edebilirsiniz.

 

Otomatik Yükleme (Autoloading)

Bir sürü pakete sahipsiniz ve bunları projenize otomatik yüklemeye ihtiyacınız var. Neyse ki composer bu konuda da size yardımcı oluyor.

Yapmanız gereken index.php veya bootstrap dosyasınıza (yada nasıl yöntemler kullanıyorsanız artık) en üste aşağıdaki kod satırını ekleyin. İnmiş ve include / require edilmesi gerekenleri sizin için projenize dahil edecektir.

Kaynak

 

 

 

Yorumunuzu Ekleyin





  • Kurallı İfadeler (regex Engine)
  • Kurallı İfadeler (regex Engine) ~ 35,221

    Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşmeleri yerine getirmediğini öğreneceksiniz. Bu da bizim tabir yerindeyse daha az kafa patlatmamızı ve daha az zaman harcamamızı sağlayacaktır.



  • PHP ile PDF dosya oluşturmak
  • PHP ile PDF dosya oluşturmak ~ 28,165

    Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak



  • PHP nedir?
  • PHP nedir? ~ 26,995

    HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.


  • $_FILES
  • $_FILES ~ 25,790

    Örnek kod ve açıklamalar



  • Oop - Nesne Yönelimli Programlama
  • Oop - Nesne Yönelimli Programlama ~ 21,956

    Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri


  • Xampp Kurulumu ~ 21,382

    Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.




  • Php ile Oturum Yönetimi (SESSION)
  • Php ile Oturum Yönetimi (SESSION) ~ 20,254

    Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.


  • Verileri doğrulamak için PHP ile filtreleme işlemleri
  • Verileri doğrulamak için PHP ile filtreleme işlemleri ~ 20,244

    Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve üstü sürümlerde bu fonksiyonlara gereksinim azaldı. Çünkü PHP filtreleme fonksiyonları standart oldu.


  • Php İle Excel Dosyası Oluşturmak
  • Php İle Excel Dosyası Oluşturmak ~ 20,101

    Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle ve her satırı da enter karakteri ile bölmekten ibaret. Ama biçimlendirme söz konusu olduğunda, mesela sütunlara bir genişlik vermek, yazıları bold yapmak, bazı hücreleri sayı ya da para tipine çevirmek gibi biçimlendirmelerde bu yöntem işe yaramamakta.


  • $_SERVER
  • $_SERVER ~ 19,865

    $_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazılarını atamayabilir, veyahut burada anlatılacak değerlerin haricinde değerler ekleyebilir


  • En iyi 25 php template motoru
  • En iyi 25 php template motoru ~ 19,487

    Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için tema sistemleri geliştirebilirsiniz. Tema sistemi ya da motorlarının asıl amacı, php kodları ile html kodlarını birbirinden ayırmaktır. Böylece hangi kod üzerinde değişiklik yapmanız gerekiyorsa, kendisine ait dosyalarını açarak bu işlemi gerçekleştirebilirsiniz


  • Php Mysql to XML
  • Php Mysql to XML ~ 19,217

    Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.



  • Dizi Tanımlamaları
  • Dizi Tanımlamaları ~ 19,133

    PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür









  • $_REQUEST
  • $_REQUEST ~ 16,343

    $_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu değişken bir superglobal olduğu için tüm alanlarda (scope) geçerlidir ve bundan dolayıdır ki global $_REQUEST ; şeklinde bir tanımlamaya ihtiyaç duymaz. Eğer register_globals değişkeni php. İni de ayarlanmışsa bu değişken her yerde (Global Scope) kullanılabilir