En İyi WordPress Geliştirme Ortamı

Yayınlanan: 2017-01-18

Geçtiğimiz birkaç yıl boyunca, kullandığım geliştirme ortamları hakkında bilgi paylaştığım WPMU DEV Blogunda burada bir sürü öğretici yazdım.

Bu yüzden bugün, bir araya getirip daha büyük ölçekli kalkınma için kullanacağım türden, eksiksiz bir ortamı paylaşmanın zamanının geldiğini düşündüm.

Kollarını sıva ve ellerini kirletmeye hazırlan! Çünkü aşağıda, kurduğum geliştirme ortamının tam bir açıklaması ve bunu nasıl yapabileceğinizi görebilirsiniz.

Not: Bu eğitim yeni başlayanlar için değildir. WordPress geliştirme konusunda yeniyseniz, gereksiz karmaşıklığa neden olabileceğinden bu kadar ayrıntılı bir ortama ihtiyacınız olmayacaktır. Ayrıca, bu makalenin özellikle WordPress için tasarlandığını unutmayın. Fikirler ve hedefler, WordPress dışı projeler için aynı olabilir, ancak kullanılan yaklaşım ve araçlar farklılık gösterecektir.

İçindekiler

    1. İyi Bir Geliştirme Ortamını Ne Yapar?
    2. Gelişen Ortamlar
    3. Yerel Sunucular
    4. Komut Satırı Araçları
    5. Bash Komut Dosyaları
    6. WordPress Eklentileri
    7. Çeşitli Araçlar

İyi Bir Geliştirme Ortamını Ne Yarar?

Bana göre iyi bir geliştirme ortamı aşağıdaki üç özelliğe sahiptir:

  1. son derece taşınabilir
  2. Son derece yapılandırılabilir
  3. son derece otomatik

taşınabilirlik

Taşınabilirlik önemli bir faktör çünkü geliştirmekte olduğum temayı/eklentiyi paylaşmanın yanı sıra geliştirme ortamını da paylaşabilmek istiyorum.

Diğer geliştiricilerin GitHub'daki kaynağı kontrol edebilmelerini ve Gulp veya Grunt gibi araçların kullanımı da dahil olmak üzere hemen başlamalarını istiyorum. Bu, projelere atlamayı kolaylaştırır ve daha iyi işbirliğini desteklerseniz başarılı bir şey yapma şansınız daha yüksektir.

Taşınabilirlik, başka bir bilgisayarda çalışmanız gerektiğinde veya iş arkadaşlarınıza neler yaptığınızı göstermek istediğinizde de size yardımcı olabilir. İşleri birkaç dakika içinde herhangi bir yere kurabilme yeteneği bana sayamayacağım kadar çok yardımcı oldu.

yapılandırılabilirlik

Ortamınızı yapılandırma yeteneği çok önemlidir. Sunucu tarafında, WordPress son derece bağışlayıcıdır ancak yapı ayarlarınızda, Grunt görevlerinde ve diğer seçeneklerde ince ayar yapabilmek büyük bir avantajdır.

Konfigürasyon seçenekleri ve taşınabilirlik bir arada, çalışmanızı farklı koşullar altında kolayca test edebileceğiniz anlamına gelir. Emin olmak için PHP sürümünü veya hatta HHVM'yi değiştirmeye ne dersiniz? Belki de WordPress'in eski sürümleriyle ve popüler eklentilerle uyumluluğu kontrol edebilirsiniz? Bunlar test edebilmeniz gereken şeyler.

Otomasyon

Otomasyon, WordPress çalışması için bir geliştirme ortamı yaratmanın ana sürücülerinden biridir. Komut dosyalarım, stil sayfalarım, çalışmamı kaydetme, dağıtım vb. hakkında endişelenmek istemiyorum.

Komut satırı araçları, WordPress'i tek bir komutla kurmaktan ürünümü paketlemeye kadar her şeyi yapabilen otomasyon paketimin bel kemiğini oluşturuyor.

