İçerik
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.
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. Tabii güncellemeyi otomatik, öyle kafasına göre yapmıyor – neyse, geleceğiz oraya da…
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ş.
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 varsa;
1 |
curl -sS https://getcomposer.org/installer | php |
yada bilgisayarınızda curl yoksa php exe ile kurabilirsiniz:
1 |
php -r "readfile('https://getcomposer.org/installer');" | php |
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)
1 2 |
cd "Z:\belediye coplugu\Xampp\php" 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.
1 2 3 4 5 |
{ "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
1 |
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.
1 |
require 'vendor/autoload.php'; |
Bağlantılar
Geliştirici sitesi https://getcomposer.org/
Hazır paketler (package’ler) https://packagist.org/
Cheat sheet http://composer.json.jolicode.com/
Daha detaylı kullanımlar ve örnekler için başka bir yazı yazmayı hedefliyorum.
Konu ile ilgili daha detaylı kullanım için “composer nasıl kullanılır?” yazımı inceleyebilirsiniz.
Kolay gelsin
Cem DEMİR
Başarılı bir yazı hocam.
Composer Nasıl Kullanılır - Ahmet Ertem
[…] Önceki yazımda Composer’ın ne olduğuna ve nasıl kurulduğuna değinmiştim, şimdi ise nasıl kullanılır onu anlatmak istiyorum. Yazıyı okumaya devam etmeden önce kurulum yapmanızı öneririm. […]
orhan
composer install kısmında bu hatayı alıyorum. yardımcı olabilirmisiniz
//*
[Composer\Exception\NoSslException]
The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex
tension, you can disable this error, at your own risk, by setting the ‘disable-tls’ option to true.
install [–prefer-source] [–prefer-dist] [–dry-run] [–dev] [–no-dev] [–no-custom-installers] [–no-autoloader] [–no-scripts] [–no-progress] [–no-suggest] [-v|vv|vvv|–verbose] [-o|–optimize-autoloader] [-a|–classmap-authoritative] [–apcu-autoloader] [–ignore-platform-reqs] [–] []…
*//
Ahmet Ertem
Bu hatayla hic karsilasmadim fakat internette arastirdigimda Windowsta olusan Open SSL hatasi oldugunu gordum. Hatayi duzeltmek icin php.ini dosyasini acip (notepad++ ile acarsan daha saglikli olur)
<em>#extension=php_openssl.dll</em>
satirini bulup onundeki diez isaretini kaldirman ve ardindan XAMPP/WAMP kullaniyorsan control programi ile apache ye restart atman gerekiyor OrhanOS X'e Composer Kurmak - Ahmet Ertem
[…] ile ilgili yeterince konustugumu dusunmuyorum (yazi 1, yazi 2), nitekim kahramanlardan bahsetmekte her zaman fayda var :) Bu kez MacOS’ta nasil […]
php yazılım
Araştırdığım bir meseleydi sağolun
Ddd
Projenin ana dizinine composer.json dosyasi olusturmak gerekiyor diyo kardesim bu projenin ana dizini neresi bi aciklamamissiniz yav nereye olusturcaz bunu www klasoru icine ise eger olmuyor nerde bu ana dizin
osman
slm kardes ben dediğin gibi yaptım ama ben wampserver kullanıyorum dosyaları www yani projemin ana dizininde olsuturmuyo C:Usersmehmet> komut satırında bu dizin cıkıyo ve buraya yukluyo napmam lazım www içine yuklemesi için
selcukaydin
C:Userslenovo>curl -sS https://getcomposer.org/installer | php
Fatal error: Directive ‘magic_quotes_gpc’ is no longer available in PHP in Unknown on line 0
curl: (23) Failed writing body (0 != 16133)
yukarıdakini yaptığım zaman bu geliyor. PATH’leri ekledim. anladığım kadarıyla php versiyonum desteklemiyor. Acemiyim 15 yıldır weble kodla uğraşmadım fazla. anladımki çok şey değişmiş. Solucan sürüsü gibi kodlama gelişmiş. :D
Ahmet Ertem
Merhabalar,
Normalde 5.5+ hatasiz calismasi gerekmekte fakat sizin de soylediginiz gibi versiyonunuz eski oldugu icin paket uyumsuzlugu oluyor olma ihtimali cok yuksek.
Bence XAMPP’i yedek alin ve tekrar deneyin;
…\xampp\htdocs (klasor)
…\xampp\php\php.ini
…\xampp\mysql\data (klasor)
Oncelikle servisleri durdurun (XAMPP kontrol panelinden) ve varsa servis, silin.
Yukarida belirrtigim dosya ve klasorlerin yedegini alip, yeniden kurulum yapin. Bir problem yasamamak icin bence tum XAMPP dizinini yedek almaniz daha saglikli (sahsen oyle yapiyorum).
Yeniden kurulum yaptiktan sonra tekrar deneyiniz.
Iyi calismalar
selcukaydin
The PHP exe file you specified did not run correctly:
E:xamppphpphp.exe
Reported error: Yanlış işlev