{"id":35195,"date":"2025-11-26T20:41:27","date_gmt":"2025-11-26T17:41:27","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35195"},"modified":"2025-11-26T20:41:27","modified_gmt":"2025-11-26T17:41:27","slug":"giris-composer-neden-onemli","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/","title":{"rendered":"Giri\u015f: Composer Neden \u00d6nemli?"},"content":{"rendered":"<p><body><\/p>\n<h2>Giri\u015f: Composer Neden \u00d6nemli?<\/h2>\n<p>Modern PHP geli\u015ftirmenin kalbinde yer alan Composer, PHP projeleri i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projelerinizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphaneleri ve paketleri (\u00f6rne\u011fin, bir veritaban\u0131 soyutlama katman\u0131, bir test \u00e7er\u00e7evesi veya bir g\u00fcnl\u00fck kayd\u0131 arac\u0131) kolayca y\u00f6netmenizi, kurman\u0131z\u0131 ve g\u00fcncellemenizi sa\u011flar. Composer sayesinde, her k\u00fct\u00fcphaneyi manuel olarak indirmek ve projenize dahil etmek yerine, sadece bir yap\u0131land\u0131rma dosyas\u0131 (<code>composer.json<\/code>) ile t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 tan\u0131mlayabilir ve Composer&#8217;\u0131n gerisini halletmesini sa\u011flayabilirsiniz.<\/p>\n<p>Bu rehber, Debian 11 &#8220;Bullseye&#8221; i\u015fletim sistemi \u00fczerinde Composer&#8217;\u0131 h\u0131zl\u0131 ve etkili bir \u015fekilde nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Debian 11, kararl\u0131l\u0131\u011f\u0131 ve geni\u015f paket deste\u011fi ile sunucu ortamlar\u0131nda s\u0131k\u00e7a tercih edilen bir da\u011f\u0131t\u0131md\u0131r. Bu h\u0131zl\u0131 ba\u015flang\u0131\u00e7 k\u0131lavuzu ile, PHP projelerinizi modern ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi ara\u00e7lar\u0131yla donatmaya an\u0131nda ba\u015flayabileceksiniz.<\/p>\n<p>Composer&#8217;\u0131n sundu\u011fu ba\u015fl\u0131ca avantajlar:<\/p>\n<ul>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Projelerinizin ihtiya\u00e7 duydu\u011fu t\u00fcm k\u00fct\u00fcphaneleri tek bir yerden y\u00f6netir.<\/li>\n<li><strong>Otomatik Y\u00fckleme (Autoloading):<\/strong> K\u00fct\u00fcphanelerinizi projenize manuel olarak dahil etme zahmetinden kurtar\u0131r.<\/li>\n<li><strong>S\u00fcr\u00fcm Kontrol\u00fc:<\/strong> K\u00fct\u00fcphanelerin belirli s\u00fcr\u00fcmlerini kullanman\u0131z\u0131 ve \u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemenizi sa\u011flar.<\/li>\n<li><strong>Kolay G\u00fcncelleme:<\/strong> T\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 tek bir komutla g\u00fcncelleyebilirsiniz.<\/li>\n<\/ul>\n<h2>\u00d6n Gereksinimler: Ba\u015flamadan \u00d6nce<\/h2>\n<p>Composer kurulumuna ba\u015flamadan \u00f6nce Debian 11 sisteminizin baz\u0131 temel gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z. Bu ad\u0131mlar, sorunsuz bir kurulum s\u00fcreci i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Sudo Yetkisi ve G\u00fcncel Sistem<\/h3>\n<p>Composer&#8217;\u0131 sistem genelinde kurmak i\u00e7in y\u00f6netici (root) yetkilerine ihtiyac\u0131n\u0131z olacakt\u0131r. Bu rehberde kullan\u0131lan t\u00fcm komutlar, <code>sudo<\/code> \u00f6neki ile \u00e7al\u0131\u015ft\u0131r\u0131lacakt\u0131r. Ayr\u0131ca, sistem paket listelerinizi ve kurulu paketlerinizi g\u00fcncel tutmak iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\n<\/code><\/pre>\n<p><code>apt update<\/code> komutu paket listelerini g\u00fcncellerken, <code>apt upgrade -y<\/code> komutu kurulu paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir ve t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verir.<\/p>\n<h3>PHP CLI ve Gerekli Eklentiler<\/h3>\n<p>Composer, PHP ile yaz\u0131lm\u0131\u015f bir uygulamad\u0131r, bu nedenle sisteminizde PHP&#8217;nin komut sat\u0131r\u0131 aray\u00fcz\u00fc (CLI) s\u00fcr\u00fcm\u00fcn\u00fcn kurulu olmas\u0131 gerekir. Ayr\u0131ca, Composer&#8217;\u0131n ve \u00e7o\u011fu PHP k\u00fct\u00fcphanesinin d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 PHP eklentilerine ve yard\u0131mc\u0131 programlara ihtiya\u00e7 duyulur. A\u015fa\u011f\u0131daki komut, gerekli t\u00fcm bile\u015fenleri kuracakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y php-cli php-zip php-xml php-mbstring git curl unzip\n<\/code><\/pre>\n<p>Bu komutun kurdu\u011fu bile\u015fenler ve neden gerekli olduklar\u0131:<\/p>\n<ul>\n<li><code>php-cli<\/code>: PHP komut sat\u0131r\u0131 aray\u00fcz\u00fc. Composer&#8217;\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in temel gereksinimdir.<\/li>\n<li><code>php-zip<\/code>: ZIP ar\u015fivlerini y\u00f6netmek i\u00e7in PHP eklentisi. Composer, ba\u011f\u0131ml\u0131l\u0131klar\u0131 s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyalar olarak indirip a\u00e7mak i\u00e7in buna ihtiya\u00e7 duyar.<\/li>\n<li><code>php-xml<\/code>: XML verilerini i\u015flemek i\u00e7in PHP eklentisi. Baz\u0131 paketlerin ve Composer&#8217;\u0131n kendisinin XML yap\u0131land\u0131rmalar\u0131n\u0131 okumas\u0131 gerekebilir.<\/li>\n<li><code>php-mbstring<\/code>: \u00c7ok baytl\u0131 dizeleri (multi-byte strings) i\u015flemek i\u00e7in PHP eklentisi. \u00c7o\u011fu modern PHP uygulamas\u0131 ve k\u00fct\u00fcphanesi i\u00e7in \u00f6nemlidir.<\/li>\n<li><code>git<\/code>: Versiyon kontrol sistemi. Composer, paketleri genellikle Git depolar\u0131ndan \u00e7eker.<\/li>\n<li><code>curl<\/code>: Komut sat\u0131r\u0131 HTTP istemcisi. Composer y\u00fckleyicisini indirmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><code>unzip<\/code>: ZIP dosyalar\u0131n\u0131 a\u00e7mak i\u00e7in bir yard\u0131mc\u0131 program.<\/li>\n<\/ul>\n<p>Kurulum tamamland\u0131ktan sonra, PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kontrol ederek PHP CLI&#8217;nin do\u011fru \u015fekilde kuruldu\u011fundan emin olabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">php -v\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da Debian 11&#8217;in varsay\u0131lan PHP s\u00fcr\u00fcm\u00fcn\u00fc (genellikle PHP 7.4 veya daha yenisi) g\u00f6rmelisiniz.<\/p>\n<h2>Composer Kurulum Ad\u0131mlar\u0131<\/h2>\n<p>\u00d6n gereksinimleri tamamlad\u0131\u011f\u0131n\u0131za g\u00f6re, Composer&#8217;\u0131 Debian 11 sisteminize kurmaya haz\u0131rs\u0131n\u0131z. Bu ad\u0131mlar, Composer&#8217;\u0131 sistem genelinde kullan\u0131labilir hale getirecektir.<\/p>\n<h3>1. Composer Y\u00fckleyicisini \u0130ndirme<\/h3>\n<p>Composer, kendi resmi web sitesinden indirilebilen k\u00fc\u00e7\u00fck bir PHP beti\u011fi arac\u0131l\u0131\u011f\u0131yla kurulur. Bu betik, Composer&#8217;\u0131n en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc indirir ve sisteminize yerle\u015ftirir.<\/p>\n<pre><code class=\"language-bash\">curl -sS https:\/\/getcomposer.org\/installer | php\n<\/code><\/pre>\n<p>Bu komutu a\u00e7\u0131klayal\u0131m:<\/p>\n<ul>\n<li><code>curl -sS https:\/\/getcomposer.org\/installer<\/code>: Bu k\u0131s\u0131m, Composer y\u00fckleyici beti\u011fini <code>getcomposer.org<\/code> adresinden indirir.\n<ul>\n<li><code>-s<\/code> (silent): cURL&#8217;\u00fcn ilerleme \u00e7ubu\u011funu ve hata mesajlar\u0131n\u0131 g\u00f6stermemesini sa\u011flar.<\/li>\n<li><code>-S<\/code> (show-error): Sessiz modda bile bir hata olu\u015fursa cURL&#8217;\u00fcn hata mesaj\u0131n\u0131 g\u00f6stermesini sa\u011flar.<\/li>\n<\/ul>\n<\/li>\n<li><code>| php<\/code>: Bu k\u0131s\u0131m bir &#8220;pipe&#8221; (boru) operat\u00f6r\u00fcd\u00fcr. cURL&#8217;\u00fcn \u00e7\u0131kt\u0131s\u0131n\u0131 (yani indirilen PHP beti\u011fini) do\u011frudan <code>php<\/code> komutuna girdi olarak y\u00f6nlendirir. B\u00f6ylece betik, indirilip bir dosyaya kaydedilmeden do\u011frudan PHP yorumlay\u0131c\u0131s\u0131 taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/li>\n<\/ul>\n<p>Bu komutun ba\u015far\u0131yla \u00e7al\u0131\u015fmas\u0131n\u0131n ard\u0131ndan, mevcut dizininizde <code>composer.phar<\/code> ad\u0131nda bir dosya olu\u015facakt\u0131r. Bu dosya, Composer&#8217;\u0131n \u00e7al\u0131\u015ft\u0131r\u0131labilir PHAR (PHP Archive) dosyas\u0131d\u0131r.<\/p>\n<h3>2. Composer&#8217;\u0131 PATH&#8217;e Ta\u015f\u0131ma<\/h3>\n<p>\u015eu anda <code>composer.phar<\/code> sadece indirildi\u011fi dizinde \u00e7al\u0131\u015ft\u0131r\u0131labilir (\u00f6rne\u011fin, <code>php composer.phar<\/code> komutuyla). Composer&#8217;\u0131 herhangi bir dizinden sadece <code>composer<\/code> yazarak \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in, onu sisteminizin PATH de\u011fi\u015fkeninde yer alan bir dizine ta\u015f\u0131man\u0131z gerekir. En yayg\u0131n ve \u00f6nerilen konum <code>\/usr\/local\/bin<\/code> dizinidir.<\/p>\n<pre><code class=\"language-bash\">sudo mv composer.phar \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p>Bu komut:<\/p>\n<ul>\n<li><code>sudo mv<\/code>: Y\u00f6netici yetkileriyle dosyay\u0131 ta\u015f\u0131r.<\/li>\n<li><code>composer.phar<\/code>: Az \u00f6nce indirdi\u011fimiz Composer \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyas\u0131.<\/li>\n<li><code>\/usr\/local\/bin\/composer<\/code>: Dosyan\u0131n yeni konumu ve ad\u0131. Burada <code>.phar<\/code> uzant\u0131s\u0131n\u0131 kald\u0131rarak komutun daha k\u0131sa ve anla\u015f\u0131l\u0131r olmas\u0131n\u0131 sa\u011fl\u0131yoruz.<\/li>\n<\/ul>\n<p>Art\u0131k Composer, sisteminizde global olarak eri\u015filebilir olmal\u0131d\u0131r.<\/p>\n<h3>3. \u00c7al\u0131\u015ft\u0131rma \u0130zinlerini Ayarlama (Gerekliyse)<\/h3>\n<p><code>mv<\/code> komutu genellikle do\u011fru izinleri korur, ancak her ihtimale kar\u015f\u0131, Composer dosyas\u0131n\u0131n y\u00fcr\u00fctme (\u00e7al\u0131\u015ft\u0131rma) iznine sahip oldu\u011fundan emin olmak iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p><code>chmod +x<\/code> komutu, belirtilen dosyaya \u00e7al\u0131\u015ft\u0131rma izni verir.<\/p>\n<h2>Kurulumu Do\u011frulama ve Temel Kullan\u0131m<\/h2>\n<p>Composer&#8217;\u0131 ba\u015far\u0131yla kurdu\u011funuza g\u00f6re, kurulumu do\u011frulamak ve temel bir \u00f6rnekle nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 g\u00f6rmek isteyebilirsiniz.<\/p>\n<h3>Composer S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Etme<\/h3>\n<p>Herhangi bir terminal penceresinden a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak Composer&#8217;\u0131n do\u011fru \u015fekilde kuruldu\u011funu ve PATH&#8217;inizde oldu\u011funu do\u011frulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">composer --version\n<\/code><\/pre>\n<p>E\u011fer kurulum ba\u015far\u0131l\u0131ysa, Composer&#8217;\u0131n s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6steren bir \u00e7\u0131kt\u0131 almal\u0131s\u0131n\u0131z, \u00f6rne\u011fin:<\/p>\n<pre><code>Composer version 2.x.x YYYY-MM-DD HH:MM:SS\n<\/code><\/pre>\n<p>Bu \u00e7\u0131kt\u0131y\u0131 g\u00f6r\u00fcyorsan\u0131z, tebrikler! Composer Debian 11 sisteminizde ba\u015far\u0131yla kurulmu\u015ftur.<\/p>\n<h3>\u0130lk Composer Projenizi Olu\u015fturma (Monolog \u00d6rne\u011fi)<\/h3>\n<p>\u015eimdi Composer&#8217;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 pratik bir \u00f6rnekle g\u00f6relim. Pop\u00fcler bir g\u00fcnl\u00fck kayd\u0131 k\u00fct\u00fcphanesi olan Monolog&#8217;u projemize dahil edece\u011fiz.<\/p>\n<ol>\n<li><strong>Yeni bir proje dizini olu\u015fturun ve i\u00e7ine girin:<\/strong>\n<pre><code class=\"language-bash\">mkdir my-first-composer-project\ncd my-first-composer-project\n        <\/code><\/pre>\n<\/li>\n<li><strong>Monolog&#8217;u projenize ekleyin:<\/strong>\n<pre><code class=\"language-bash\">composer require monolog\/monolog\n        <\/code><\/pre>\n<p>Bu komut, Monolog k\u00fct\u00fcphanesini ve onun ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 projenize indirir. \u00c7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda \u015funlar\u0131 fark edeceksiniz:<\/p>\n<ul>\n<li><code>composer.json<\/code>: Projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlayan bir dosya olu\u015fturulur.<\/li>\n<li><code>composer.lock<\/code>: Ba\u011f\u0131ml\u0131l\u0131klar\u0131n tam s\u00fcr\u00fcmlerini kilitleyen bir dosya olu\u015fturulur.<\/li>\n<li><code>vendor\/<\/code>: T\u00fcm indirilen k\u00fct\u00fcphanelerin sakland\u0131\u011f\u0131 bir dizin olu\u015fturulur.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Basit bir PHP beti\u011fi olu\u015fturun:<\/strong>\n<p><code>index.php<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\"><?php\n\nrequire 'vendor\/autoload.php'; \/\/ Composer'\u0131n otomatik y\u00fckleyicisini dahil edin\n\nuse Monolog\\Logger;\nuse Monolog\\Handler\\StreamHandler;\n\n\/\/ Bir logger \u00f6rne\u011fi olu\u015fturun\n$log = new Logger('my_app');\n\/\/ Loglar\u0131 bir dosyaya yazmak i\u00e7in bir StreamHandler ekleyin (WARNING seviyesinden itibaren)\n$log->pushHandler(new StreamHandler('app.log', Logger::WARNING));\n\n\/\/ Log mesajlar\u0131 g\u00f6nderin\n$log->info('Bu bilgilendirici bir mesajd\u0131r.'); \/\/ Bu log dosyas\u0131na yaz\u0131lmayacak (seviye WARNING'den d\u00fc\u015f\u00fck)\n$log->warning('Bu bir uyar\u0131 mesaj\u0131d\u0131r.');\n$log->error('Bu bir hata mesaj\u0131d\u0131r!');\n\necho \"Log kay\u0131tlar\u0131 app.log dosyas\u0131na yaz\u0131ld\u0131.\\n\";\n\n?>\n        <\/code><\/pre>\n<\/li>\n<li><strong>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131n:<\/strong>\n<pre><code class=\"language-bash\">php index.php\n        <\/code><\/pre>\n<p>Komut sat\u0131r\u0131nda &#8220;Log kay\u0131tlar\u0131 app.log dosyas\u0131na yaz\u0131ld\u0131.&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. Ayr\u0131ca, projenizin k\u00f6k dizininde <code>app.log<\/code> ad\u0131nda yeni bir dosya olu\u015ftu\u011funu ve i\u00e7inde Monolog taraf\u0131ndan kaydedilen uyar\u0131 ve hata mesajlar\u0131n\u0131 i\u00e7erdi\u011fini g\u00f6receksiniz.<\/p>\n<pre><code class=\"language-bash\">cat app.log\n        <\/code><\/pre>\n<p>Bu, Composer&#8217;\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131 nas\u0131l y\u00f6netti\u011fini ve <code>vendor\/autoload.php<\/code> dosyas\u0131n\u0131n k\u00fct\u00fcphaneleri projenize nas\u0131l otomatik olarak dahil etti\u011fini g\u00f6steren temel bir \u00f6rnektir.<\/p>\n<\/ol>\n<h2>Composer&#8217;\u0131 G\u00fcncelleme ve Sorun Giderme<\/h2>\n<p>Composer&#8217;\u0131n kendisi de d\u00fczenli olarak g\u00fcncellenir ve yeni \u00f6zellikler veya hata d\u00fczeltmeleri alabilir. Ayr\u0131ca, kurulum veya kullan\u0131m s\u0131ras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz.<\/p>\n<h3>Composer&#8217;\u0131 G\u00fcncelleme<\/h3>\n<p>Composer&#8217;\u0131n en son s\u00fcr\u00fcm\u00fcne sahip olmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">composer self-update\n<\/code><\/pre>\n<p>Bu komut, Composer&#8217;\u0131n kendisini g\u00fcncelleyerek en yeni kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc indirir ve mevcut <code>composer<\/code> \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyas\u0131n\u0131n \u00fczerine yazar. En iyi performans\u0131 ve g\u00fcvenli\u011fi sa\u011flamak i\u00e7in Composer&#8217;\u0131 d\u00fczenli olarak g\u00fcncellemeniz \u00f6nerilir.<\/p>\n<h3>Yayg\u0131n Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Composer kullan\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve bunlar\u0131n \u00e7\u00f6z\u00fcmleri:<\/p>\n<ol>\n<li><strong><code>composer: command not found<\/code><\/strong>\n<p><strong>Neden:<\/strong> Composer \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyas\u0131 ya do\u011fru PATH dizinine ta\u015f\u0131nmam\u0131\u015ft\u0131r ya da PATH de\u011fi\u015fkeniniz Composer&#8217;\u0131n bulundu\u011fu dizini i\u00e7ermiyordur.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ul>\n<li><code>sudo mv composer.phar \/usr\/local\/bin\/composer<\/code> komutunu do\u011fru \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<\/li>\n<li><code>sudo chmod +x \/usr\/local\/bin\/composer<\/code> komutuyla \u00e7al\u0131\u015ft\u0131rma izni verdi\u011finizden emin olun.<\/li>\n<li>Terminal oturumunuzu yeniden ba\u015flatmay\u0131 deneyin.<\/li>\n<\/ul>\n<\/li>\n<li><strong>PHP S\u00fcr\u00fcm\u00fc veya Eksik Eklentiler<\/strong>\n<p><strong>Neden:<\/strong> Composer, projenizin veya ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z\u0131n gerektirdi\u011fi PHP s\u00fcr\u00fcm\u00fcyle veya gerekli PHP eklentileri olmadan \u00e7al\u0131\u015fmayabilir.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ul>\n<li><code>php -v<\/code> ile PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kontrol edin.<\/li>\n<li><code>php -m<\/code> ile kurulu PHP eklentilerini kontrol edin.<\/li>\n<li>Eksik eklentileri <code>sudo apt install -y php-<eklenti-ad\u0131><\/code> komutuyla kurun (\u00f6rne\u011fin, <code>php-curl<\/code>, <code>php-gd<\/code>).<\/li>\n<li>Birden fazla PHP s\u00fcr\u00fcm\u00fc kuruluysa, Composer&#8217;\u0131 belirli bir s\u00fcr\u00fcmle \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>\/usr\/bin\/php7.4 \/usr\/local\/bin\/composer install<\/code> gibi bir komut kullanman\u0131z gerekebilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Bellek Limiti Sorunlar\u0131<\/strong>\n<p><strong>Neden:<\/strong> \u00d6zellikle b\u00fcy\u00fck projelerde veya \u00e7ok say\u0131da ba\u011f\u0131ml\u0131l\u0131k i\u00e7eren durumlarda, PHP&#8217;nin bellek limiti yetersiz kalabilir.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ul>\n<li>Ge\u00e7ici olarak bellek limitini art\u0131rmak i\u00e7in: <code>php -d memory_limit=-1 \/usr\/local\/bin\/composer install<\/code> (veya <code>composer install<\/code> yerine ba\u015fka bir Composer komutu).<\/li>\n<li>Kal\u0131c\u0131 olarak art\u0131rmak i\u00e7in: PHP&#8217;nin <code>php.ini<\/code> dosyas\u0131n\u0131 d\u00fczenleyin (genellikle <code>\/etc\/php\/7.4\/cli\/php.ini<\/code> gibi bir konumda bulunur) ve <code>memory_limit<\/code> de\u011ferini art\u0131r\u0131n (\u00f6rne\u011fin, <code>memory_limit = 512M<\/code> veya <code>memory_limit = -1<\/code> s\u0131n\u0131rs\u0131z bellek i\u00e7in). De\u011fi\u015fikliklerden sonra PHP servisini yeniden ba\u015flatman\u0131z gerekebilir (e\u011fer web sunucusu i\u00e7in de ge\u00e7erliyse, CLI i\u00e7in genellikle gerekmez).<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u0130zin Sorunlar\u0131<\/strong>\n<p><strong>Neden:<\/strong> Composer&#8217;\u0131n proje dizininde dosya olu\u015fturma veya de\u011fi\u015ftirme yetkisi olmayabilir.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ul>\n<li>Proje dizininizin ve i\u00e7indeki dosyalar\u0131n do\u011fru kullan\u0131c\u0131ya ait oldu\u011fundan emin olun: <code>sudo chown -R $USER:$USER \/path\/to\/your\/project<\/code>.<\/li>\n<li>Dizin ve dosya izinlerini kontrol edin: <code>chmod -R 755 \/path\/to\/your\/project<\/code> veya <code>chmod -R 644 \/path\/to\/your\/project\/files<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu rehberde, Debian 11 sisteminizde Composer&#8217;\u0131 h\u0131zl\u0131 ve kolay bir \u015fekilde nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. PHP CLI ve gerekli eklentileri kurmaktan, Composer y\u00fckleyicisini indirmeye ve onu sistem PATH&#8217;inize ta\u015f\u0131maya kadar t\u00fcm ad\u0131mlar\u0131 tamamlad\u0131k. Ayr\u0131ca, Composer&#8217;\u0131n temel kullan\u0131m\u0131n\u0131 bir Monolog \u00f6rne\u011fiyle g\u00f6sterdik ve yayg\u0131n sorun giderme ipu\u00e7lar\u0131n\u0131 payla\u015ft\u0131k.<\/p>\n<p>Composer, modern PHP geli\u015ftirme i\u015f ak\u0131\u015f\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Onu projelerinize dahil ederek, ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini basitle\u015ftirecek, geli\u015ftirme s\u00fcrecinizi h\u0131zland\u0131racak ve daha organize, s\u00fcrd\u00fcr\u00fclebilir PHP uygulamalar\u0131 olu\u015fturabileceksiniz. Art\u0131k PHP projeleriniz i\u00e7in Composer&#8217;\u0131n g\u00fcc\u00fcnden tam anlam\u0131yla faydalanmaya haz\u0131rs\u0131n\u0131z!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>Q1: <code>composer.json<\/code> dosyas\u0131 nedir?<\/h4>\n<p><strong>A1:<\/strong> <code>composer.json<\/code>, projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve di\u011fer meta verilerini (proje ad\u0131, a\u00e7\u0131klama, yazar bilgileri vb.) tan\u0131mlayan bir JSON dosyas\u0131d\u0131r. Composer, bu dosyay\u0131 okuyarak hangi paketlerin hangi s\u00fcr\u00fcmlerinin kurulmas\u0131 gerekti\u011fini anlar.<\/p>\n<h4>Q2: <code>composer.lock<\/code> dosyas\u0131 nedir?<\/h4>\n<p><strong>A2:<\/strong> <code>composer.lock<\/code> dosyas\u0131, <code>composer.json<\/code> dosyas\u0131nda tan\u0131mlanan ba\u011f\u0131ml\u0131l\u0131klar\u0131n <em>tam<\/em> s\u00fcr\u00fcmlerini ve onlar\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n tam s\u00fcr\u00fcmlerini kilitler. Bu, projenizi farkl\u0131 ortamlarda (\u00f6rne\u011fin, geli\u015ftirme, test, \u00fcretim) kurarken her zaman ayn\u0131 ba\u011f\u0131ml\u0131l\u0131k s\u00fcr\u00fcmlerinin kullan\u0131lmas\u0131n\u0131 garanti eder, bu da tutarl\u0131l\u0131k ve hata \u00f6nleme a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<h4>Q3: <code>vendor\/<\/code> dizinini Git&#8217;e commit etmeli miyim?<\/h4>\n<p><strong>A3:<\/strong> Genellikle <code>vendor\/<\/code> dizinini Git&#8217;e commit etmeniz <em>\u00f6nerilmez<\/em>. Bunun yerine, <code>.gitignore<\/code> dosyas\u0131na <code>\/vendor<\/code> ekleyerek bu dizini versiyon kontrol\u00fcnden hari\u00e7 tutmal\u0131s\u0131n\u0131z. Projenizi klonlayan herkes, <code>composer install<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak <code>composer.lock<\/code> dosyas\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 yeniden kurabilir.<\/p>\n<h4>Q4: Composer&#8217;\u0131 kald\u0131rmak i\u00e7in ne yapmal\u0131y\u0131m?<\/h4>\n<p><strong>A4:<\/strong> Composer&#8217;\u0131 kald\u0131rmak olduk\u00e7a basittir. Sadece y\u00fckledi\u011finiz \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyay\u0131 silmeniz yeterlidir:<\/p>\n<pre><code class=\"language-bash\">sudo rm \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p>Ayr\u0131ca, projelerinizdeki <code>vendor\/<\/code> dizinlerini ve <code>composer.json<\/code>\/<code>composer.lock<\/code> dosyalar\u0131n\u0131 da manuel olarak silebilirsiniz.<\/p>\n<h4>Q5: Composer&#8217;\u0131 global olarak de\u011fil, sadece belirli bir projede kullanabilir miyim?<\/h4>\n<p><strong>A5:<\/strong> Evet, Composer&#8217;\u0131 global olarak kurmak yerine, her projeye \u00f6zel olarak indirebilirsiniz. Bunun i\u00e7in, bir projenin k\u00f6k dizininde <code>curl -sS https:\/\/getcomposer.org\/installer | php<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Bu, o dizine <code>composer.phar<\/code> dosyas\u0131n\u0131 indirecektir. Ard\u0131ndan, Composer komutlar\u0131n\u0131 <code>php composer.phar <komut><\/code> \u015feklinde \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu y\u00f6ntem, farkl\u0131 projeler i\u00e7in farkl\u0131 Composer s\u00fcr\u00fcmlerine ihtiya\u00e7 duydu\u011funuzda faydal\u0131 olabilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Giri\u015f: Composer Neden \u00d6nemli?\nModern PHP geli\u015ftirmenin kalbinde yer alan Composer, PHP projeleri i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projele","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-35195","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Giri\u015f: Composer Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Giri\u015f: Composer Neden \u00d6nemli?\" \/>\n<meta property=\"og:description\" content=\"Giri\u015f: Composer Neden \u00d6nemli? Modern PHP geli\u015ftirmenin kalbinde yer alan Composer, PHP projeleri i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projele\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T17:41:27+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Giri\u015f: Composer Neden \u00d6nemli?\",\"datePublished\":\"2025-11-26T17:41:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\"},\"wordCount\":2082,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\",\"name\":\"Giri\u015f: Composer Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-26T17:41:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Giri\u015f: Composer Neden \u00d6nemli?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Giri\u015f: Composer Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/","og_locale":"tr_TR","og_type":"article","og_title":"Giri\u015f: Composer Neden \u00d6nemli?","og_description":"Giri\u015f: Composer Neden \u00d6nemli? Modern PHP geli\u015ftirmenin kalbinde yer alan Composer, PHP projeleri i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projele","og_url":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-26T17:41:27+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Giri\u015f: Composer Neden \u00d6nemli?","datePublished":"2025-11-26T17:41:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/"},"wordCount":2082,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/","url":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/","name":"Giri\u015f: Composer Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-26T17:41:27+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/giris-composer-neden-onemli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Giri\u015f: Composer Neden \u00d6nemli?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35195"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35195\/revisions"}],"predecessor-version":[{"id":35196,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35195\/revisions\/35196"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}