Devam eden bir çalışma

Ayrıntılara girmeden önce, geliştirme ortamlarının onları kullananlar tarafından nasıl hayal edildiğine dair bir teğet geçeyim dedim.

Komut satırı, derleme araçları, sürüm kontrol sistemleri ve diğer şeyler dünyasına nispeten yeniyseniz, her şeyi bilen ve her görev için mükemmel araçları kullanan bir profesyonel gibi görünebilirim.

Bu gerçeklerden oldukça uzak! WordPress ile ilgili her konuda bilgiliyim, ancak diğer her şey, hayatımı daha hızlı hale getirmek için uğraştığım veya ihtiyaç duyduğum/öğrenmek istediğim ekstra şeyler. Başkalarını kopyaladım, parçaları kendi başıma çözdüm ve gerektiğinde bazı şeyleri değiştirdim (bazen sefil bir şekilde başarısız oluyor!).

Geliştirme ortamım (ve diğerleri) aşağıdakilerin bir karışımıdır:

  • İyi bilenmiş kişisel bilgi
  • Başkalarından harika ipuçları
  • İşe yarayan bulduğum rastgele bir şey
  • Çok daha iyi yapılabilecek adımlar ama bunu anlamaya zahmet edemedim

Başka bir deyişle: Mükemmel değil ama işi hallediyor. İyileştirme için bolca alan ve daha çok beğenebileceğiniz diğer araçları kullanabileceğiniz yerler var. Daha yararlı araçlar veya iş akışları biliyorsanız, bunları kullanmaktan çekinmeyin ve yorumlarda bana bildirin!

Yerel Sunucu

WordPress, sunucu tarafı kodlama dili olan PHP üzerinde çalışır, bu nedenle WordPress'i çalıştırmak için bir sunucuya ihtiyacımız var. En popüler seçenekler şunlardır:

  • serseri
  • WAMP
  • XAMPP
  • MAMP

XAMPP ile yıllar önce başladım. Daha sonra Mac kullanıcısı olduğumda MAMP'a taşındım ve daha sonra yaklaşık iki yıl önce Vagrant'a geçtim. Web ve kullanılan araçlar her zamanki gibi gelişiyor ve şimdi Vagrant ve MAMP'ı da kullanma eğilimindeyim. Nedenini aşağıda açıklayacağım.

AMP'ler

MAMP, XAMPP ve WAMP'taki “AMP”, Apache, MySQL ve PHP anlamına gelir. Bu araçların tümü, sunucu tarafından kullanılan işlemleri yönetmenize yardımcı olacak hizmetleri ve bir GUI'yi kurar. Uygulamayı indirip kuruyorsunuz, “açık” düğmesine basıyorsunuz ve her şey beklendiği gibi çalışacak.

MAMP Kullanıcı Arayüzü
MAMP Kullanıcı Arayüzü

Profesyoneller:
Hızlıdır, kolaydır, sezgiseldir ve her zaman tüm sistemlerde çalışır. PHP ayarlarını değiştirmek, Nginx'e geçmek, Memcached, Postfix'i yapılandırmak, sanal sunucular kurmak ve daha fazlasını yapmak için kullanabileceğiniz harika bir kullanıcı arayüzüne sahiptir.

Eksiler:
İnce ayar yapabileceğiniz birçok şey olsa da, kontrol sınırlıdır. İşletim sistemini değiştiremez veya tam SSH erişiminin yapmanıza izin vereceği diğer değişiklikleri yapamazsınız.

Tüm AMP'ler aynı nedenle taşınabilirliğini kaybeder. Herkesin kurabileceği kadar popülerdirler, ancak Vagrant konfigürasyonları gibi bağımsız ve minimal değildirler.

serseri

Vagrant biraz farklı. Sizin için ön paketleme ve ortam yerine tam kontrol sağlar. VirtualBox (veya diğer VM uygulamaları) üzerine inşa edilmiştir ve esasen bir işletim sistemi olan bir "kutu" almanızı sağlar. Daha sonra bunları kendiniz için yapılandırmak için komut dosyalarını kullanabilirsiniz.

