{"id":41582,"date":"2026-05-05T08:01:23","date_gmt":"2026-05-05T05:01:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41582"},"modified":"2026-05-05T08:01:23","modified_gmt":"2026-05-05T05:01:23","slug":"composer-nedir-ve-neden-kullanmaliyiz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/","title":{"rendered":"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?"},"content":{"rendered":"<p><body><\/p>\n<p>PHP geli\u015ftiricileri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, modern yaz\u0131l\u0131m geli\u015ftirmenin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. Composer, PHP projelerinizdeki k\u00fct\u00fcphaneleri ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netmek i\u00e7in standart bir ara\u00e7 haline gelmi\u015ftir. Bu rehberde, Debian 11 i\u015fletim sistemi \u00fczerinde Composer&#8217;\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel kullan\u0131m\u0131n\u0131 ve etkili bir \u015fekilde kullanmak i\u00e7in pratik ipu\u00e7lar\u0131n\u0131 ayr\u0131nt\u0131l\u0131 olarak ele alaca\u011f\u0131z.<\/p>\n<h2>Composer Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h2>\n<p>Composer, PHP i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projenizin ihtiya\u00e7 duydu\u011fu t\u00fcm k\u00fct\u00fcphaneleri (ba\u011f\u0131ml\u0131l\u0131klar\u0131) belirtmenize olanak tan\u0131r ve bunlar\u0131 sizin i\u00e7in y\u00f6netir. Ba\u015fka bir deyi\u015fle, Composer, bir projenin hangi di\u011fer k\u00fct\u00fcphanelere ba\u011fl\u0131 oldu\u011funu ve bunlar\u0131n hangi versiyonlar\u0131n\u0131n gerekti\u011fini tan\u0131mlayan bir ara\u00e7t\u0131r. Bu, a\u015fa\u011f\u0131daki nedenlerle son derece \u00f6nemlidir:<\/p>\n<ul>\n<li><strong>Kolay Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Projenizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphaneleri manuel olarak indirmek, y\u00f6netmek ve g\u00fcncellemek yerine, Composer bu s\u00fcreci otomatikle\u015ftirir.<\/li>\n<li><strong>Tutarl\u0131 Geli\u015ftirme Ortamlar\u0131:<\/strong> Projenizi farkl\u0131 geli\u015ftiricilerle veya sunucularla payla\u015ft\u0131\u011f\u0131n\u0131zda, Composer herkesin ayn\u0131 k\u00fct\u00fcphane versiyonlar\u0131na sahip olmas\u0131n\u0131 sa\u011flar, bu da &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yordu&#8221; sorunlar\u0131n\u0131 azalt\u0131r.<\/li>\n<li><strong>Otomatik Y\u00fckleme (Autoloading):<\/strong> Composer, projenizdeki ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131zdaki s\u0131n\u0131flar\u0131 otomatik olarak y\u00fcklemek i\u00e7in bir otoload mekanizmas\u0131 olu\u015fturur, bu da <code>require<\/code> veya <code>include<\/code> ifadelerini manuel olarak yazma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r.<\/li>\n<li><strong>Geni\u015f K\u00fct\u00fcphane Ekosistemi:<\/strong> Packagist.org, Composer i\u00e7in ana paket deposudur ve binlerce a\u00e7\u0131k kaynak PHP k\u00fct\u00fcphanesine eri\u015fim sa\u011flar.<\/li>\n<\/ul>\n<h2>Composer Kurulumu<\/h2>\n<p>Composer&#8217;\u0131 Debian 11 sisteminize kurmadan \u00f6nce baz\u0131 \u00f6n ko\u015fullar\u0131 yerine getirmeniz gerekmektedir.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Composer&#8217;\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in PHP ve baz\u0131 PHP uzant\u0131lar\u0131n\u0131n y\u00fckl\u00fc olmas\u0131 gerekir. Ayr\u0131ca, indirme i\u015flemleri i\u00e7in <code>wget<\/code> ve ar\u015fivleri a\u00e7mak i\u00e7in <code>unzip<\/code> gibi temel ara\u00e7lara da ihtiyac\u0131n\u0131z olacakt\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komut ile gerekli t\u00fcm paketleri kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install php-cli php-mbstring php-xml php-zip php-json git wget unzip -y\n<\/code><\/pre>\n<ul>\n<li><code>php-cli<\/code>: Komut sat\u0131r\u0131ndan PHP \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gereklidir. Composer bir PHP uygulamas\u0131 oldu\u011fu i\u00e7in buna ihtiyac\u0131 vard\u0131r.<\/li>\n<li><code>php-mbstring<\/code>: \u00c7ok baytl\u0131 dizelerle \u00e7al\u0131\u015fmak i\u00e7in.<\/li>\n<li><code>php-xml<\/code>: XML verileriyle \u00e7al\u0131\u015fmak i\u00e7in.<\/li>\n<li><code>php-zip<\/code>: Zip ar\u015fivleriyle \u00e7al\u0131\u015fmak i\u00e7in.<\/li>\n<li><code>php-json<\/code>: JSON verileriyle \u00e7al\u0131\u015fmak i\u00e7in.<\/li>\n<li><code>git<\/code>: Baz\u0131 paketler Git depolar\u0131ndan indirilebilir.<\/li>\n<li><code>wget<\/code>: Composer kurulum beti\u011fini indirmek i\u00e7in.<\/li>\n<li><code>unzip<\/code>: \u0130ndirilen ar\u015fivleri a\u00e7mak i\u00e7in.<\/li>\n<\/ul>\n<p>PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">php -v\n<\/code><\/pre>\n<p>Debian 11 genellikle PHP 7.4 veya daha yeni bir s\u00fcr\u00fcmle gelir, bu da Composer i\u00e7in yeterlidir.<\/p>\n<h3>Composer&#8217;\u0131 \u0130ndirme ve Kurma (Global Kurulum)<\/h3>\n<p>Composer&#8217;\u0131 sisteminizde global olarak kurmak, onu herhangi bir dizinden do\u011frudan <code>composer<\/code> komutuyla \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. Bu, en yayg\u0131n ve \u00f6nerilen y\u00f6ntemdir.<\/p>\n<ol>\n<li>\n<p><strong>Composer Y\u00fckleyicisini \u0130ndirin:<\/strong><\/p>\n<p>Composer&#8217;\u0131n resmi web sitesinden y\u00fckleyici beti\u011fini indirin. Bu betik, Composer&#8217;\u0131n en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc indirecek ve kuracakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">cd ~\nphp -r \"copy('https:\/\/getcomposer.org\/installer', 'composer-setup.php');\"\n<\/code><\/pre>\n<p>Bu komut, <code>composer-setup.php<\/code> ad\u0131nda bir dosyay\u0131 ev dizininize kopyalar.<\/p>\n<\/li>\n<li>\n<p><strong>Y\u00fckleyici Beti\u011finin B\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc Do\u011frulay\u0131n:<\/strong><\/p>\n<p>\u0130ndirilen beti\u011fin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini do\u011frulamak \u00f6nemlidir. Composer web sitesinde yay\u0131nlanan SHA-384 karmas\u0131n\u0131 kullanarak bunu yapabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">HASH=\"$(wget -q -O - https:\/\/composer.github.io\/installer.sig)\"\nphp -r \"if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;\"\n<\/code><\/pre>\n<p>E\u011fer &#8220;Installer verified&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131rsan\u0131z, devam edebilirsiniz. Aksi takdirde, beti\u011fi silin ve tekrar indirin.<\/p>\n<\/li>\n<li>\n<p><strong>Composer&#8217;\u0131 Kurun:<\/strong><\/p>\n<p>\u015eimdi indirdi\u011finiz beti\u011fi kullanarak Composer&#8217;\u0131 kurabilirsiniz. Global kurulum i\u00e7in <code>composer.phar<\/code> dosyas\u0131n\u0131 sistem genelinde eri\u015filebilir bir konuma ta\u015f\u0131mam\u0131z gerekiyor, genellikle <code>\/usr\/local\/bin<\/code>.<\/p>\n<pre><code class=\"language-bash\">sudo php composer-setup.php --install-dir=\/usr\/local\/bin --filename=composer\n<\/code><\/pre>\n<ul>\n<li><code>--install-dir=\/usr\/local\/bin<\/code>: Composer&#8217;\u0131 <code>\/usr\/local\/bin<\/code> dizinine kurar. Bu dizin, PATH ortam de\u011fi\u015fkeninde yer ald\u0131\u011f\u0131 i\u00e7in komutu her yerden \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<li><code>--filename=composer<\/code>: Y\u00fcr\u00fct\u00fclebilir dosyan\u0131n ad\u0131n\u0131 <code>composer<\/code> olarak ayarlar.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Kurulum Dosyas\u0131n\u0131 Temizleyin:<\/strong><\/p>\n<p>Kurulum tamamland\u0131ktan sonra, indirdi\u011finiz <code>composer-setup.php<\/code> dosyas\u0131n\u0131 silebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rm composer-setup.php\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>Kurulumu Do\u011frulama<\/h3>\n<p>Composer&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">composer -V\n<\/code><\/pre>\n<p>Bu komut, Composer&#8217;\u0131n s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6stermelidir (\u00f6rne\u011fin, <code>Composer version 2.x.x YYYY-MM-DD HH:MM:SS<\/code>). E\u011fer bu \u00e7\u0131kt\u0131y\u0131 al\u0131rsan\u0131z, Composer sisteminize ba\u015far\u0131yla kurulmu\u015ftur.<\/p>\n<h2>Composer Kullan\u0131m\u0131<\/h2>\n<p>Composer&#8217;\u0131 kurduktan sonra, PHP projelerinizde ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netmek i\u00e7in kullanmaya ba\u015flayabilirsiniz.<\/p>\n<h3>Yeni Bir Proje Ba\u015flatma<\/h3>\n<p>Yeni bir PHP projesi ba\u015flatt\u0131\u011f\u0131n\u0131zda, projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlayacak bir <code>composer.json<\/code> dosyas\u0131 olu\u015fturman\u0131z gerekir. Bunu <code>composer init<\/code> komutuyla etkile\u015fimli olarak yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mkdir my_php_project\ncd my_php_project\ncomposer init\n<\/code><\/pre>\n<p>Bu komut size proje ad\u0131, a\u00e7\u0131klamas\u0131, yazar, lisans ve ba\u015flang\u0131\u00e7 ba\u011f\u0131ml\u0131l\u0131klar\u0131 gibi sorular soracakt\u0131r. Varsay\u0131lan de\u011ferleri kabul edebilir veya kendi bilgilerinizi girebilirsiniz. \u0130\u015flem tamamland\u0131\u011f\u0131nda, projenizin k\u00f6k dizininde bir <code>composer.json<\/code> dosyas\u0131 olu\u015fturulacakt\u0131r.<\/p>\n<p>\u00d6rnek <code>composer.json<\/code>:<\/p>\n<pre><code class=\"language-json\">{\n    \"name\": \"my-vendor\/my-php-project\",\n    \"description\": \"My first Composer project\",\n    \"type\": \"project\",\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Your Name\",\n            \"email\": \"your.email@example.com\"\n        }\n    ],\n    \"require\": {}\n}\n<\/code><\/pre>\n<h3>Ba\u011f\u0131ml\u0131l\u0131k Ekleme<\/h3>\n<p>Projenize yeni bir k\u00fct\u00fcphane eklemek i\u00e7in <code>composer require<\/code> komutunu kullan\u0131rs\u0131n\u0131z. \u00d6rne\u011fin, pop\u00fcler bir g\u00fcnl\u00fck k\u00fct\u00fcphanesi olan Monolog&#8217;u ekleyelim:<\/p>\n<pre><code class=\"language-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 Packagist&#8217;ten bulur.<\/li>\n<li>En son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc <code>composer.json<\/code> dosyan\u0131zdaki <code>require<\/code> b\u00f6l\u00fcm\u00fcne ekler.<\/li>\n<li>Paketi ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 indirir ve projenizin k\u00f6k dizininde <code>vendor\/<\/code> ad\u0131nda bir klas\u00f6re yerle\u015ftirir.<\/li>\n<li><code>composer.lock<\/code> ad\u0131nda bir dosya olu\u015fturur veya g\u00fcnceller. Bu dosya, projenizin tam olarak hangi ba\u011f\u0131ml\u0131l\u0131k versiyonlar\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131 kilitler.<\/li>\n<\/ul>\n<p><code>composer.json<\/code> dosyan\u0131z \u015fimdi \u015f\u00f6yle g\u00f6r\u00fcnecektir:<\/p>\n<pre><code class=\"language-json\">{\n    \"name\": \"my-vendor\/my-php-project\",\n    \"description\": \"My first Composer project\",\n    \"type\": \"project\",\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Your Name\",\n            \"email\": \"your.email@example.com\"\n        }\n    ],\n    \"require\": {\n        \"monolog\/monolog\": \"^2.0\"\n    }\n}\n<\/code><\/pre>\n<p><code>^2.0<\/code> ifadesi, &#8220;2.0 veya daha yeni, ancak 3.0&#8217;dan k\u00fc\u00e7\u00fck&#8221; anlam\u0131na gelir (caret versiyon k\u0131s\u0131tlamas\u0131).<\/p>\n<h3>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h3>\n<p>Bir projeyi klonlad\u0131\u011f\u0131n\u0131zda veya yeni bir geli\u015ftirme ortam\u0131 kurdu\u011funuzda, projenin <code>composer.json<\/code> ve <code>composer.lock<\/code> dosyalar\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklemeniz gerekir. Bunun i\u00e7in <code>composer install<\/code> komutunu kullan\u0131rs\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">composer install\n<\/code><\/pre>\n<p>Bu komut, <code>composer.lock<\/code> dosyas\u0131n\u0131 kontrol eder ve tam olarak orada belirtilen ba\u011f\u0131ml\u0131l\u0131k versiyonlar\u0131n\u0131 indirir. 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<\/h3>\n<p>Mevcut ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z\u0131 daha yeni versiyonlara g\u00fcncellemek i\u00e7in <code>composer update<\/code> komutunu kullan\u0131rs\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">composer update\n<\/code><\/pre>\n<p>Bu komut, <code>composer.json<\/code> dosyan\u0131zdaki versiyon k\u0131s\u0131tlamalar\u0131na uygun olarak ba\u011f\u0131ml\u0131l\u0131klar\u0131n en yeni versiyonlar\u0131n\u0131 bulur, indirir ve <code>composer.lock<\/code> dosyas\u0131n\u0131 g\u00fcnceller. Belirli bir paketi g\u00fcncellemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">composer update monolog\/monolog\n<\/code><\/pre>\n<h3>Otomatik Y\u00fckleyici (Autoloader) Kullan\u0131m\u0131<\/h3>\n<p>Composer&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z ve kendi kodunuz i\u00e7in otomatik y\u00fckleyici sa\u011flamas\u0131d\u0131r. <code>composer install<\/code> veya <code>composer update<\/code> \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, <code>vendor\/autoload.php<\/code> ad\u0131nda bir dosya olu\u015fturulur. Bu dosyay\u0131 projenizin giri\u015f noktas\u0131nda (\u00f6rne\u011fin, <code>index.php<\/code>) bir kez dahil etmeniz yeterlidir:<\/p>\n<pre><code class=\"language-php\"><?php\n\nrequire __DIR__ . '\/vendor\/autoload.php';\n\nuse Monolog\\Logger;\nuse Monolog\\Handler\\StreamHandler;\n\n\/\/ Bir logger \u00f6rne\u011fi olu\u015ftur\n$log = new Logger('my_app');\n$log->pushHandler(new StreamHandler(__DIR__ . '\/app.log', Logger::WARNING));\n\n\/\/ Log mesajlar\u0131\n$log->warning('Bu bir uyar\u0131 mesaj\u0131d\u0131r.');\n$log->error('Bu bir hata mesaj\u0131d\u0131r.');\n\necho \"Loglar olu\u015fturuldu. app.log dosyas\u0131n\u0131 kontrol edin.\" . PHP_EOL;\n\n?>\n<\/code><\/pre>\n<p>Bu kodu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Monolog s\u0131n\u0131flar\u0131n\u0131 do\u011frudan kullanabildi\u011finizi ve Composer&#8217;\u0131n bunlar\u0131 sizin i\u00e7in otomatik olarak y\u00fckledi\u011fini g\u00f6receksiniz.<\/p>\n<h3>Komut Dosyalar\u0131 (Scripts)<\/h3>\n<p>Composer, <code>composer.json<\/code> dosyan\u0131zda \u00f6zel komut dosyalar\u0131 tan\u0131mlaman\u0131za olanak tan\u0131r. Bu, s\u0131k\u00e7a kulland\u0131\u011f\u0131n\u0131z komutlar\u0131 veya proje g\u00f6revlerini otomatikle\u015ftirmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-json\">{\n    \"name\": \"my-vendor\/my-php-project\",\n    \"description\": \"My first Composer project\",\n    \"type\": \"project\",\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Your Name\",\n            \"email\": \"your.email@example.com\"\n        }\n    ],\n    \"require\": {\n        \"monolog\/monolog\": \"^2.0\"\n    },\n    \"scripts\": {\n        \"test\": \"phpunit\",\n        \"post-install-cmd\": [\n            \"php -r \\\"copy('.env.example', '.env');\\\"\",\n            \"php artisan migrate\"\n        ]\n    }\n}\n<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte:<\/p>\n<ul>\n<li><code>test<\/code> komutunu <code>composer test<\/code> ile \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<li><code>post-install-cmd<\/code>, <code>composer install<\/code> komutundan sonra otomatik olarak \u00e7al\u0131\u015facak komutlar\u0131 tan\u0131mlar.<\/li>\n<\/ul>\n<h2>Composer ile \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>Composer&#8217;\u0131 daha verimli kullanmak i\u00e7in baz\u0131 ipu\u00e7lar\u0131 ve en iyi uygulamalar:<\/p>\n<h3><code>composer.json<\/code> ve <code>composer.lock<\/code> Dosyalar\u0131n\u0131n \u00d6nemi<\/h3>\n<ul>\n<li><strong><code>composer.json<\/code>:<\/strong> Projenizin do\u011frudan ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve bu ba\u011f\u0131ml\u0131l\u0131klar i\u00e7in kabul edilebilir versiyon k\u0131s\u0131tlamalar\u0131n\u0131 tan\u0131mlar. Bu dosya, projenizin temel gereksinimlerini belirtir.<\/li>\n<li><strong><code>composer.lock<\/code>:<\/strong> Projenizin geli\u015ftirildi\u011fi veya da\u011f\u0131t\u0131ld\u0131\u011f\u0131 anda t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n (do\u011frudan ve dolayl\u0131) tam ve kesin versiyonlar\u0131n\u0131 kilitler. Bu dosya, t\u00fcm geli\u015ftirme ve \u00fcretim ortamlar\u0131nda ayn\u0131 ba\u011f\u0131ml\u0131l\u0131k setinin kullan\u0131lmas\u0131n\u0131 sa\u011flar. <code>composer.lock<\/code> dosyas\u0131n\u0131 s\u00fcr\u00fcm kontrol sisteminize (Git gibi) dahil etmeyi <strong>unutmay\u0131n<\/strong>.<\/li>\n<\/ul>\n<h3>Geli\u015ftirme Ba\u011f\u0131ml\u0131l\u0131klar\u0131 (<code>require-dev<\/code>)<\/h3>\n<p>Test \u00e7er\u00e7eveleri (PHPUnit), kod analiz ara\u00e7lar\u0131 (PHPStan) veya hata ay\u0131klay\u0131c\u0131lar gibi sadece geli\u015ftirme ortam\u0131nda ihtiya\u00e7 duyulan paketleri <code>require-dev<\/code> b\u00f6l\u00fcm\u00fcne ekleyin:<\/p>\n<pre><code class=\"language-json\">{\n    \"require\": {\n        \"monolog\/monolog\": \"^2.0\"\n    },\n    \"require-dev\": {\n        \"phpunit\/phpunit\": \"^9.5\"\n    }\n}\n<\/code><\/pre>\n<p>\u00dcretim ortam\u0131nda bu ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklemekten ka\u00e7\u0131nmak i\u00e7in <code>composer install --no-dev<\/code> komutunu kullanabilirsiniz. Bu, \u00fcretim ortam\u0131nda daha k\u00fc\u00e7\u00fck bir <code>vendor\/<\/code> dizini ve daha h\u0131zl\u0131 y\u00fcklemeler sa\u011flar.<\/p>\n<h3>Composer Cache Y\u00f6netimi<\/h3>\n<p>Composer, indirilen paketleri \u00f6nbelle\u011fe al\u0131r. Bu, ayn\u0131 paketi farkl\u0131 projelerde veya ayn\u0131 projeyi tekrar tekrar y\u00fcklerken indirme s\u00fcresini k\u0131salt\u0131r. \u00d6nbelle\u011fi temizlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">composer clear-cache\n<\/code><\/pre>\n<h3>Composer&#8217;\u0131 G\u00fcncel Tutma<\/h3>\n<p>Composer kendisi de s\u00fcrekli geli\u015fmektedir. En son \u00f6zelliklere ve g\u00fcvenlik yamalar\u0131na sahip olmak i\u00e7in Composer&#8217;\u0131 d\u00fczenli olarak g\u00fcncellemeniz \u00f6nerilir:<\/p>\n<pre><code class=\"language-bash\">composer self-update\n<\/code><\/pre>\n<h3>G\u00fcvenlik Konular\u0131<\/h3>\n<p>Composer kullan\u0131rken, sadece g\u00fcvenilir kaynaklardan (Packagist.org gibi) paketleri indirdi\u011finizden emin olun. Herhangi bir paketi projenize eklemeden \u00f6nce, paketin pop\u00fclaritesini, bak\u0131m durumunu ve topluluk yorumlar\u0131n\u0131 kontrol etmek iyi bir uygulamad\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Debian 11 \u00fczerinde Composer&#8217;\u0131 kurmay\u0131 ve temel kullan\u0131m\u0131n\u0131 \u00f6\u011frendiniz. Composer, modern PHP geli\u015ftirmenin temel ta\u015f\u0131d\u0131r ve ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, otomatik y\u00fckleme ve tutarl\u0131 geli\u015ftirme ortamlar\u0131 sa\u011flayarak i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde iyile\u015ftirir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Composer komutu bulunam\u0131yor hatas\u0131 al\u0131yorum. Ne yapmal\u0131y\u0131m?<\/h4>\n<p>Bu hata genellikle Composer&#8217;\u0131n PATH ortam de\u011fi\u015fkeninizde olmayan bir yere kuruldu\u011fu veya hi\u00e7 kurulmad\u0131\u011f\u0131 anlam\u0131na gelir. Kurulum ad\u0131mlar\u0131n\u0131 tekrar kontrol edin ve <code>sudo php composer-setup.php --install-dir=\/usr\/local\/bin --filename=composer<\/code> komutuyla global olarak kurdu\u011funuzdan emin olun. Ayr\u0131ca, terminalinizi yeniden ba\u015flatmak da PATH de\u011fi\u015fikliklerinin etkili olmas\u0131n\u0131 sa\u011flayabilir.<\/p>\n<h4>2. Composer kurulumu s\u0131ras\u0131nda &#8220;memory limit&#8221; hatas\u0131 al\u0131yorum. Nas\u0131l \u00e7\u00f6zebilirim?<\/h4>\n<p>Baz\u0131 durumlarda, PHP&#8217;nin varsay\u0131lan bellek s\u0131n\u0131r\u0131 Composer&#8217;\u0131n b\u00fcy\u00fck projeleri veya \u00e7ok say\u0131da ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 i\u015flemesi i\u00e7in yeterli olmayabilir. Bu hatay\u0131 a\u015fmak i\u00e7in PHP&#8217;nin bellek s\u0131n\u0131r\u0131n\u0131 ge\u00e7ici olarak art\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">php -d memory_limit=-1 composer-setup.php\n<\/code><\/pre>\n<p>Veya kal\u0131c\u0131 olarak <code>php.ini<\/code> dosyan\u0131z\u0131 d\u00fczenleyerek <code>memory_limit<\/code> de\u011ferini art\u0131rabilirsiniz (\u00f6rne\u011fin, <code>memory_limit = 512M<\/code>).<\/p>\n<h4>3. Composer&#8217;\u0131 sadece belirli bir proje i\u00e7in kurabilir miyim?<\/h4>\n<p>Evet, Composer&#8217;\u0131 projenizin k\u00f6k dizinine yerel olarak kurabilirsiniz. Bunun i\u00e7in <code>composer-setup.php<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131r\u0131rken <code>--install-dir<\/code> parametresini kullanmadan veya hedef dizini projenizin k\u00f6k dizini olarak belirterek sadece <code>composer.phar<\/code> dosyas\u0131n\u0131 indirmeniz yeterlidir. Ancak, bu durumda Composer&#8217;\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in her zaman <code>php composer.phar<\/code> kullanman\u0131z gerekir.<\/p>\n<h4>4. Composer ile bir paketin belirli bir s\u00fcr\u00fcm\u00fcn\u00fc nas\u0131l y\u00fcklerim?<\/h4>\n<p><code>composer require<\/code> komutunu kullan\u0131rken paket ad\u0131ndan sonra s\u00fcr\u00fcm k\u0131s\u0131tlamas\u0131n\u0131 belirtebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">composer require vendor\/package:1.2.3  # Tam s\u00fcr\u00fcm\ncomposer require vendor\/package:^1.2   # 1.2.x serisindeki en son s\u00fcr\u00fcm\ncomposer require vendor\/package:~1.2.3 # 1.2.3'ten 1.3.0'a kadar olan s\u00fcr\u00fcm\n<\/code><\/pre>\n<h4>5. composer.lock dosyas\u0131n\u0131 Git&#8217;e dahil etmeli miyim?<\/h4>\n<p>Evet, <code>composer.lock<\/code> dosyas\u0131n\u0131 s\u00fcr\u00fcm kontrol sisteminize (Git gibi) kesinlikle dahil etmelisiniz. Bu dosya, projenizin t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n tam s\u00fcr\u00fcmlerini kilitler ve b\u00f6ylece t\u00fcm geli\u015ftirme ve \u00fcretim ortamlar\u0131nda ayn\u0131 ba\u011f\u0131ml\u0131l\u0131k setinin kullan\u0131lmas\u0131n\u0131 sa\u011flar. Bu, &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yordu&#8221; gibi sorunlar\u0131 \u00f6nler.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"PHP geli\u015ftiricileri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, modern yaz\u0131l\u0131m geli\u015ftirmenin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r.","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-41582","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 Kullanmal\u0131y\u0131z? - 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-kullanmaliyiz\/\" \/>\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 Kullanmal\u0131y\u0131z?\" \/>\n<meta property=\"og:description\" content=\"PHP geli\u015ftiricileri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, modern yaz\u0131l\u0131m geli\u015ftirmenin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-05T05:01:23+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=\"11 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-kullanmaliyiz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?\",\"datePublished\":\"2026-05-05T05:01:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\"},\"wordCount\":1847,\"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-kullanmaliyiz\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\",\"name\":\"Composer Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-05-05T05:01:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?\"}]},{\"@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 Kullanmal\u0131y\u0131z? - 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-kullanmaliyiz\/","og_locale":"tr_TR","og_type":"article","og_title":"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?","og_description":"PHP geli\u015ftiricileri i\u00e7in ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, modern yaz\u0131l\u0131m geli\u015ftirmenin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-05-05T05:01:23+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?","datePublished":"2026-05-05T05:01:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/"},"wordCount":1847,"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-kullanmaliyiz\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/","url":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/","name":"Composer Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-05-05T05:01:23+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/composer-nedir-ve-neden-kullanmaliyiz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Composer Nedir ve Neden Kullanmal\u0131y\u0131z?"}]},{"@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\/41582","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=41582"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41582\/revisions"}],"predecessor-version":[{"id":41583,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41582\/revisions\/41583"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}