# PSR standartı nedir ?

PSR kısaca kod yazım standartıdır. Günümüz IDE ‘leri code refactor adı altında bu işlemi otamatik hale getirdiği için,çoğu yazılımcı’nın bu standarttan haberi olmaz(Freelancer için geçerli genelde). Başlarda otamatik işlemi otomatik yapan IDE ler standartlar değiştikçe bu işlemi extra olarak kullanıcıya bırakabiliyor.

Deprecated - As of 2019-08-10 PSR-2 has been marked as deprecated. PSR-12 is now recommended as an alternative.

PSR-2 kod standartının kullanımı artık tavsiye edilmiyor. Lakin bu işlemi IDE ile yapıyorsanız direkt olarak psr-12 ye geçmenizi tavsiye etmem,bug değilde problemleri var gibi.(Henüz tam oturmadı gibi) psr-12 hakkında

PHPSTORM içerisinde kullanmak

  • Daha önceleri ekstra ayarlar yaparken,phpstorm 2018.3 versiyonundan itibaren varsayılan özellik olarak eklenmiştir. PHP CS Fixer Support
  • Composer kurunuz.
  • php-cs-fixer ‘i composer yardımıyla kurun.
composer global require friendsofphp/php-cs-fixer
  • Settings->Languages & Frameworks->PHP->Quality Tools->PHP Cs Fixer-> Configuration menüsü altından csfixerin kurulu olduğu yeri gösteriyoruz.
C:\Users\kullaniciadiniz\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.bat #windows için
/home/kullaniciadiniz/.composer/vendor/bin/php-cs-fixer #linux için

Yollarını yazmalısınız. Validate(Doğrulama) butonuna basıp alta cs fixerin sürüm bilgilerinin geldiğini görün.

phpstorm_inside_phpcsfixer phpstorm_inside_phpcsfixer phpstorm_inside_phpcsfixer

  • Settings->Tools->+ Butonuna basıp yeni ekleyin->
  • Name : Kısmına istediğinizi yazabilirsiniz
  • Description : Kısmına istediğiniz açıklama yazabilirsiniz
  • Program : Kısmına CSFixer in kurulu olduğu yol,üste vermiştim
  • Arguments : Kısmına Kullanmak istediğiniz argümanlar Cs Fixer Kullanımı kısmından hangi argümanın ne işe yaradığını okuyabilirsiniz. Burada tüm argümanları buraya yazmak yerine config dosyasının yolunu göstererek, tüm ayarlarımı bu dosya içerisinde yapıyorum.
fix --verbose --config=C:\xampp\htdocs\urunsat\.php_cs.dist --path-mode=intersection "$FileDir$/$FileName$"
  • Working Directory : Kısmına ise, bu işlemi sadece bu dosyada çalıştırmayabiliriz. Diğer projelerimize geçtiğimizde elle girmek yerine insert macro kısmından
 $ProjectFileDir$

Seçiyoruz. Bu sayede ,diğer projelerimiz içerisindede cs fixer işlemini kullanabiliyoruz.

phpstorm_inside_phpcsfixer

Örnek php_cs dosyası .php_cs_dist linkinden verilmiştir. Cs Fixer Kullanımı kısmından edindiğiniz bilgilere göre düzenleyin. Diğer bir örnek Doctrine coding style

Phpstorm’u yeniden başlatın. Tools -> External Tools-> Menüsü altında Verdiğiniz isimde görünecektir. Kısayol eklemek isterseniz Settings->Keymap->External Tools-> Verdiğiniz isim adında görünecektir. Ben alt+f eklediğim,siz dilediğinizi ekleyebilirsiniz.

phpstorm_inside_phpcsfixer