Bir Serseri Hazırlama Komut Dosyasından Alıntı
Bir Serseri Hazırlama Komut Dosyasından Alıntı

Profesyoneller:
Konfigürasyon, çok küçük iki dosyaya kadar kendi içinde bulunur. Komut satırına alıştıysanız, bir ortam vagrant up kadar basit olabilir - sistem son derece taşınabilirdir.

Kalbinizin içeriğine göre yapılandırabilirsiniz. Herhangi bir işletim sistemi, herhangi bir yazılım, farklı önbelleğe alma yöntemlerinden kendi PHP'nizi derlemeye kadar. Sitenizin yerel makinenizde tam olarak aynı şekilde çalışacağından emin olmak için gerçek ana makinenizin ortamını tam olarak çoğaltabilirsiniz.

Eksiler:
Komut satırı kullanımında hızlı değilseniz, Vagrant'ın dik bir öğrenme eğrisi olabilir. Her şey yolunda gittiğinde, tek yapmanız gereken bir komut vermek. Herhangi bir nedenle bir şey çalışmayı reddederse, kendinizi derin sularda bulacaksınız.

Sanal ana bilgisayarlar oluşturmak ve diğer ortak görevleri gerçekleştirmek için araçlar var, en azından benim için MAMP'ın kullanıcı arayüzü daha uygun. Yüklemek için bir WP'li hızlı yeni bir sanal ana bilgisayara ihtiyacım varsa, bunu MAMP + WP-CLI ile Vagrant + WP-CLI'den çok daha hızlı yapabilirim.

Hangisini Kullanmalı?

Yalnızca WordPress ile çalışıyorsanız, MAMP gibi bir araç fazlasıyla esneklik ve güç sunar. Elbette WordPress dışı sitelerle çalışmanıza izin verir, bu nedenle WP küresinin dışında kalan garip bir işiniz varsa MAMP yine de size iyi hizmet edecektir.

WP dışı projelerde büyük ekiplerle çalışıyorsanız, Vagrant'ı alıp denemenizi öneririm. Sunucuların dahili olarak nasıl çalıştığı hakkında size çok şey öğretecek ve ortamları tam olarak paylaşmanıza izin verecektir.

Benim tercihim ikisini de kullanmak. İhtiyacım olduğunda (veya zamanım olduğunda) Vagrant ile ortamımı en ince ayrıntısına kadar yapılandırabilirim. Basit bir şeye ihtiyacım olduğunda veya bir WordPress projesi için MAMP tercihimdir.

WPMU DEV'de başka bir yazar olan Rachel McCollin, MAMP'ın nasıl kurulacağına dair harika bir kılavuz yazdı ve bu ortamları kurmak için kullanabileceğiniz Vagrant ile WordPress Geliştirme Kılavuzuna katkıda bulundum.

Komut Satırı Araçları

Çok sayıda CLI aracı kullanmıyorum, ancak kullandıklarım iş akışımın büyük bir bölümünü oluşturuyor. En öne çıkanları WP-CLI, Gulp, ngrok ve Ultrahook biraz detaya inelim.

WP-CLI

WP-CLI, WordPress ile ilgili her şeyi otomatikleştirmenize olanak tanıyan son derece güçlü bir komut satırı aracıdır. WP-CLI ile Gelişmiş WordPress geliştirme hakkında zaten bir eğitim yazdım, bu yüzden size yapabileceği sihrin bir kısmını göstereceğim.

WP-CLI kısa süre önce WordPress.org desteği kazandı.
WP-CLI kısa süre önce WordPress.org desteği kazandı.

Yeni Siteler Kurma

WordPress'i wp core download ve wp core config gibi birkaç basit komutla indirebilir, yapılandırabilir ve kurabilirsiniz. Belgeler bol ve takip edilmesi kolaydır.

