Composer'ı WordPress ile Kullanma
Yayınlanan: 2022-06-30WordPress 2003'ten beri var ve bir web sitesi başlatmak isteyen çoğu insan için varsayılan araç haline geldi. Bir blog motoru olarak köklerinden uzun bir yol kat etmiş olsa da, altında yatan teknoloji, kullanıcı deneyimindeki sıçramaların aynısını yapmadı.
WordPress geliştirmesi hala 2003'te mevcut olan birçok standart etrafında dönmektedir. Bu, gereken daha düşük teknik anlayış nedeniyle insanlar için daha erişilebilir hale getirebilse de, birçok yeni geliştirme kaynağının kutudan çıktığı haliyle WordPress ile uyumlu olmadığı anlamına gelir.
Bugün, Composer adlı daha yeni araçlardan birine göz atacağız. WordPress iş akışınıza nasıl uyacağını görelim ve neden denemek isteyebileceğinizi tartışalım.
Besteci nedir?
Yazdığınız her kod parçasının bağımlılıkları vardır. Bir WordPress eklentisi yazıyorsanız, en büyük bağımlılığınız WordPress'in kendisidir. WordPress'in sağladığı temel işlevler olmadan, eklentinizin hiç kullanışlı olmaması muhtemeldir. WordPress'in dışında, SOAP tabanlı API'lerle arayüz oluşturmak için nusoap gibi modern bir SOAP istemcisine ihtiyacınız olabilir.
Geçmişte, çoğu insan nusoap deposunu eklentilerindeki bir dizine kopyalar ve ardından kitaplığı kullanmak için gereken dosyaları eklerdi. Burası, Composer'ın devreye girip bağımlılıklarınızın bazı yönetimini basitleştirebileceği yerdir.
Besteci bir bağımlılık yöneticisidir. Bağımlılıkları kurmayı ve yönetmeyi kolaylaştırmak için özel olarak tasarlanmıştır. Bu, özellikle bir ekipte çalışıyorsanız ve ekibin her üyesinin geliştirme çalışmalarını yaparken aynı kitaplıkları kullandığından emin olmak istiyorsanız çok önemli hale gelebilir.
Temelinde Composer, yüklediğiniz bağımlılıkları ve bağımlılıkların hangi sürümlerini kullanmak istediğinizi ayrıntılandıran bir JSON dosyasıdır. Nusoap bağımlılığını içeren temel bir örneği aşağıda görebilirsiniz.
{
"gerekmek": {
"ekonea/nusoap": "^0.9.10"
}
}
Eklentimde composer require econea/nusoap çalıştırdığımda benim için nusoap yükleyecek ve belirtilen sürüme kilitleyecek. Bu durumda, 0.9.10 kullanıyorum ve Composer'a bağımlılığı yükseltmesini söylemedikçe bunu kullanmaya devam edeceğim.
Bu, nusoap'ı indirip dahil etmeye göre bir avantaja sahiptir, çünkü güncelleme olup olmadığına bakmaya ve bunları projeme manuel olarak indirmeye gerek kalmadan tüm bağımlılıklarımı güncellemek için besteci güncellemesini kullanabilirim. Besteci bu düzeyde kaynakların yönetimini üstlenir.
Composer'a Başlarken
Besteci yüklemek oldukça basittir.
Windows'ta
Windows kullanıyorsanız, işlemi basitleştirmek için sağlanan bir yükleyici vardır. Composer'ın en son sürümünü yükleyecek ve projeleriniz için küresel olarak erişilebilir hale getirecektir.
Linux/Unix/macOS
Bu platformların herhangi birinde, Besteci kurulumunu almak için birkaç adımınız daha var. Başlamak için, Composer'ı indirmek ve kurulumunu almak için gereken komutları çalıştırın.
php -r “kopyala('https://getcomposer.org/installer', 'composer-setup.php');”
php -r “if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c'de doğrulandı” } else { echo 'Yükleyici bozuk'; unlink('besteci-setup.php'); } yankı PHP_EOL;”
php besteci-setup.php
php -r “bağlantıyı kaldır('besteci-setup.php');”
Ardından, yerel geliştirme için Composer'ı global olarak çalıştırmak isteyeceksiniz, bu nedenle, Composer'ı kullanmak istediğimiz her zaman kullanılabilir olmasını sağlamak için varsayılan yüklemeyi ayarlamamız gerekecek. Composer'ı az önce indirdiğiniz dizinden yürütülen aşağıdaki komutla Composer'ı global olarak kullanılabilir olacak şekilde taşıyabilirsiniz.
mv besteci.phar /usr/local/bin/composer
Composer'ı Yükseltme
Windows ve macOS'ta, Composer'ın en son sürümüne yükseltmek için tek yapmanız gereken, composer self-update'i çalıştırmaktır. Linux/Unix kullanıyorsanız, sisteminizin en son sürümleri kontrol etmesi için sudo apt update && upgrade komutunu çalıştırmanız gerekir, ardından en son sürümü almak için composer self-update'i çalıştırabilirsiniz.
Artık hazır olduğunuza göre, WordPress'i yüklemek için Composer'ı kullanmaya bir göz atalım.
Composer ile WordPress'i yükleyin
Peki ya Composer ile bir sitenin tamamını yönetmek istiyorsanız? İlk olarak, WordPress'in projenin bağımlılığı mı yoksa projenin çekirdeği mi olduğuna karar vermeniz gerekiyor. Evet, biraz beyin burkulması.
Müşterilerinizin nihai hedefi WordPress'in kurulu olması olmadığından, WordPress projenin bir bağımlılığı olarak kabul edilebilir. Bir mağaza veya blog istiyorlar ve bu, WordPress'i kurmanıza bağlı. Bu, Roots gibi bir projenin Bedrock adlı Besteci tabanlı Bedrock WordPress kurulumuyla aldığı duruştur.
Bedrock'u kullanmak, zaten kurulmuş olduğu için Composer'a WPackagist hakkında bilgi vermek zorunda olmadığınız anlamına gelir. Composer ile tüm bir siteyi yönetmek istiyorsanız, başlamanızı önerdiğim yer burasıdır.
Bedrock'u kurmak için aşağıdaki komutu çalıştırın.
besteci oluşturma-proje kökleri/ana kaya
Bu size aşağıdaki dosya yapısını verecektir.
├── besteci.json
├── .env
├── yapılandırma
│ ├── application.php
│ └── ortamlar
│ ├── geliştirme.php
│ ├── staging.php
│ └── prodüksiyon.php
├── satıcı
└── ağ
├── uygulama
│ ├── mu eklentileri
│ ├── eklentiler
│ ├── temalar
│ └── yüklemeler
├── wp-config.php
├── index.php
└── wp
Bu, standart WordPress kurulumundan çok farklıdır. Başlamak için, yüklemenin kökünde composer.json dosyanız bulunur. Composer yapılandırmanızı burada göreceksiniz.
.env dosyanız, farklı veritabanı yapılandırmalarını depolayabileceğiniz yerdir. Yerel siteniz ve canlı siteniz farklı veritabanı parolalarına ve kullanıcı adlarına sahip olacağından bu gereklidir. Bedrock, veritabanı bağlantı bilgilerinde sabit kodlama yerine bu değişkenleri kullandığından, varsayılan wp-config.php dosyası .env dosyanıza koyduğunuz değişkenleri anlayacaktır.
.env dosyanız Git deponuzda yoksayılmalıdır. Yeni bir site yapılandırdığınızda, gerekli veritabanı yapılandırma bilgileriyle siteye yeni bir .env dosyası eklersiniz.
Bedrock'u başlatmak için burada ayarlamanız gereken ve belgelerinde ayrıntılı olarak açıklanan birkaç değişken daha var.
Yapılandırma klasörü altında, kullanacağınız ortamlar için farklı varsayılan yapılandırmalar bulunur. Geliştirme aşamasında bu, hata raporlamayı açar ve üretim ortamlarınızda hata günlüğünün sitenizin sorunsuz çalışmasına müdahale etmemesini sağlar.
Temel olarak Bedrock ile, WordPress eklentilerinizi WPackagist aracılığıyla yüklemek için artık Composer'ı kullanabilirsiniz.
WPackagist, WordPress temasının ve eklenti deposunun bir aynasıdır. Bu gereklidir, çünkü varsayılan olarak çoğu eklenti ve tema Composer tarafından yüklenemez. Yansıtıcı, eklentileri yönetmek için Composer'ın kullanılabilmesi için her eklenti için gerekli dosyaları ekler.
WooCommerce'i Bedrock tabanlı WordPress kurulumunuza kurmak istiyorsanız, önce WooCommerce'e ihtiyacınız var, besteci wpackagist-plugin/woocommerce gerektiriyor, ardından Composer'a bağımlılıkları kurmasını, besteci kurulumunu söylemelisiniz.
Artık WordPress kurulumunuzun yönetici alanına gidebilir ve WooCommerce'i etkinleştirebilir ve sitenizi oluşturmaya başlayabilirsiniz. WooCommerce'i yeni bir sürüm çıktığında güncellemek veya WordPress'i güncellemek için besteci güncellemesini çalıştırmanız gerekir.
Besteci tabanlı bir projenin biraz belaya girebileceği yer burasıdır. Güncellemelerinizi WordPress yöneticisi aracılığıyla çalıştırırsanız, Composer'ın beklediği ile WordPress'in yüklediği arasında bir uyumsuzluk yaşarsınız. Composer ile gidecekseniz, güncelleme aracınız olarak kullanmaya devam edin ve WordPress yöneticisi aracılığıyla çalışmayın.
Composer'ı Ne Zaman Kullanmalısınız ?
Çoğunuzun, Composer'ın WordPress geliştirme için neden bu kadar harika bir araç olduğunu sorduğuna eminim. WordPress, Composer düşünülerek oluşturulmamıştır, bu nedenle onunla çalışmak için iyi çalışması için bazı çemberleri atlamanız gerekir.
Eklenti ve tema geliştiricileri için, Composer'ın daha geniş PHP ekosisteminden getirmeniz gereken bağımlılıklarla başa çıkmayı kolaylaştırabileceği açık bir durum vardır. WordPress geliştiricileri için argüman daha az açıktır. Bazıları tüm sitelerini Roots'un yaptığı gibi yönetmek için Composer'ı kullanmayı sever. Bu, Git tarafından yönetilen daha az dosyaya sahip olmanızı sağlayabilir, ancak bu bana hiçbir zaman zorlayıcı bir durum gibi görünmedi.
Beğendiğim durum, Composer'ın farklı ortamlar için farklı bağımlılıklara sahip olmayı kolaylaştırabilmesi. Ardından, bu bağımlılıkları ortamlarınızda dağıtmak için dağıtım sürecinizi kullanabilir ve bunları manuel olarak yönetmeniz gerekmez.
Bir geliştirici olarak, müşterinizin ihtiyaçlarını da dikkate almanız gerekir. Siteyi uzun vadede yönetecek bir geliştirme ekibi yoksa, standart olmayan bir WordPress kurulumuyla ilgili sorunlarla karşılaşabilirler. Bazı durumlarda, ana bilgisayarları, WordPress'i kurmanın ve kullanmanın normal yolunu kullanmadıkları için desteğin mevcut olmadığını söyleyebilir. Müşterilere hizmet verdiğinizde, kullandığınız havalı teknoloji ile müşterinin uzun vadede üstesinden gelebilecekleri arasında her zaman denge kurmanız gerekir.
Sırf bu nedenle bile tam site projelerimde Composer kullanmıyorum. Müşterilerim onları yıllarca her gün yönetecek ve ben ekstra engeller koymak istemiyorum. İkimiz de sitelerinin gelecek yıllar boyunca sorunsuz çalışmasını istiyoruz.
PHP becerilerinizi modern teknolojilerle yükseltmek istiyorsanız, Composer'ın WordPress iş akışlarınıza nasıl uyabileceğine kesinlikle bir göz atmalısınız.