{"id":37401,"date":"2026-01-03T12:41:21","date_gmt":"2026-01-03T09:41:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37401"},"modified":"2026-01-03T12:41:21","modified_gmt":"2026-01-03T09:41:21","slug":"how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/","title":{"rendered":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04"},"content":{"rendered":"<p><body><\/p>\n<h2>Giri\u015f<\/h2>\n<p>Symfony, PHP ile web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve esnek bir PHP framework&#8217;\u00fcd\u00fcr. Mod\u00fcler yap\u0131s\u0131, yeniden kullan\u0131labilir bile\u015fenleri ve geni\u015f topluluk deste\u011fi sayesinde, k\u00fc\u00e7\u00fck ki\u015fisel projelerden b\u00fcy\u00fck kurumsal uygulamalara kadar her t\u00fcrl\u00fc ihtiyaca cevap verebilir. Bu rehberde, \u00f6zellikle Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde Symfony 2&#8217;nin nas\u0131l kurulaca\u011f\u0131n\u0131 ve temel seviyede nas\u0131l kullan\u0131lmaya ba\u015flanaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Ubuntu 14.04, uzun s\u00fcreli destek (LTS) sunan pop\u00fcler bir da\u011f\u0131t\u0131m oldu\u011fundan, bu platformda Symfony 2 kurulumu bir\u00e7ok geli\u015ftirici i\u00e7in hala ge\u00e7erli ve \u00f6nemlidir. Symfony 2 s\u00fcr\u00fcmleri genellikle PHP 5.3.x ila PHP 5.6.x aral\u0131\u011f\u0131n\u0131 destekler, bu da Ubuntu 14.04&#8217;\u00fcn varsay\u0131lan PHP 5.5.9 s\u00fcr\u00fcm\u00fc ile uyumlu oldu\u011fu anlam\u0131na gelir.<\/p>\n<p>Bu rehberin amac\u0131, Symfony 2 projenizi h\u0131zl\u0131 ve sorunsuz bir \u015fekilde aya\u011fa kald\u0131rmak i\u00e7in gerekli t\u00fcm ad\u0131mlar\u0131, pratik bilgiler ve kod \u00f6rnekleriyle sunmakt\u0131r. Apache web sunucusu, PHP ve MySQL gibi temel bile\u015fenlerin kurulumundan ba\u015flayarak, Composer ile Symfony projesi olu\u015fturmaya ve ilk basit uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmaya kadar her \u015feyi kapsayaca\u011f\u0131z.<\/p>\n<h2>\u00d6n Gereksinimlerin Kurulumu ve Ortam Haz\u0131rl\u0131\u011f\u0131<\/h2>\n<p>Symfony 2 projenizi kurmadan \u00f6nce, Ubuntu 14.04 sisteminizde bir web sunucusu, PHP ve bir veritaban\u0131 y\u00f6netim sistemi gibi temel \u00f6n gereksinimleri haz\u0131rlamam\u0131z gerekiyor. Bu b\u00f6l\u00fcmde bu bile\u015fenlerin kurulumunu ve temel yap\u0131land\u0131rmas\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h3>Sistem G\u00fcncellemesi<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce sistem paket listelerini g\u00fcncelleyelim:<\/p>\n<pre><code>sudo apt-get update\nsudo apt-get upgrade -y\n<\/code><\/pre>\n<h3>Apache Web Sunucusu Kurulumu<\/h3>\n<p>Apache, d\u00fcnyada en \u00e7ok kullan\u0131lan web sunucular\u0131ndan biridir. Symfony uygulamalar\u0131m\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in onu kullanaca\u011f\u0131z.<\/p>\n<pre><code>sudo apt-get install apache2 -y\n<\/code><\/pre>\n<p>Kurulumdan sonra Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code>sudo service apache2 status\n<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zda <code>http:\/\/localhost<\/code> adresine giderek &#8220;It works!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>PHP ve Gerekli Uzant\u0131lar\u0131n Kurulumu<\/h3>\n<p>Symfony 2, PHP ile yaz\u0131lm\u0131\u015ft\u0131r ve belirli PHP uzant\u0131lar\u0131na ihtiya\u00e7 duyar. Ubuntu 14.04&#8217;te varsay\u0131lan PHP s\u00fcr\u00fcm\u00fc 5.5.9&#8217;dur ve Symfony 2 i\u00e7in olduk\u00e7a uygundur.<\/p>\n<pre><code>sudo apt-get install php5 libapache2-mod-php5 php5-cli php5-mysql php5-intl php5-curl php5-gd php5-json php5-mcrypt php5-xsl -y\n<\/code><\/pre>\n<ul>\n<li><code>php5<\/code>: PHP yorumlay\u0131c\u0131s\u0131.<\/li>\n<li><code>libapache2-mod-php5<\/code>: Apache i\u00e7in PHP mod\u00fcl\u00fc.<\/li>\n<li><code>php5-cli<\/code>: Komut sat\u0131r\u0131ndan PHP \u00e7al\u0131\u015ft\u0131rmak i\u00e7in (Composer ve Symfony konsol komutlar\u0131 i\u00e7in gerekli).<\/li>\n<li><code>php5-mysql<\/code>: MySQL veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in.<\/li>\n<li><code>php5-intl<\/code>: Uluslararas\u0131la\u015ft\u0131rma (Internationalization) deste\u011fi i\u00e7in (Symfony Form bile\u015feni i\u00e7in gerekli).<\/li>\n<li><code>php5-curl<\/code>: cURL deste\u011fi i\u00e7in (baz\u0131 HTTP istekleri ve API entegrasyonlar\u0131 i\u00e7in).<\/li>\n<li><code>php5-gd<\/code>: G\u00f6rsel i\u015fleme (resim, captcha vb.) i\u00e7in.<\/li>\n<li><code>php5-json<\/code>: JSON deste\u011fi i\u00e7in.<\/li>\n<li><code>php5-mcrypt<\/code>: \u015eifreleme i\u015flemleri i\u00e7in (Symfony Security bile\u015feni taraf\u0131ndan kullan\u0131labilir).<\/li>\n<li><code>php5-xsl<\/code>: XSL d\u00f6n\u00fc\u015f\u00fcmleri i\u00e7in (baz\u0131 XML i\u015flemleri i\u00e7in).<\/li>\n<\/ul>\n<p>PHP uzant\u0131lar\u0131n\u0131 kurduktan sonra Apache&#8217;yi yeniden ba\u015flatmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code>sudo service apache2 restart\n<\/code><\/pre>\n<h3>PHP Yap\u0131land\u0131rmas\u0131 (php.ini)<\/h3>\n<p>Symfony&#8217;nin sorunsuz \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 PHP ayarlar\u0131n\u0131 d\u00fczenlememiz gerekebilir. \u00d6zellikle <code>memory_limit<\/code> ve <code>date.timezone<\/code> ayarlar\u0131 \u00f6nemlidir.<\/p>\n<p>PHP yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>php.ini<\/code>) a\u00e7\u0131n:<\/p>\n<pre><code>sudo nano \/etc\/php5\/apache2\/php.ini\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki ayarlar\u0131 bulun ve gerekti\u011finde g\u00fcncelleyin:<\/p>\n<ul>\n<li><code>memory_limit = 256M<\/code> veya daha y\u00fcksek bir de\u011fer (varsay\u0131lan 128M olabilir).<\/li>\n<li><code>date.timezone = Europe\/Istanbul<\/code> (veya bulundu\u011funuz b\u00f6lgeye uygun bir saat dilimi).<\/li>\n<\/ul>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra Apache&#8217;yi tekrar ba\u015flat\u0131n:<\/p>\n<pre><code>sudo service apache2 restart\n<\/code><\/pre>\n<h3>MySQL Veritaban\u0131 Kurulumu<\/h3>\n<p>\u00c7o\u011fu web uygulamas\u0131 bir veritaban\u0131na ihtiya\u00e7 duyar. MySQL, Symfony ile yayg\u0131n olarak kullan\u0131lan bir se\u00e7enektir.<\/p>\n<pre><code>sudo apt-get install mysql-server -y\n<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda root kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenecektir. Bu parolay\u0131 unutmay\u0131n.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra MySQL&#8217;i g\u00fcvence alt\u0131na almak i\u00e7in \u015fu komutu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code>sudo mysql_secure_installation\n<\/code><\/pre>\n<p>Burada root parolas\u0131 belirleme, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rma, uzaktan root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakma ve test veritaban\u0131n\u0131 silme gibi se\u00e7enekler sunulacakt\u0131r. Genellikle t\u00fcm sorulara &#8216;Y&#8217; (Evet) yan\u0131t\u0131 vermek iyi bir uygulamad\u0131r.<\/p>\n<h3>Composer Kurulumu<\/h3>\n<p>Composer, PHP i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Symfony ve bir\u00e7ok PHP k\u00fct\u00fcphanesi ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek i\u00e7in Composer&#8217;\u0131 kullan\u0131r.<\/p>\n<pre><code>curl -sS https:\/\/getcomposer.org\/installer | php\nsudo mv composer.phar \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p>Composer&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu kontrol edin:<\/p>\n<pre><code>composer -V\n<\/code><\/pre>\n<p>Bu komut Composer s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir.<\/p>\n<h2>Symfony 2 Kurulumu ve \u0130lk Yap\u0131land\u0131rma<\/h2>\n<p>T\u00fcm \u00f6n gereksinimleri kurduktan sonra, art\u0131k Symfony 2 projemizi olu\u015fturmaya ve temel yap\u0131land\u0131rmalar\u0131 yapmaya haz\u0131r\u0131z.<\/p>\n<h3>Symfony 2 Projesi Olu\u015fturma<\/h3>\n<p>Composer kullanarak yeni bir Symfony 2 projesi olu\u015ftural\u0131m. Symfony 2&#8217;nin son stabil s\u00fcr\u00fcm\u00fc 2.8&#8217;dir ve bu s\u00fcr\u00fcm PHP 5.5.9 ile uyumludur.<\/p>\n<p>Projenizi olu\u015fturmak istedi\u011finiz dizine gidin (\u00f6rne\u011fin, <code>\/var\/www\/html<\/code> veya <code>\/home\/kullanici\/projeler<\/code>).<\/p>\n<pre><code>cd \/var\/www\/html\nsudo composer create-project symfony\/framework-standard-edition my_symfony_app \"2.8.*\"\n<\/code><\/pre>\n<ul>\n<li><code>my_symfony_app<\/code>: Projenizin ad\u0131 olacak dizin.<\/li>\n<li><code>\"2.8.*\"<\/code>: Symfony 2.8&#8217;in en son stabil s\u00fcr\u00fcm\u00fcn\u00fc y\u00fckler.<\/li>\n<\/ul>\n<p>Bu komut, Symfony Framework Standard Edition&#8217;\u0131 indirecek ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 kuracakt\u0131r. Bu i\u015flem biraz zaman alabilir.<\/p>\n<h3>Dosya \u0130zinlerini Ayarlama<\/h3>\n<p>Symfony, <code>app\/cache<\/code> ve <code>app\/logs<\/code> dizinlerine yazma iznine ihtiya\u00e7 duyar. Bu dizinlerin web sunucusu kullan\u0131c\u0131s\u0131 (genellikle <code>www-data<\/code>) taraf\u0131ndan yaz\u0131labilir olmas\u0131 gerekir.<\/p>\n<pre><code>cd my_symfony_app\nsudo chown -R www-data:www-data app\/cache app\/logs\nsudo chmod -R 775 app\/cache app\/logs\n<\/code><\/pre>\n<p>Alternatif ve daha g\u00fcvenli bir y\u00f6ntem olarak <code>setfacl<\/code> kullanabilirsiniz:<\/p>\n<pre><code>sudo apt-get install acl -y\nsudo setfacl -R -m u:www-data:rwX -m u:$(whoami):rwX app\/cache app\/logs\nsudo setfacl -R -m o:rX app\/cache app\/logs\n<\/code><\/pre>\n<p>Bu komutlar, <code>www-data<\/code> kullan\u0131c\u0131s\u0131na ve mevcut kullan\u0131c\u0131n\u0131za (<code>$(whoami)<\/code>) bu dizinlere tam eri\u015fim sa\u011flar.<\/p>\n<h3>Apache Virtual Host Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Symfony uygulaman\u0131z\u0131 taray\u0131c\u0131dan eri\u015filebilir hale getirmek i\u00e7in Apache&#8217;de bir Virtual Host yap\u0131land\u0131rmas\u0131 olu\u015fturmal\u0131s\u0131n\u0131z. Bu, uygulaman\u0131z\u0131n <code>web\/<\/code> dizinini belge k\u00f6k\u00fc olarak i\u015faret eder.<\/p>\n<p>Yeni bir Virtual Host dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo nano \/etc\/apache2\/sites-available\/my_symfony_app.conf\n<\/code><\/pre>\n<p>\u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n (<code>ServerName<\/code> ve <code>DocumentRoot<\/code> de\u011ferlerini kendi projenize g\u00f6re d\u00fczenleyin):<\/p>\n<pre><code class=\"language-apacheconf\"><VirtualHost *:80>\n    ServerName my_symfony_app.local\n    DocumentRoot \/var\/www\/html\/my_symfony_app\/web\n\n    <Directory \/var\/www\/html\/my_symfony_app\/web>\n        AllowOverride All\n        Order Allow,Deny\n        Allow from All\n        <IfModule mod_rewrite.c>\n            RewriteEngine On\n            RewriteCond %{REQUEST_FILENAME} !-f\n            RewriteRule ^(.*)$ app.php [QSA,L]\n        <\/IfModule>\n    <\/Directory>\n\n    ErrorLog ${APACHE_LOG_DIR}\/my_symfony_app_error.log\n    CustomLog ${APACHE_LOG_DIR}\/my_symfony_app_access.log combined\n<\/VirtualHost>\n<\/code><\/pre>\n<p>Apache&#8217;nin <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmemiz gerekiyor:<\/p>\n<pre><code>sudo a2enmod rewrite\n<\/code><\/pre>\n<p>Yeni Virtual Host&#8217;u etkinle\u015ftirin ve varsay\u0131lan Virtual Host&#8217;u devre d\u0131\u015f\u0131 b\u0131rak\u0131n (\u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemek i\u00e7in):<\/p>\n<pre><code>sudo a2ensite my_symfony_app.conf\nsudo a2dissite 000-default.conf\n<\/code><\/pre>\n<p>Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code>sudo service apache2 restart\n<\/code><\/pre>\n<p>Son olarak, <code>my_symfony_app.local<\/code> alan ad\u0131n\u0131 yerel IP adresinize y\u00f6nlendirmek i\u00e7in <code>\/etc\/hosts<\/code> dosyan\u0131z\u0131 d\u00fczenlemeniz gerekebilir:<\/p>\n<pre><code>sudo nano \/etc\/hosts\n<\/code><\/pre>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code>127.0.0.1       my_symfony_app.local\n<\/code><\/pre>\n<h3>Veritaban\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Symfony projenizin veritaban\u0131 ba\u011flant\u0131 bilgilerini <code>app\/config\/parameters.yml<\/code> dosyas\u0131nda yap\u0131land\u0131rman\u0131z gerekir. Bu dosya varsay\u0131lan olarak zaten mevcuttur.<\/p>\n<pre><code>nano app\/config\/parameters.yml\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 kendi MySQL ayarlar\u0131n\u0131za g\u00f6re d\u00fczenleyin:<\/p>\n<pre><code class=\"language-yaml\"># app\/config\/parameters.yml\nparameters:\n    database_driver: pdo_mysql\n    database_host: 127.0.0.1\n    database_port: ~\n    database_name: symfony_db # Kendi veritaban\u0131 ad\u0131n\u0131z\u0131 belirleyin\n    database_user: root       # MySQL root kullan\u0131c\u0131s\u0131 veya \u00f6zel bir kullan\u0131c\u0131\n    database_password: your_mysql_root_password # MySQL root parolan\u0131z\n    # ... di\u011fer parametreler\n<\/code><\/pre>\n<p>Veritaban\u0131n\u0131 olu\u015fturmak i\u00e7in Symfony konsolunu kullanabilirsiniz:<\/p>\n<pre><code>php app\/console doctrine:database:create\n<\/code><\/pre>\n<h3>Yap\u0131land\u0131rma Denetleyicisini \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>Symfony, ortam\u0131n\u0131z\u0131n t\u00fcm gereksinimleri kar\u015f\u0131lay\u0131p kar\u015f\u0131lamad\u0131\u011f\u0131n\u0131 kontrol eden bir denetleyici sa\u011flar. Taray\u0131c\u0131n\u0131zda veya komut sat\u0131r\u0131nda \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<p>Taray\u0131c\u0131dan: <code>http:\/\/my_symfony_app.local\/config.php<\/code> adresine gidin. Her \u015fey ye\u015fil olmal\u0131d\u0131r.<\/p>\n<p>Komut sat\u0131r\u0131ndan:<\/p>\n<pre><code>php app\/check.php\n<\/code><\/pre>\n<p>Herhangi bir hata veya uyar\u0131 varsa, bunlar\u0131 d\u00fczeltmeye \u00e7al\u0131\u015f\u0131n.<\/p>\n<h2>Symfony 2 ile \u0130lk Ad\u0131mlar<\/h2>\n<p>Symfony projenizi ba\u015far\u0131yla kurdu\u011funuza g\u00f6re, \u015fimdi temel bile\u015fenleri anlayarak ve basit bir sayfa olu\u015fturarak ilk ad\u0131mlar\u0131n\u0131z\u0131 atal\u0131m.<\/p>\n<h3>Uygulamaya Eri\u015fme<\/h3>\n<p>Taray\u0131c\u0131n\u0131zda <code>http:\/\/my_symfony_app.local\/app_dev.php<\/code> adresine giderek Symfony kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu, geli\u015ftirme ortam\u0131d\u0131r ve hata ay\u0131klama ara\u00e7lar\u0131n\u0131 i\u00e7erir. \u00dcretim ortam\u0131 i\u00e7in <code>http:\/\/my_symfony_app.local\/app.php<\/code> adresini kullanabilirsiniz.<\/p>\n<h3>Temel Dizin Yap\u0131s\u0131<\/h3>\n<p>Symfony projenizin ana dizinleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>app\/<\/code>: Uygulama yap\u0131land\u0131rmas\u0131, \u00f6nbellek ve g\u00fcnl\u00fck dosyalar\u0131.<\/li>\n<li><code>src\/<\/code>: Uygulaman\u0131z\u0131n ana kodunu (Bundle&#8217;lar) i\u00e7erir.<\/li>\n<li><code>web\/<\/code>: Web sunucusu taraf\u0131ndan eri\u015filebilen genel dizin (CSS, JS, resimler, <code>app.php<\/code>).<\/li>\n<li><code>vendor\/<\/code>: Composer taraf\u0131ndan y\u00f6netilen t\u00fcm k\u00fct\u00fcphaneler.<\/li>\n<\/ul>\n<h3>Basit Bir Controller ve Route Olu\u015fturma<\/h3>\n<p>Symfony&#8217;de uygulamalar Bundle&#8217;lar halinde organize edilir. Varsay\u0131lan olarak <code>AppBundle<\/code> bulunur. \u015eimdi bu Bundle i\u00e7inde basit bir sayfa olu\u015ftural\u0131m.<\/p>\n<p><code>src\/AppBundle\/Controller\/DefaultController.php<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n (e\u011fer yoksa olu\u015fturun) ve a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/p>\n<pre><code class=\"language-php\"><?php\n\/\/ src\/AppBundle\/Controller\/DefaultController.php\nnamespace AppBundle\\Controller;\n\nuse Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Route;\nuse Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller;\nuse Symfony\\Component\\HttpFoundation\\Response;\n\nclass DefaultController extends Controller\n{\n    \/<em><\/em>\n     * @Route(\"\/\", name=\"homepage\")\n     *\/\n    public function indexAction()\n    {\n        \/\/ Twig \u015fablonunu render edin\n        return $this->render('default\/index.html.twig', array(\n            'name' => 'Symfony 2 Rehberi',\n        ));\n    }\n\n    \/<em><\/em>\n     * @Route(\"\/merhaba\/{name}\", name=\"merhaba_sayfasi\")\n     *\/\n    public function merhabaAction($name)\n    {\n        return new Response('Merhaba ' . $name . '!');\n    }\n}\n<\/code><\/pre>\n<p>Yukar\u0131daki kodda iki action (metot) tan\u0131mlad\u0131k:<\/p>\n<ul>\n<li><code>indexAction<\/code>: Ana sayfa (<code>\/<\/code>) i\u00e7in bir Twig \u015fablonu render eder.<\/li>\n<li><code>merhabaAction<\/code>: Dinamik bir isimle (<code>\/merhaba\/{name}<\/code>) bir &#8220;Merhaba&#8221; mesaj\u0131 d\u00f6nd\u00fcr\u00fcr.<\/li>\n<\/ul>\n<p><code>indexAction<\/code> metodu i\u00e7in bir Twig \u015fablonu olu\u015ftural\u0131m: <code>app\/Resources\/views\/default\/index.html.twig<\/code><\/p>\n<pre><code class=\"language-twig\"><!-- app\/Resources\/views\/default\/index.html.twig -->\n{% extends '::base.html.twig' %}\n\n{% block title %}Ho\u015f Geldiniz!{% endblock %}\n\n{% block body %}\n    <h1>{{ name }}'ne Ho\u015f Geldiniz!<\/h1>\n    <p>Bu sizin ilk Symfony 2 uygulaman\u0131z.<\/p>\n    <p><a href=\"{{ path('merhaba_sayfasi', {'name': 'D\u00fcnya'}) }}\">Merhaba D\u00fcnya!<\/a> diyin.<\/p>\n{% endblock %}\n<\/code><\/pre>\n<p>\u015eimdi taray\u0131c\u0131n\u0131zdan <code>http:\/\/my_symfony_app.local\/app_dev.php\/<\/code> adresine giderek ana sayfan\u0131z\u0131 ve <code>http:\/\/my_symfony_app.local\/app_dev.php\/merhaba\/Ali<\/code> adresine giderek dinamik &#8220;Merhaba&#8221; sayfan\u0131z\u0131 g\u00f6rebilirsiniz.<\/p>\n<h3>Konsol Komutlar\u0131<\/h3>\n<p>Symfony konsol komutlar\u0131 geli\u015ftirme s\u00fcrecinde \u00e7ok \u00f6nemlidir. Baz\u0131 s\u0131k kullan\u0131lan komutlar:<\/p>\n<ul>\n<li>\u00d6nbelle\u011fi Temizleme:\n<pre><code>php app\/console cache:clear --env=dev\nphp app\/console cache:clear --env=prod\n<\/code><\/pre>\n<\/li>\n<li>Route&#8217;lar\u0131 G\u00f6r\u00fcnt\u00fcleme:\n<pre><code>php app\/console router:debug\n<\/code><\/pre>\n<\/li>\n<li>Veritaban\u0131 \u015eemas\u0131n\u0131 G\u00fcncelleme (Doctrine ORM kullan\u0131yorsan\u0131z):\n<pre><code>php app\/console doctrine:schema:update --force\n<\/code><\/pre>\n<\/li>\n<\/ul>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Ubuntu 14.04 \u00fczerinde Symfony 2 geli\u015ftirme ortam\u0131n\u0131 kurmaktan, Composer ile proje olu\u015fturmaya, temel dosya izinlerini ve Apache Virtual Host&#8217;unu yap\u0131land\u0131rmaya kadar t\u00fcm ad\u0131mlar\u0131 detayl\u0131 bir \u015fekilde ele ald\u0131k. Ayr\u0131ca basit bir Controller ve Twig \u015fablonu olu\u015fturarak Symfony ile ilk ad\u0131mlar\u0131n\u0131z\u0131 atman\u0131z\u0131 sa\u011flad\u0131k. Art\u0131k kendi Symfony 2 uygulamalar\u0131n\u0131z\u0131 geli\u015ftirmeye haz\u0131rs\u0131n\u0131z.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S: Symfony 2 ile Symfony 3\/4\/5 aras\u0131ndaki fark nedir? Neden Symfony 2 kullanmal\u0131y\u0131m?<\/strong><br \/>\nC: Symfony 2, PHP 5.3.x&#8217;ten 5.6.x&#8217;e kadar olan s\u00fcr\u00fcmleri desteklerken, Symfony 3+ s\u00fcr\u00fcmleri PHP 7 ve \u00fczeri gereksinimlere sahiptir. Ubuntu 14.04&#8217;\u00fcn varsay\u0131lan PHP s\u00fcr\u00fcm\u00fc 5.5.9 oldu\u011fu i\u00e7in, bu rehber \u00f6zellikle Symfony 2 i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. E\u011fer daha g\u00fcncel bir PHP s\u00fcr\u00fcm\u00fc (PHP 7+) kullanabiliyorsan\u0131z, Symfony&#8217;nin daha yeni s\u00fcr\u00fcmlerini tercih etmeniz \u00f6nerilir, \u00e7\u00fcnk\u00fc daha iyi performans, daha modern \u00f6zellikler ve uzun s\u00fcreli destek sunarlar. Ancak mevcut bir Ubuntu 14.04 sisteminde kalman\u0131z gerekiyorsa, Symfony 2.8 LTS (Long Term Support) iyi bir se\u00e7enektir.<\/p>\n<p><strong>S: <code>app\/cache<\/code> ve <code>app\/logs<\/code> dizinleri i\u00e7in izin hatas\u0131 al\u0131yorum, ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: Bu, en yayg\u0131n sorunlardan biridir. Web sunucusu kullan\u0131c\u0131s\u0131n\u0131n (genellikle <code>www-data<\/code>) bu dizinlere yazma izni olmas\u0131 gerekir. Rehberde belirtilen <code>sudo chown -R www-data:www-data app\/cache app\/logs<\/code> ve <code>sudo chmod -R 775 app\/cache app\/logs<\/code> veya daha g\u00fcvenli olan <code>setfacl<\/code> komutlar\u0131n\u0131 do\u011fru \u015fekilde uygulad\u0131\u011f\u0131n\u0131zdan emin olun. Komutlar\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra Apache&#8217;yi yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<p><strong>S: <code>php app\/check.php<\/code> \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131mda k\u0131rm\u0131z\u0131 uyar\u0131lar g\u00f6r\u00fcyorum, ne anlama geliyor?<\/strong><br \/>\nC: Bu uyar\u0131lar, Symfony&#8217;nin optimum \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in \u00f6nerilen veya gerekli olan PHP ayarlar\u0131n\u0131n veya uzant\u0131lar\u0131n\u0131n eksik oldu\u011funu g\u00f6sterir. Rehberdeki PHP ve uzant\u0131 kurulum ad\u0131mlar\u0131n\u0131 kontrol edin ve <code>php.ini<\/code> dosyas\u0131ndaki <code>memory_limit<\/code>, <code>date.timezone<\/code> gibi ayarlar\u0131 do\u011fru yapt\u0131\u011f\u0131n\u0131zdan emin olun. Her de\u011fi\u015fiklikten sonra Apache&#8217;yi yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<p><strong>S: \u00d6nbelle\u011fi nas\u0131l temizlerim?<\/strong><br \/>\nC: Symfony \u00f6nbelle\u011fini temizlemek i\u00e7in konsol komutunu kullan\u0131n: <code>php app\/console cache:clear --env=dev<\/code> (geli\u015ftirme ortam\u0131 i\u00e7in) veya <code>php app\/console cache:clear --env=prod<\/code> (\u00fcretim ortam\u0131 i\u00e7in). Bazen <code>--no-warmup<\/code> parametresiyle kullanmak da gerekebilir: <code>php app\/console cache:clear --env=dev --no-warmup<\/code>.<\/p>\n<p><strong>S: Sanal host (Virtual Host) ayarlar\u0131n\u0131 yapt\u0131m ama taray\u0131c\u0131da hala &#8220;It works!&#8221; sayfas\u0131 g\u00f6r\u00fcn\u00fcyor veya &#8220;Sayfa Bulunamad\u0131&#8221; hatas\u0131 al\u0131yorum.<\/strong><br \/>\nC: A\u015fa\u011f\u0131daki ad\u0131mlar\u0131 kontrol edin:<\/p>\n<ul>\n<li><code>sudo a2ensite my_symfony_app.conf<\/code> ile Virtual Host&#8217;unuzu etkinle\u015ftirdi\u011finizden emin olun.<\/li>\n<li><code>sudo a2dissite 000-default.conf<\/code> ile varsay\u0131lan Virtual Host&#8217;u devre d\u0131\u015f\u0131 b\u0131rakt\u0131\u011f\u0131n\u0131zdan emin olun.<\/li>\n<li><code>sudo a2enmod rewrite<\/code> ile Apache&#8217;nin rewrite mod\u00fcl\u00fcn\u00fc etkinle\u015ftirdi\u011finizden emin olun.<\/li>\n<li>Her de\u011fi\u015fiklikten sonra <code>sudo service apache2 restart<\/code> ile Apache&#8217;yi yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun.<\/li>\n<li><code>\/etc\/hosts<\/code> dosyas\u0131nda <code>my_symfony_app.local<\/code> alan ad\u0131n\u0131 do\u011fru IP adresine y\u00f6nlendirdi\u011finizden emin olun.<\/li>\n<li>Virtual Host dosyan\u0131zdaki <code>DocumentRoot<\/code> yolunun do\u011fru oldu\u011fundan ve projenizin <code>web\/<\/code> dizinine i\u015faret etti\u011finden emin olun.<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Giri\u015f\nSymfony, PHP ile web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve esnek bir PHP framework&#8217;\u00fcd\u00fcr. Mod\u00fcler yap\u0131s\u0131, yeniden kull","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":[1468],"tags":[],"class_list":{"0":"post-37401","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>How to Install and Get Started with Symfony 2 on Ubuntu 14.04 - 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\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Install and Get Started with Symfony 2 on Ubuntu 14.04\" \/>\n<meta property=\"og:description\" content=\"Giri\u015f Symfony, PHP ile web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve esnek bir PHP framework&#039;\u00fcd\u00fcr. Mod\u00fcler yap\u0131s\u0131, yeniden kull\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-03T09:41:21+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=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"How to Install and Get Started with Symfony 2 on Ubuntu 14.04\",\"datePublished\":\"2026-01-03T09:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\"},\"wordCount\":1830,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\",\"name\":\"How to Install and Get Started with Symfony 2 on Ubuntu 14.04 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-03T09:41:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Install and Get Started with Symfony 2 on Ubuntu 14.04\"}]},{\"@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":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04 - 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\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/","og_locale":"tr_TR","og_type":"article","og_title":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04","og_description":"Giri\u015f Symfony, PHP ile web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve esnek bir PHP framework'\u00fcd\u00fcr. Mod\u00fcler yap\u0131s\u0131, yeniden kull","og_url":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-03T09:41:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04","datePublished":"2026-01-03T09:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/"},"wordCount":1830,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/","url":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/","name":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-03T09:41:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-install-and-get-started-with-symfony-2-on-ubuntu-14-04\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Install and Get Started with Symfony 2 on Ubuntu 14.04"}]},{"@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\/37401","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=37401"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37401\/revisions"}],"predecessor-version":[{"id":37402,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37401\/revisions\/37402"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}