Yeni site oluşturma için küçük şablonlar oluşturmak için WP-CLI'yi bash komut dosyalarıyla birlikte kullanıyorum. Varsayılan eklentileri ve temaları kaldırmak ve düzenli olarak kullandığınız eklentileri indirip etkinleştirmek için komutları kullanabilirsiniz.

Ara ve Değiştir

Veritabanı araması ve değiştirmeleri bazen gerekli olabilir, ancak bir acı olabilir. https'ye geçmek, yeni bir alana geçmek, url'leri yeniden adlandırmak ve diğerleri, bazı toplu değişiklikleri beraberinde getirebilir.

Veritabanı bir dizi serileştirilmiş dizi içerdiğinden, yalnızca bir SQL araması ve değiştirmesi yapamazsınız (eski ve yeni değer aynı uzunlukta değilse). wp search-replace oldval newvalue , tüm bunları sizin için çözecek, dizilerinizi seri hale getirip yeniden seri hale getirecek.

Uzaktan Yönetim

WP-CLI, siteleri SSH üzerinden yönetmenize yardımcı olmak için yerleşik SSH'ye sahiptir. Bu, yüzlerce siteyi tek bir komutla yönetmenize izin verme potansiyeline sahiptir (örneğin: bir temayı veya eklentiyi birden çok sitede güncelleme).

Çok daha fazla…

WP-CLI ile yapabileceklerinizin neredeyse sonu yok. Üçüncü taraf paketlere kadar bir dizi alt komut içeren yaklaşık 35 yerleşik komut kategorisinden herhangi bir görevi kolayca otomatikleştirebilirsiniz.

Yudum

Gulp benim otomasyon gücüm. Komut dosyalarımı, stillerimi, resimlerimi, hatta mobil testleri ve tarayıcı yenileme mekaniklerini yönetmek için kullanıyorum. Gulp'u WordPress ile Kullanma hakkında kapsamlı bir makale yazdım, ayrıntılı talimatlar için oraya bir göz atın.

Sözdizimi farklılıkları nedeniyle Gulp'u diğer popüler seçim olan Grunt'a tercih ederim. Grunt For WordPress Geliştirme makaleme bir göz atın ve kendi kararınızı verin!

Gulp, işlevselliği için Düğüm ve Düğüm paketlerini kullanır ve topluluk odaklı uzantılar nedeniyle onu son derece taşınabilir ve güçlü kılar. Gulp ile çalışma sürecim genellikle şunları içerir:

  1. İhtiyaçlarıma uyan bir uzantı bulun
  2. Düğüm paketini npm ile kurun
  3. Gulpfile'deki paketi gerektir
  4. Kısa bir otomasyon görevi yazın

Bunun herhangi bir şekilde düşünmeyi gerektiren tek kısmı dört numaradır. O zaman bile, çoğu uzantı, muhtemelen yalnızca küçük bir parça değiştirilmesi gereken kopyala-yapıştır örneklerine sahiptir.

İşte en çok kullandığım uzantılar:

  • Sass'ı CSS'ye derlemek için yudum-sass
  • CSS'yi küçültmek için gulp-clean-css
  • satıcı öneklerini otomatik olarak eklemek için gulp-autoprefixer
  • JS dosyalarını birleştirmek için gulp-include
  • JS dosyalarını küçültmek için gulp-uglify
  • görüntüleri optimize etmek için gulp-imagemin
  • Mobil teste yardımcı olan dev sunucular oluşturmak için Browsersync
  • küçültülmüş dosyalar için kaynak haritalar oluşturmak için gulp-sourcemaps

zenci

ngrok, yerel çalışmalarımı internet üzerinden paylaşmak için kullandığım küçük bir hizmet ve komut satırı aracıdır. ngrok, yerel bir ortama güvenli tüneller oluşturarak uygulamanızı http://7bbc49aa.ngrok.io gibi özel bir URL'de gösterir.

ultra kanca

