it-swarm-tr.com

Wordpress ve Joomla! 'Nın yazılım mimarisi arasındaki temel farklar nelerdir ve temel işlevleri nasıl genişletilir?

* NOT: Bu değil 'hangisi daha iyi' sorusu! *

Wordpress ve Joomla! ikisi de harika açık kaynaklı CMS'lerdir.

Temel farklar nelerdir

1) Joomla! ve Wordpress?

2) çekirdek (kutudan çıkarılmış) fonksiyonelliğine hangi uzantıların yapıldığı? ve

3) Çekirdek ve uzantılar nasıl yükseltilir ve güncellenir?

14
NivF007

Hem Wordpress hem de Joomla! saygın ve her biri onları karşılaştırdığınızda benzersiz avantajları var.

Sorularınızı cevaplamak için:

Joomla! ve Wordpress

  • Joomla [~ # ~] oop [~ # ~] (nesne yönelimli) ve [~ # ~] mvc [~ # ~] (nesneye yönelik tasarım deseni).

  • Wordpress yordamsal kodda yazılmıştır.

Prosedürel programlama, programın istenen duruma ulaşmak için alması gereken adımlarını belirtirken nesne yönelimli programlama ("OOP") düzenler etkileşimleriyle birlikte nesnelere veya veri yapılarına ve yöntemlere dönüştürür.

Basit programlar için, yordamsal kod (satır satır komutları düşünün) harika çalışır, ancak büyük karmaşık uygulamalar için yordamsal kodun bakımı daha zor olabilir - genellikle spagetti kodu denir (örn. satır satır komut dizisi birçok GOTO, istisna, iplik veya diğer dallanma yapılarını kullanmaya başladığında ve akışı kavramsal olarak bir kase spagetti gibi olur). Başka bir deyişle, Prosedür kodu basit başlar, ancak karmaşık ve karışık olabilir.

Bu nedenle, daha karmaşık uygulamalar OOP ve MVC ile daha iyi yapılandırılabilir - çok hareketli parça içeren gerçekten karmaşık programlar oluşturmak için çok daha uygun olan daha gelişmiş bir programlama tarzı.

Yordamsal kodun başlangıçta basit programlar için yazılması ve bakımı daha kolay olsa da, OOP değişkenlerinin (OOP'ta 'özellikler' denir) fonksiyonlarını (OOP'ta 'yöntemler' olarak adlandırılır) düzgün bir şekilde bir araya getirebilmesi avantajlarına sahiptir ) demetler halinde - daha düzenli, okunması, bakımı ve genişletilmesi daha kolay kodla sonuçlanır.

Çoğu Wordpress uygulama için (örn. Basit bloglar), prosedür kodu mükemmel şekilde çalışır.

Daha karmaşık uygulamalar için (örn. Kullanıcı grubu izinleri gerektiren ve çok sayıda uzantı kullanan özellikler ve işlevleri genişletmek için), OOP genellikle çok daha zarif bir yaklaşım olarak kabul edilir.

Sonuç olarak:

Worpress'in yazılım mimarisi (yordamsal koda dayalı olarak) basitlik açısından güçlü yönlere sahiptir, ancak yordamsal kod sağlam genişletilebilirliğe sahip karmaşık uygulamalar için ideal değildir.

Yazılım mimarisi (OOP/MVC) daha karmaşık görünebilir, ancak iyi tasarlandığında, OOP/MVC aslında bir uygulamanın özelliklerini ve işlevlerini ve genişletmeyi çok kolaylaştırır. tüm bu uzantıların uyumlu bir şekilde birlikte çalışmasını sağlamak.

Farklılıkları anlamak istiyorsanız (temel başlangıç ​​seviyesinde), PHP Yordam vs PHP OO vs PHP MVC oku Peham Raza - faydalarının daha iyi anlaşılmasını kolaylaştıran her birinin 'giriş ve çıkışlarını' tartışıyor.

çekirdek (kutudan çıktığı gibi) işlevselliğine yönelik uzantıların oluşturulma şekli?

  • Joomla, Modül, Bileşen, Eklentiler ile özellikler ekledi
  • WorPress, özelliği genişletmek için eklenti kullanır.
  • Joomla modülü, eklentisi veya bileşen oluşturma konusunda katıdır (dosyaları FTP ile yükleyemez ve sadece etkinleştiremezsiniz, Extension yükleyici ile yapmanız gerekir).

Çekirdek ve uzantılar nasıl yükseltilir ve güncellenir

  • Her ikisi de yükseltme veya güncellemeler için neredeyse aynı tekniği kullanıyorlar. (Geliştiricilere uzantılar veya geçersiz kılma ile şablon değişiklikleri ile yeni özellikler oluşturmalarını sağlıyorlar. Temel olarak bu durumlarda düzenlememiz gereken hiçbir çekirdek dosya, böylece yükseltme güvenlik yamalarını ve daha fazlasını geliştirecektir.)

