{"id":35902,"date":"2025-12-05T09:41:16","date_gmt":"2025-12-05T06:41:16","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35902"},"modified":"2025-12-05T09:41:16","modified_gmt":"2025-12-05T06:41:16","slug":"composer-nedir-ve-neden-onemlidir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/","title":{"rendered":"Composer Nedir ve Neden \u00d6nemlidir?"},"content":{"rendered":"<p><body><\/p>\n<p>Composer, PHP projeleri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini k\u00f6kten de\u011fi\u015ftiren g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Projelerinizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphaneleri ve paketleri kolayca bildirmenize, kurman\u0131za ve g\u00fcncellemenize olanak tan\u0131r. Bu rehberde, Ubuntu 20.04 i\u015fletim sisteminde Composer&#8217;\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve temel kullan\u0131m\u0131n\u0131 \u00f6\u011freneceksiniz.<\/p>\n<h2>Composer Nedir ve Neden \u00d6nemlidir?<\/h2>\n<p>Composer, PHP i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projenizin \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan t\u00fcm k\u00fct\u00fcphaneleri (ba\u011f\u0131ml\u0131l\u0131klar\u0131) belirtmenizi ve bu k\u00fct\u00fcphanelerin y\u00f6netilmesini sa\u011flar. Bir projenin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 manuel olarak y\u00f6netmek karma\u015f\u0131k ve hata yapmaya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Composer bu s\u00fcreci otomatikle\u015ftirerek geli\u015ftiricilerin i\u015fini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Composer&#8217;\u0131n sa\u011flad\u0131\u011f\u0131 temel faydalar \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Projenizin ihtiya\u00e7 duydu\u011fu t\u00fcm k\u00fct\u00fcphaneleri (\u00f6rne\u011fin, bir veritaban\u0131 soyutlama katman\u0131, bir test \u00e7er\u00e7evesi veya bir tarih k\u00fct\u00fcphanesi) tek bir yerden tan\u0131mlaman\u0131z\u0131 ve y\u00f6netmenizi sa\u011flar.<\/li>\n<li><strong>Kolay Kurulum:<\/strong> Belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve bunlar\u0131n kendi ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik olarak indirip kurar.<\/li>\n<li><strong>Otomatik Y\u00fckleme (Autoloading):<\/strong> Ba\u011f\u0131ml\u0131l\u0131k olarak ekledi\u011finiz s\u0131n\u0131flar\u0131 projenizde kullanmak i\u00e7in manuel <code>require<\/code> veya <code>include<\/code> ifadeleri yazman\u0131za gerek kalmaz. Composer, PSR-4 gibi standartlara uygun otomatik y\u00fckleme mekanizmalar\u0131 olu\u015fturur.<\/li>\n<li><strong>S\u00fcr\u00fcm Kontrol\u00fc:<\/strong> K\u00fct\u00fcphanelerin belirli s\u00fcr\u00fcmlerini veya s\u00fcr\u00fcm aral\u0131klar\u0131n\u0131 kullanman\u0131za olanak tan\u0131r, b\u00f6ylece projenizin beklenmeyen de\u011fi\u015fikliklerden etkilenmesini \u00f6nler.<\/li>\n<li><strong>Geli\u015ftirme S\u00fcrecini H\u0131zland\u0131rma:<\/strong> Haz\u0131r k\u00fct\u00fcphaneler kullanarak tekerle\u011fi yeniden icat etmek yerine, uygulaman\u0131z\u0131n temel mant\u0131\u011f\u0131na odaklanman\u0131z\u0131 sa\u011flar.<\/li>\n<\/ul>\n<p>Ubuntu 20.04, PHP geli\u015ftirme i\u00e7in yayg\u0131n olarak kullan\u0131lan bir platformdur ve Composer, bu ortamda PHP projeleri geli\u015ftiren herkes i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/p>\n<h2>Composer Kurulumu \u00d6ncesi Haz\u0131rl\u0131klar<\/h2>\n<p>Composer&#8217;\u0131 sisteminize kurmadan \u00f6nce, baz\u0131 temel yaz\u0131l\u0131mlar\u0131n kurulu oldu\u011fundan emin olman\u0131z gerekir. Bu ad\u0131mlar, Composer&#8217;\u0131n do\u011fru \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli ortam\u0131 haz\u0131rlar.<\/p>\n<h3>PHP ve Gerekli Uzant\u0131lar\u0131n Kurulumu<\/h3>\n<p>Composer bir PHP uygulamas\u0131 oldu\u011fu i\u00e7in, sisteminizde PHP&#8217;nin kurulu olmas\u0131 ve Composer&#8217;\u0131n ihtiya\u00e7 duydu\u011fu baz\u0131 PHP uzant\u0131lar\u0131na sahip olmas\u0131 gerekir. Ubuntu 20.04&#8217;te PHP varsay\u0131lan olarak y\u00fckl\u00fc gelmeyebilir veya gerekli uzant\u0131lar eksik olabilir.<\/p>\n<p>\u0130lk olarak, sisteminizin paket listesini g\u00fcncelleyelim:<\/p>\n<pre><code class=\"bash\">sudo apt update\n<\/code><\/pre>\n<p>\u015eimdi PHP CLI (Komut Sat\u0131r\u0131 Aray\u00fcz\u00fc) ve Composer&#8217;\u0131n genellikle ihtiya\u00e7 duydu\u011fu temel uzant\u0131lar\u0131 kural\u0131m. Ubuntu 20.04 i\u00e7in PHP 7.4 varsay\u0131lan olarak mevcuttur. Composer genellikle PHP 7.2 veya daha y\u00fcksek bir s\u00fcr\u00fcm gerektirir.<\/p>\n<pre><code class=\"bash\">sudo apt install php-cli php-zip php-json php-mbstring php-curl php-xml php-dom -y\n<\/code><\/pre>\n<ul>\n<li><code>php-cli<\/code>: PHP komut sat\u0131r\u0131 aray\u00fcz\u00fcn\u00fc sa\u011flar.<\/li>\n<li><code>php-zip<\/code>: Zip dosyalar\u0131n\u0131 i\u015flemek i\u00e7in gereklidir.<\/li>\n<li><code>php-json<\/code>: JSON verilerini i\u015flemek i\u00e7in gereklidir.<\/li>\n<li><code>php-mbstring<\/code>: \u00c7ok baytl\u0131 dizeleri i\u015flemek i\u00e7in gereklidir.<\/li>\n<li><code>php-curl<\/code>: HTTP istekleri yapmak i\u00e7in kullan\u0131l\u0131r (Composer, paketleri indirmek i\u00e7in bunu kullan\u0131r).<\/li>\n<li><code>php-xml<\/code> ve <code>php-dom<\/code>: XML ve DOM manip\u00fclasyonlar\u0131 i\u00e7in baz\u0131 paketler taraf\u0131ndan gerekebilir.<\/li>\n<\/ul>\n<p>PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kontrol ederek kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulayabilirsiniz:<\/p>\n<pre><code class=\"bash\">php -v\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 olarak PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc g\u00f6rmelisiniz, \u00f6rne\u011fin:<\/p>\n<pre><code class=\"text\">PHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS )\nCopyright (c) The PHP Group\nZend Engine v3.4.0, Copyright (c) Zend Technologies\n    with Zend OPcache v7.4.3, Copyright (c) Zend Technologies\n<\/code><\/pre>\n<h3>Gerekli Yard\u0131mc\u0131 Ara\u00e7lar\u0131n Kurulumu<\/h3>\n<p>Composer kurulumu i\u00e7in <code>wget<\/code> ve <code>unzip<\/code> gibi baz\u0131 temel ara\u00e7lara ihtiyac\u0131m\u0131z olacak. \u00c7o\u011fu Ubuntu sisteminde bunlar zaten y\u00fckl\u00fc olabilir, ancak emin olmak i\u00e7in kurabiliriz:<\/p>\n<pre><code class=\"bash\">sudo apt install wget unzip -y\n<\/code><\/pre>\n<ul>\n<li><code>wget<\/code>: \u0130nternetten dosya indirmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><code>unzip<\/code>: S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyalar\u0131 a\u00e7mak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<h2>Composer&#8217;\u0131 Y\u00fckleme<\/h2>\n<p>T\u00fcm \u00f6n haz\u0131rl\u0131klar\u0131 tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, \u015fimdi Composer&#8217;\u0131 sistemimize y\u00fcklemeye ba\u015flayabiliriz. Resmi ve g\u00fcvenli y\u00f6ntem, Composer&#8217;\u0131n kendi kurulum beti\u011fini kullanmakt\u0131r.<\/p>\n<h3>1. Composer Kurulum Dosyas\u0131n\u0131 \u0130ndirme<\/h3>\n<p>Composer&#8217;\u0131n resmi web sitesinden kurulum beti\u011fini indirece\u011fiz. Bu betik, Composer&#8217;\u0131n kendisini (<code>composer.phar<\/code>) indirecektir.<\/p>\n<pre><code class=\"bash\">php -r \"copy('https:\/\/getcomposer.org\/installer', 'composer-setup.php');\"\n<\/code><\/pre>\n<p>Bu komut, <code>composer-setup.php<\/code> ad\u0131nda k\u00fc\u00e7\u00fck bir PHP dosyas\u0131n\u0131 mevcut dizininize indirir.<\/p>\n<h3>2. Kurulum Dosyas\u0131n\u0131 Do\u011frulama (G\u00fcvenlik \u0130\u00e7in \u00d6nemli!)<\/h3>\n<p>\u0130ndirdi\u011finiz kurulum dosyas\u0131n\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini do\u011frulamak \u00e7ok \u00f6nemlidir. Composer, bunu SHA-384 karma de\u011feri ile yapman\u0131z\u0131 \u00f6nerir. Bu, indirilen dosyan\u0131n yolculuk s\u0131ras\u0131nda de\u011fi\u015ftirilmedi\u011finden veya bozulmad\u0131\u011f\u0131ndan emin olman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Composer&#8217;\u0131n resmi web sitesinden (<code>https:\/\/getcomposer.org\/download\/<\/code>) g\u00fcncel SHA-384 karma de\u011ferini alman\u0131z gerekmektedir. A\u015fa\u011f\u0131daki komutta yer alan karma de\u011feri g\u00fcncel olmayabilir, bu nedenle l\u00fctfen resmi siteden en son de\u011feri kontrol edin.<\/p>\n<pre><code class=\"bash\">php -r \"if (hash_file('sha384', 'composer-setup.php') === 'HASH_DE\u011eER\u0130N\u0130_BURAYA_YAPI\u015eTIRIN') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;\"\n<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> Yukar\u0131daki <code>HASH_DE\u011eER\u0130N\u0130_BURAYA_YAPI\u015eTIRIN<\/code> k\u0131sm\u0131n\u0131, <a href=\"https:\/\/getcomposer.org\/download\/\" target=\"_blank\">Composer \u0130ndirme Sayfas\u0131<\/a>&#8216;ndan alaca\u011f\u0131n\u0131z g\u00fcncel SHA-384 karma de\u011feri ile de\u011fi\u015ftirmeniz gerekmektedir.<\/p>\n<p>E\u011fer do\u011frulama ba\u015far\u0131l\u0131 olursa, &#8220;Installer verified&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. Aksi takdirde, dosya bozuk demektir ve silinir. Bu durumda indirme i\u015flemini tekrarlaman\u0131z gerekebilir.<\/p>\n<h3>3. Composer&#8217;\u0131 Kurma<\/h3>\n<p>Do\u011frulama ba\u015far\u0131l\u0131 olduktan sonra, kurulum beti\u011fini \u00e7al\u0131\u015ft\u0131rarak Composer&#8217;\u0131 kurabiliriz:<\/p>\n<pre><code class=\"bash\">php composer-setup.php\n<\/code><\/pre>\n<p>Bu komut, ge\u00e7erli dizininize <code>composer.phar<\/code> ad\u0131nda bir dosya indirir. Bu dosya, Composer&#8217;\u0131n kendisidir.<\/p>\n<h3>4. Kurulum Dosyas\u0131n\u0131 Temizleme<\/h3>\n<p>Composer&#8217;\u0131n kendisi indirildikten sonra, kurulum beti\u011fine art\u0131k ihtiyac\u0131m\u0131z kalmaz:<\/p>\n<pre><code class=\"bash\">php -r \"unlink('composer-setup.php');\"\n<\/code><\/pre>\n<h3>5. Composer&#8217;\u0131 Global Olarak Eri\u015filebilir Hale Getirme<\/h3>\n<p>\u015eu anda <code>composer.phar<\/code> yaln\u0131zca mevcut dizininizde \u00e7al\u0131\u015f\u0131r. Her yerden eri\u015febilmek i\u00e7in, onu sistem PATH&#8217;inizdeki bir dizine ta\u015f\u0131mam\u0131z gerekir. Genellikle <code>\/usr\/local\/bin<\/code> tercih edilir.<\/p>\n<pre><code class=\"bash\">sudo mv composer.phar \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p>Bu komut, <code>composer.phar<\/code> dosyas\u0131n\u0131 <code>\/usr\/local\/bin\/composer<\/code> olarak yeniden adland\u0131r\u0131r ve ta\u015f\u0131r. Art\u0131k sadece <code>composer<\/code> yazarak \u00e7al\u0131\u015ft\u0131rabileceksiniz.<\/p>\n<h3>6. \u00c7al\u0131\u015ft\u0131rma \u0130zinlerini Ayarlama<\/h3>\n<p>Ta\u015f\u0131d\u0131\u011f\u0131n\u0131z dosyaya \u00e7al\u0131\u015ft\u0131rma izni vermeniz gerekir:<\/p>\n<pre><code class=\"bash\">sudo chmod +x \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<h3>7. Kurulumu Do\u011frulama<\/h3>\n<p>Her \u015feyin yolunda gidip gitmedi\u011fini kontrol etmek i\u00e7in Composer s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz:<\/p>\n<pre><code class=\"bash\">composer --version\n<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir kurulumun ard\u0131ndan, Composer s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6rmelisiniz:<\/p>\n<pre><code class=\"text\">Composer version 2.x.x 202x-xx-xx xx:xx:xx\n<\/code><\/pre>\n<h2>Composer&#8217;\u0131 Kullanma<\/h2>\n<p>Composer ba\u015far\u0131yla kurulduktan sonra, PHP projelerinizde ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netmeye ba\u015flayabilirsiniz. \u0130\u015fte baz\u0131 temel Composer komutlar\u0131 ve kullan\u0131m senaryolar\u0131:<\/p>\n<h3>Yeni Bir Proje Ba\u015flatma (composer init)<\/h3>\n<p>Yeni bir PHP projesi ba\u015flatt\u0131\u011f\u0131n\u0131zda, Composer&#8217;\u0131 projenize entegre etmek i\u00e7in <code>composer init<\/code> komutunu kullanabilirsiniz. Bu komut, projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlayan <code>composer.json<\/code> dosyas\u0131n\u0131 etkile\u015fimli olarak olu\u015fturman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"bash\">mkdir my_php_project\ncd my_php_project\ncomposer init\n<\/code><\/pre>\n<p>Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra size proje ad\u0131, a\u00e7\u0131klamas\u0131, yazar, kararl\u0131 s\u00fcr\u00fcm minimumu gibi sorular sorulacakt\u0131r. \u00c7o\u011fu soruyu varsay\u0131lan de\u011ferlerle ge\u00e7ebilir veya kendi bilgilerinizi girebilirsiniz. Bu i\u015flem sonucunda, projenizin k\u00f6k dizininde bir <code>composer.json<\/code> dosyas\u0131 olu\u015facakt\u0131r.<\/p>\n<pre><code class=\"json\">{\n    \"name\": \"vendor\/my_php_project\",\n    \"description\": \"My first PHP project with Composer\",\n    \"type\": \"project\",\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Your Name\",\n            \"email\": \"your@email.com\"\n        }\n    ],\n    \"require\": {}\n}\n<\/code><\/pre>\n<h3>Ba\u011f\u0131ml\u0131l\u0131k Ekleme (composer require)<\/h3>\n<p>Projenize yeni bir k\u00fct\u00fcphane eklemek istedi\u011finizde <code>composer require<\/code> komutunu kullan\u0131rs\u0131n\u0131z. \u00d6rne\u011fin, pop\u00fcler Monolog loglama k\u00fct\u00fcphanesini ekleyelim:<\/p>\n<pre><code class=\"bash\">composer require monolog\/monolog\n<\/code><\/pre>\n<p>Bu komut \u015funlar\u0131 yapar:<\/p>\n<ul>\n<li><code>monolog\/monolog<\/code> paketini ve onun t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 indirir.<\/li>\n<li>Projenizin k\u00f6k dizininde <code>vendor\/<\/code> ad\u0131nda bir dizin olu\u015fturur ve indirilen t\u00fcm k\u00fct\u00fcphaneleri buraya yerle\u015ftirir.<\/li>\n<li><code>composer.json<\/code> dosyas\u0131n\u0131 g\u00fcnceller, b\u00f6ylece Monolog ba\u011f\u0131ml\u0131l\u0131klar listesine eklenir.<\/li>\n<li><code>composer.lock<\/code> dosyas\u0131n\u0131 olu\u015fturur veya g\u00fcnceller. Bu dosya, indirilen her paketin tam s\u00fcr\u00fcm\u00fcn\u00fc ve karma de\u011ferini kilitler, b\u00f6ylece di\u011fer geli\u015ftiriciler veya da\u011f\u0131t\u0131m ortamlar\u0131 da tam olarak ayn\u0131 paket s\u00fcr\u00fcmlerini kurar.<\/li>\n<\/ul>\n<h3>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme (composer install)<\/h3>\n<p>Bir projeyi (\u00f6rne\u011fin Git&#8217;ten klonlad\u0131ktan sonra) ilk kez kurdu\u011funuzda veya <code>composer.json<\/code> dosyas\u0131nda tan\u0131ml\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklemek istedi\u011finizde <code>composer install<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code class=\"bash\">composer install\n<\/code><\/pre>\n<p>Bu komut, <code>composer.lock<\/code> dosyas\u0131n\u0131 kontrol eder ve bu dosyada belirtilen tam s\u00fcr\u00fcmleri indirip kurar. E\u011fer <code>composer.lock<\/code> dosyas\u0131 yoksa, <code>composer.json<\/code> dosyas\u0131na g\u00f6re ba\u011f\u0131ml\u0131l\u0131klar\u0131 \u00e7\u00f6zer, indirir ve bir <code>composer.lock<\/code> dosyas\u0131 olu\u015fturur.<\/p>\n<h3>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 G\u00fcncelleme (composer update)<\/h3>\n<p><code>composer.json<\/code> dosyas\u0131nda belirtilen s\u00fcr\u00fcm k\u0131s\u0131tlamalar\u0131na uygun olarak ba\u011f\u0131ml\u0131l\u0131klar\u0131 en son kararl\u0131 s\u00fcr\u00fcmlerine g\u00fcncellemek i\u00e7in <code>composer update<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code class=\"bash\">composer update\n<\/code><\/pre>\n<p>Belirli bir paketi g\u00fcncellemek isterseniz:<\/p>\n<pre><code class=\"bash\">composer update monolog\/monolog\n<\/code><\/pre>\n<p>Bu komut, <code>composer.json<\/code> dosyas\u0131n\u0131 dikkate alarak paketlerin yeni s\u00fcr\u00fcmlerini indirir ve <code>composer.lock<\/code> dosyas\u0131n\u0131 g\u00fcnceller.<\/p>\n<h3>Otomatik Y\u00fckleme (Autoloading)<\/h3>\n<p>Composer&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri otomatik y\u00fckleme yetene\u011fidir. <code>composer install<\/code> veya <code>composer update<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Composer otomatik olarak <code>vendor\/autoload.php<\/code> ad\u0131nda bir dosya olu\u015fturur. Bu dosyay\u0131 projenizin ba\u015flang\u0131\u00e7 noktas\u0131nda dahil ederek, Composer taraf\u0131ndan y\u00f6netilen t\u00fcm k\u00fct\u00fcphanelerdeki s\u0131n\u0131flar\u0131 manuel olarak <code>require<\/code> etmeden kullanabilirsiniz.<\/p>\n<pre><code class=\"php\">\/\/ index.php veya uygulaman\u0131z\u0131n ana giri\u015f noktas\u0131\nrequire __DIR__ . '\/vendor\/autoload.php';\n\n\/\/ Art\u0131k Monolog gibi Composer ile y\u00fcklenen k\u00fct\u00fcphaneleri kullanabilirsiniz\nuse Monolog\\Logger;\nuse Monolog\\Handler\\StreamHandler;\n\n$log = new Logger('my_app');\n$log->pushHandler(new StreamHandler('app.log', Logger::WARNING));\n\n$log->warning('Bu bir uyar\u0131 mesaj\u0131d\u0131r!');\n$log->error('Bu bir hata mesaj\u0131d\u0131r!');\n<\/code><\/pre>\n<p>Kendi s\u0131n\u0131flar\u0131n\u0131z\u0131 da otomatik y\u00fcklemeye dahil etmek i\u00e7in <code>composer.json<\/code> dosyan\u0131z\u0131n <code>autoload<\/code> b\u00f6l\u00fcm\u00fcn\u00fc d\u00fczenleyebilirsiniz. \u00d6rne\u011fin, <code>src\/<\/code> dizinindeki t\u00fcm s\u0131n\u0131flar\u0131n\u0131z\u0131 PSR-4 standard\u0131na g\u00f6re y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"json\">{\n    \"name\": \"vendor\/my_php_project\",\n    \"description\": \"My first PHP project with Composer\",\n    \"type\": \"project\",\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Your Name\",\n            \"email\": \"your@email.com\"\n        }\n    ],\n    \"require\": {\n        \"monolog\/monolog\": \"^2.0\"\n    },\n    \"autoload\": {\n        \"psr-4\": {\n            \"MyApp\\\\\": \"src\/\"\n        }\n    }\n}\n<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fi yapt\u0131ktan sonra, otomatik y\u00fckleme yap\u0131land\u0131rmas\u0131n\u0131 yeniden olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir:<\/p>\n<pre><code class=\"bash\">composer dump-autoload\n<\/code><\/pre>\n<p>Art\u0131k <code>src\/<\/code> dizininde <code>MyApp<\/code> namespace&#8217;i alt\u0131ndaki s\u0131n\u0131flar\u0131n\u0131z\u0131 kullanabilirsiniz.<\/p>\n<h3>Di\u011fer Faydal\u0131 Komutlar<\/h3>\n<ul>\n<li><code>composer self-update<\/code>: Composer&#8217;\u0131n kendisini en son s\u00fcr\u00fcme g\u00fcnceller.<\/li>\n<li><code>composer remove vendor\/package<\/code>: Bir paketi ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131zdan kald\u0131r\u0131r ve <code>composer.json<\/code> ile <code>composer.lock<\/code> dosyalar\u0131n\u0131 g\u00fcnceller.<\/li>\n<li><code>composer validate<\/code>: <code>composer.json<\/code> dosyan\u0131z\u0131n s\u00f6zdizimi ve yap\u0131sal olarak do\u011fru olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<\/li>\n<li><code>composer clear-cache<\/code>: Composer&#8217;\u0131n indirdi\u011fi paketlerin \u00f6nbelle\u011fini temizler.<\/li>\n<\/ul>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Composer, modern PHP geli\u015ftirme d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Bu rehberde, Ubuntu 20.04 \u00fczerinde Composer&#8217;\u0131 ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve temel komutlar\u0131n\u0131 kullanarak projelerinizde ba\u011f\u0131ml\u0131l\u0131klar\u0131 nas\u0131l y\u00f6netece\u011finizi \u00f6\u011frendiniz. Composer sayesinde, PHP projelerinizde k\u00fct\u00fcphane y\u00f6netimini kolayla\u015ft\u0131rabilir, geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131rabilir ve daha d\u00fczenli, s\u00fcrd\u00fcr\u00fclebilir uygulamalar olu\u015fturabilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Composer&#8217;\u0131 neden global olarak kurmal\u0131y\u0131m?<\/h4>\n<p>Composer&#8217;\u0131 global olarak kurmak (yani <code>\/usr\/local\/bin\/composer<\/code> konumuna ta\u015f\u0131mak), onu sisteminizdeki herhangi bir dizinden do\u011frudan <code>composer<\/code> komutuyla \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. Aksi takdirde, her projede <code>php composer.phar<\/code> \u015feklinde \u00e7al\u0131\u015ft\u0131rman\u0131z gerekirdi, bu da daha az pratik olurdu.<\/p>\n<h4>2. <code>composer.json<\/code> ve <code>composer.lock<\/code> aras\u0131ndaki fark nedir?<\/h4>\n<ul>\n<li><strong><code>composer.json<\/code>:<\/strong> Projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve di\u011fer meta verilerini tan\u0131mlayan ana dosyad\u0131r. Hangi paketlere ihtiya\u00e7 duydu\u011funuzu ve hangi s\u00fcr\u00fcm k\u0131s\u0131tlamalar\u0131n\u0131 (\u00f6rne\u011fin, <code>^1.0<\/code>) istedi\u011finizi belirtir. Bu dosya, bir projenin &#8220;istek listesi&#8221; gibidir.<\/li>\n<li><strong><code>composer.lock<\/code>:<\/strong> <code>composer install<\/code> veya <code>composer update<\/code> \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda otomatik olarak olu\u015fturulur. Bu dosya, ba\u011f\u0131ml\u0131l\u0131klar\u0131n tam olarak hangi s\u00fcr\u00fcmlerinin (ve bunlar\u0131n karma de\u011ferlerinin) y\u00fcklendi\u011fini kaydeder. Bu, farkl\u0131 geli\u015ftiricilerin veya da\u011f\u0131t\u0131m ortamlar\u0131n\u0131n tam olarak ayn\u0131 ba\u011f\u0131ml\u0131l\u0131k setini kurmas\u0131n\u0131 garanti eder. Bu dosya, bir projenin &#8220;ger\u00e7ekle\u015fen ba\u011f\u0131ml\u0131l\u0131k durumu&#8221; gibidir ve Git gibi s\u00fcr\u00fcm kontrol sistemlerine dahil edilmelidir.<\/li>\n<\/ul>\n<h4>3. Composer&#8217;\u0131 nas\u0131l g\u00fcncellerim?<\/h4>\n<p>Composer&#8217;\u0131n kendisini en son s\u00fcr\u00fcme g\u00fcncellemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"bash\">composer self-update\n<\/code><\/pre>\n<h4>4. Bir Composer paketini nas\u0131l kald\u0131r\u0131r\u0131m?<\/h4>\n<p>Bir paketi projenizden kald\u0131rmak i\u00e7in <code>composer remove<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"bash\">composer remove vendor\/package-name\n<\/code><\/pre>\n<p>\u00d6rne\u011fin, Monolog&#8217;u kald\u0131rmak i\u00e7in: <code>composer remove monolog\/monolog<\/code>.<\/p>\n<h4>5. PHP s\u00fcr\u00fcm\u00fcm eski, Composer \u00e7al\u0131\u015fm\u0131yor. Ne yapmal\u0131y\u0131m?<\/h4>\n<p>Composer&#8217;\u0131n \u00e7o\u011fu modern s\u00fcr\u00fcm\u00fc en az PHP 7.2 veya daha y\u00fcksek bir s\u00fcr\u00fcm gerektirir. E\u011fer PHP s\u00fcr\u00fcm\u00fcn\u00fcz eskiyse, Composer&#8217;\u0131 kullanamayabilirsiniz. \u00c7\u00f6z\u00fcm, PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc y\u00fckseltmektir. Ubuntu 20.04 i\u00e7in PHP 7.4 varsay\u0131lan olarak gelir. E\u011fer daha yeni bir PHP s\u00fcr\u00fcm\u00fcne (\u00f6rne\u011fin PHP 8.x) ihtiyac\u0131n\u0131z varsa, PPA (Personal Package Archive) gibi \u00fc\u00e7\u00fcnc\u00fc taraf depolar\u0131 kullanman\u0131z gerekebilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Composer, PHP projeleri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini k\u00f6kten de\u011fi\u015ftiren g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Projelerinizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphanele","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-35902","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>Composer Nedir ve Neden \u00d6nemlidir? - 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\/composer-nedir-ve-neden-onemlidir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Composer Nedir ve Neden \u00d6nemlidir?\" \/>\n<meta property=\"og:description\" content=\"Composer, PHP projeleri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini k\u00f6kten de\u011fi\u015ftiren g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Projelerinizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphanele\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-05T06:41:16+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=\"12 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Composer Nedir ve Neden \u00d6nemlidir?\",\"datePublished\":\"2025-12-05T06:41:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\"},\"wordCount\":1974,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\",\"name\":\"Composer Nedir ve Neden \u00d6nemlidir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-05T06:41:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Composer Nedir ve Neden \u00d6nemlidir?\"}]},{\"@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":"Composer Nedir ve Neden \u00d6nemlidir? - 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\/composer-nedir-ve-neden-onemlidir\/","og_locale":"tr_TR","og_type":"article","og_title":"Composer Nedir ve Neden \u00d6nemlidir?","og_description":"Composer, PHP projeleri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini k\u00f6kten de\u011fi\u015ftiren g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Projelerinizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphanele","og_url":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-05T06:41:16+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"12 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Composer Nedir ve Neden \u00d6nemlidir?","datePublished":"2025-12-05T06:41:16+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/"},"wordCount":1974,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/","url":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/","name":"Composer Nedir ve Neden \u00d6nemlidir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-05T06:41:16+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-onemlidir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Composer Nedir ve Neden \u00d6nemlidir?"}]},{"@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\/35902","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=35902"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35902\/revisions"}],"predecessor-version":[{"id":35903,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35902\/revisions\/35903"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}