Ultrahook, ngrok'un bir nevi tersidir. Ngrok'un localhost'unuzu web'e yönlendirdiği yerde, ultrahook web'i localhost'unuza yönlendirir. Bu, örneğin Stripe gibi üçüncü taraf API'leri test etmek için son derece kullanışlıdır.

Stripe'ı, yerel sunucunuza güvenli bir şekilde geçirilecek olan http://stripe.danielpataki.ultrahook.com test web kancalarını gönderecek şekilde ayarlayabilirsiniz.

WordPress Eklentileri

Çoğumuz için WordPress geliştirme, eklenti ve tema geliştirme ile eş anlamlıdır. Depo, geliştiricilerin daha iyi çalışmaları daha hızlı oluşturmasına yardımcı olan eklentilerle doludur. İşte düzenli kullandığım veya kullandığım bazıları.

Tema Kontrolü

Tema yaratıcıları için mutlaka kullanılması gereken bir eklenti. Tema Kontrolü, temanızı analiz edecek ve WordPress standartlarını karşılamamasının nedenlerini ortaya çıkaracaktır. Kullanımdan kaldırılan koda, gereksiz dosyalara, kötü uygulamalara, yaygın hatalara ve tonlarca başka olası soruna bakar.

Gelişmiş Özel Alanlar

Gelişmiş Özel Alanlar veya ACF, tüm zamanların en sevdiğim eklentisidir. Geliştiricilerin sezgisel ve hızlı bir kullanıcı arayüzünde temaları ve eklentileri için güzel özel alanlar oluşturmasına olanak tanır. İşiniz bittiğinde, ACF'yi tamamen gizleyebilir ve alanları olduğu gibi tutmak için oluşturulan PHP kodunu çalışmanıza yapıştırabilirsiniz. İyi yürütülen ve son derece kullanışlı bir eklenti!

Gelişmiş Özel Alanlar. Güçlü şeyler.

Sorgu İzleyicisi

Query Monitor, WordPress ortamınızda tam olarak neler olup bittiğini bir veritabanı erişim açısından görmenizi sağlar. Potansiyel olarak yavaş veya gereksiz sorguları, canlı bir ürüne geçmeden önce yakalayabilir ve kodunuzu çok daha hızlı hale getirmek için mevcut olanları optimize edebilirsiniz.

Bash Komut Dosyaları

Bash komut dosyaları, birbiri ardına çalıştırılan ve görevleri daha da otomatikleştirmek için kullanılabilen bir dizi komut içerir. Örneğin, WordPress'i WP-CLI ile kurmak zaten çok kolay. Tek gereken şunlar:

Bu komutların birbiri ardına verilmesi gerekiyor ve bu biraz zaman alıyor. Bunu bir dosyaya yerleştirerek, buna install.sh diyelim, bir WP kurulumu oluşturmak için bir şablon oluşturabilirsiniz.

Dosyayı, kurulumu oluşturmak istediğiniz klasöre yerleştirin ve bash install.sh yazın. Tüm komutlar verilecek ve birkaç saniye içinde bir siteniz hazır ve çalışır durumda olacak.

Parametreler ekleyerek daha da kullanışlı hale getirebilirsiniz. Komutu şu şekilde verirseniz: bash install.sh newsite veritabanı adını, URL'yi ve site başlığını doldurmak için parametreyi kullanabilirsiniz.

Bash dosyaları, son yapılar oluşturmak (gereksiz klasörleri ve dosyaları kaldırmak, dizinleri taşımak vb.) ve diğer benzer görevler için de yararlı olabilir. İş akışınızda size çok fazla esneklik sağlayan Gulp görevlerinden bile çalıştırılabilirler.

Çeşitli Araçlar

Tarayıcı uzantıları, bir siteyi test ederken çok yardımcı olur. İşte iş akışımda kullandığım bazı şeyler.

postacı