Wordpress ifadesinin bir CMS değil, şimdi gün Joomla ve daha fazlasının tüm özelliklerine sahip bir CMS olduğunu söyler.

WordPress, daha az geliştirme bilgisine sahip kullanıcılar ve geliştiriciler için Joomla için iyidir.

Umarım mantıklıdır.

18
Jobin Jose

Bu soruya gerçekten cevap vermeyi düşünüyorum, hem WP ve Joomla! 'Ya çok aşina olmanız gerekiyor. Joomla! Ağırım ve sadece WP bu yüzden cevabım umduğunuz kadar dolu olmayabilir.

WP her şeyden önce bir blog platformu. Veri feed'leri için ayarlanmıştır. Düzenli bir statik Ana Sayfa almak için feed varsayılanını geçmek için yolunuzdan çıkmanız gerekir. Zor değil, sadece varsayılan değil. Ne yaptığınızı biliyorsanız, bloglama platformunun ötesine geçmek için WP) veya sizin için zaten yapmış olan bir şablonu indirirseniz genişletebilirsiniz.

Joomla her şeyden önce bir CMS'dir. Doğrudan temel çekirdeğinden bloglama da dahil olmak üzere eksiksiz bir web sitesi tutmak için tasarlanmıştır. Eklentiler yardımcı olur, kendi bileşenlerini ve eklentilerini nasıl oluşturacaklarını bilmeyenler için size daha özelleştirilmiş bir deneyim sağlayabilirler. Sonuçta, tekerleği neden yeniden icat ettiniz?

Deneyimlerime göre, WP geliştirici olmayan veya yeterince bilen insanlar için harika. Öte yandan Joomla, geliştiriciler için, tamamen özelleştirilmiş bir cephe oluşturmak isteyen insanlar için inşa edildi. -end ve back-end deneyimi. İstediğim şeyi yapmaya zorlamak için WP şablonunda çalışarak saatler harcadım, bu da işleri istediğim gibi inşa etmeye alıştığımda sinir bozucuydu Joomla ile ilk kez (şablon kullanmıyoruz - temellere sıyrılan ve baştan aşağı inşa ettiğimiz kendi çekirdek Joomla'mız var).

WP ve Joomla'nın FTP'sini yan yana çekerseniz, ne kadar farklı olduklarını görebilirsiniz.

WP, eklentileri arayabileceğiniz, seçebileceğiniz ve yükleyebileceğiniz bu eklenti alanına sahiptir. Aynı yerden güncelleme yapabileceğinize inanıyorum. Bir eklenti alanında olduğunuzda, genellikle bir güncellemenin mevcut olduğunu söyler.

Joomla, indirilen bir eklenti veya bileşen yükleyebileceğiniz Extension Manager'ı kullanıyor - arama işlevi olabileceğini düşünüyorum, ancak dürüstçe hiç kullanmadım çünkü genellikle ihtiyacım olanı bulmak için JED kullanıyorum. Aynı alan, yüklediklerinizle ilgili tüm güncellemeleri görebileceğiniz bir güncelleme düğmesi de sunar. Yine, bazı bileşenler size bir güncelleme olduğunu söyleyecektir, ancak hepsi değil.

Gördüğüm temel fark WP kullanıcılar için yapılır - bir şablon yüklerler, güncelleyebilirler, ekleyebilirler, Joomla geliştiriciler için yapılır, kurulumu yaparız, güncellemeyi yaparız, yeni özellikler ve işlevler ekliyoruz/ekliyoruz.Bu, kullanıcı dostu olmadığı anlamına gelmiyor, ancak geliştiriciler için tasarlandıkları için kullanıcının yolunun dışına itildiğini düşündüğüm alanlar var.

6
Faye

Mimariden bahsederken, bir portal veya karmaşık bir web sitesi, yani birbirine bağlı birçok varlık oluşturduğunuzda önemlidir.

  1. Joomla kaynak kodu nesne yönelimlidir.
  2. Joomla kodu çok iyi ayrılmıştır, yani uygulamalar, eklentiler, bileşenler.
  3. Tasarım desenlerinin çoğu Joomla'da, örn. Fabrika, Dekoratör, Bağımlılık Enjeksiyonu, vb.

Joomla'yı benimsediğimde bir C ve C++ geliştiricisi olarak, küresel ad alanını bozan işlevler yerine aynı standartlar kümesini kullandığından çok sevdim.

2
Shyam