Postman, API'leri oluşturmak, test etmek ve belgelemek için bir krom uzantısıdır. Bir API'nin nasıl çalıştığını görmek için hızlı bir istek göndermem gerektiğinde Postman'in diğer araçlardan çok daha hızlı olduğunu görüyorum.

İstekleri kaydetme ve yönetme özelliği özellikle yararlıdır. API testi, daha az sıklıkla yaptığım bir şey ama buna alıştığımda günümün çoğunu alıyor, Postman gibi bir şey kullanmak hayatımı çok kolaylaştırıyor.

DüzenleBu Çerez

EditThisCookie, pek kullanmadığım bir Chrome uzantısının başka bir örneğidir, ancak yaptığımda saatlerce tasarruf sağlar. Tek bir sitenin çerezlerini görmenizi/temizlemenizi/düzenlemenizi sağlar. Hepsi bu, ama aman tanrım, ne kadar kullanışlı olabilir!

Sayfa Yükleme Süresi

Sayfa Yükleme Süresi, düşündüğünüzü yapar, sayfa yükünü analiz eder. DNS/Talep ve yanıt süreleri gibi önemli ayrıntılara girebilir, ancak sevdiğim şey, genel yükleme süresini tam orada araç çubuğunda göstermesi. Hızlı karşılaştırmalar için süper kullanışlı.

JSON Biçimlendirici

Çeşitli araçlar kategorisine son tarayıcı uzantısı girişi, bir yanıtın yalnızca bir JSON dizesi olduğunu algılayan ve yalnızca bir metin bloğu çıkarmak yerine hepsini güzel ve uygun biçimlendiren JSON Formatter'dır.

Franz

Bunun aslında geliştirme ile ilgisi yok! Franz, bir dizi web hizmetini tek bir çatı altında toplayabilen bir araçtır. My Messenger, Slack, Skype, Inbox by Gmail, Trello, Google Calendar ve Todoist uygulamalarının tümü yerel uygulamaları yerine tek bir pencerede çalışır.

Her şey onları normal ortamlarında çalıştırmışım gibi görünüyor ama tüm bu simgelere sahip olmam gerekmiyor ve aralarında daha kolay geçiş yapabiliyorum. Franz'dan bahsediyorum çünkü daha iyi iletişim kurarken daha fazla odaklanmama yardımcı oldu.

VVV

Değişen Vagrant Vagrants veya kısaca VVV, WordPress ve WordPress'in kendisi için geliştirmeye yönelik açık kaynaklı bir Vagrant yapılandırmasıdır. WordPress'in geliştirme yapıları da dahil olmak üzere, başlamak için ihtiyaç duyacağınız tüm araçları içerir.

Çok daha fazla!

Bahsetmediğim çok fazla araç var, çünkü çoğunlukla onları kullanmıyorum. Bunlar harika araçlar, ancak ben onlara alışamadım, onlara ihtiyacım yok veya iş akışıma uymuyorlar. İşte göz atmanız gereken bazı büyüklüklerin kısa bir listesi:

  • WordPress tema departmanı tarafından yapılmış harika bir tema şablonunun altını çizer
  • Sunucu, uygulama yönetimi ve başlangıç ​​teması dahil olmak üzere tüm WordPress yığını için kökler. Bunu zevkime göre fazla ayrıntılı buluyorum, ama size göre olabilir.
  • Standart nesne yönelimli eklenti geliştirme için WordPress Plugin Boilerplate.

Geliştirme Ortamınızı Kendinize Özel Yapın

Sonuç olarak, bunlar benim kullandığım araçlar – sizin için en uygun olmayabilirler veya her durum için en uygun olmayabilirler. Bu kurulum ihtiyaçlarım için yeterince esnek, bu yüzden lütfen seçenekleri araştırmak ve size doğru gelen bir iş akışı oluşturmak için zaman ayırın.

İyi şanlar!

Otomasyon veya bir WordPress geliştirme ortamını geliştirmek için iyi ipuçlarınız varsa, lütfen aşağıdaki yorumlarda bize bildirin!
Etiketler: