Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Forumdan daha fazla yararlanmak için, profilinizi telefon numaranız 📱 ile doğrulayın ve daha ayrıcalıklı olun 😉
    Daha fazla bilgi!

Nasıl yapılır ? XenForo İçin Eklenti Yazmak

Çağan Tekin

xFanatik
SMS onaylı
Kullanıcı
Katılım
1 Şub 2020
Mesajlar
194
Çözümler
4
merhabalar!
diyelim ki eklenti yazmak istiyorum, nereden başlamam ve nasıl devam etmem gerekir?
 

Nasıl yapılır ? XenForo İçin Eklenti Yazmak

Merhabalar, arada böyle sorular geliyor ama en kapsamlısını sanırım bu sefer yazacağım. Eklenti yazmaktan daha çok kodlamaya hakim olmak gerekiyor. İyi bir php bilgisi olması gerekiyor. Kodlama bilen birinin tek yapması gereken xenforo'un developer alanına bakması yetiyor Getting started - XenForo 2 Documentation bakıyorum ama bir şey anlamıyorum diyorsanız eksiğiniz var demektir.

Sebepleri:

Bizim ülkemizde php öğrendiğini söyleyen herkes geçmişten gelen spaghetti code alışkanlığı ile kodlama yapıyor. Yani nede olsa çalışıyor mantığı ile kodlama yapılıyor. Php standart recommendations standardı denen şeyin önemine takılan eden yok. Bunun sebebi php'nin bugüne kadar bir standardının olmamasıydı ama zend framework ile...
Merhabalar, arada böyle sorular geliyor ama en kapsamlısını sanırım bu sefer yazacağım. Eklenti yazmaktan daha çok kodlamaya hakim olmak gerekiyor. İyi bir php bilgisi olması gerekiyor. Kodlama bilen birinin tek yapması gereken xenforo'un developer alanına bakması yetiyor Getting started - XenForo 2 Documentation bakıyorum ama bir şey anlamıyorum diyorsanız eksiğiniz var demektir.

Sebepleri:

Bizim ülkemizde php öğrendiğini söyleyen herkes geçmişten gelen spaghetti code alışkanlığı ile kodlama yapıyor. Yani nede olsa çalışıyor mantığı ile kodlama yapılıyor. Php standart recommendations standardı denen şeyin önemine takılan eden yok. Bunun sebebi php'nin bugüne kadar bir standardının olmamasıydı ama zend framework ile php'de de bazı standartlar oluşmaya başladı. Daha sonradan çıkan popüler frameworklerde php'de gerçekten çok kaliteli ve sağlam dokümantasyonlara sahipler. Bunlara örnek Laravel, Symfony gösterilebilir. Ben kendi standardımı belirlerim benim hiç bir framework'e ihtiyacım yok diyenlerde var ama ben her zaman bir framework kullanmanın hem temiz kod yazmak hemde bir standarda uymak adına iyi olacağını düşünüyorum. Java veya .net gibi.

Bir e-ticaret sitesi yapacağız diyelim bunu Laravel ile yapmak mı daha iyi yoksa oturup aylarca kendi standartlarımızla yapmak mı? Bana göre yine framework kullanmak hem clean kod, hemde kabul görmüş standardının olması her zaman daha mantıklıdır. Artık her şeyin frameworklere kaydığını görüyoruz. XenForo mesela dışarıdan baktığımız zaman adamlar ne kodlamış diyoruz halbuki içerisinde bir çok framework var. Bunlara örnek: Swiftmailer, symfony'e ait paketler. guzzlehttp, laminas, psr, authy, web-token, composer vs gibi bir çok paket var eğer bunlar kullanılmasa idi xenforo'un bu kadar başarılı olması mümkün değildi. Neyse bu kadar genel bilgi verdikten sonra, genel olarak konuyu toparlayalım.

Php başladınız genel bir php eğitimi aldıktan sonra uzun bir süre OOP yani nesne yönelimli programlamaya yönelmeniz gerekiyor.

Guard clauses, kapsülleme ve bilgileri gizleme, Inheritance (kalıtım), Polymorphism (çok biçimlilik), soyutlama, tasarım desenleri (singleton), arayüzler (interface) bunların ortak kullanımı hakkında derin bilgi. İsim alanları (namespace) kullanımı, erişim belirteçleri (public, protected, private), Mvc nedir ve mvc'de nasıl bir proje geliştirilir mutlaka öğrenilmesi gerekiyor. (Bir çok şeyden bahsetmedim)

Bunları iyi öğrendikten ve bir kaç proje çıkardıktan sonra laravel veya symfony frameworklerinin herhangi birine yönelmeniz sizin yararınıza olacaktır.

Dikkat ederseniz SQL bilgisinden hiç bahsetmedim. Onu da öğreneceksiniz. Hemde çok iyi öğrenmek zorundasınız. Daha sonra laravel'e geçtiğiniz de eloquent orm ile çalışacaksınız. Büyük kolaylıktır.

Symfony doctrine orm kullanır xenforo'da birebir aynıdır. Setup, relationships, entity management, conclusion, schemas, fetching data işlemlerini öğrenmek için Getting Started with Doctrine - Doctrine Object Relational Mapper (ORM) veya symfony de buraya doctrine orm buraya Databases and the Doctrine ORM (Symfony Docs) bakabilirsiniz.

Bunların sonrasında Packagist sitesinden paketleri yüklemeyi bunları kullanmayı öğrenebilirsiniz.

Bunlar hepsi bir süreç, bilgisayar ekranına bakmaktan geceleri gözlerinize buz koymadan, gözlerinizin feri gitmeden maalesef kodlama yapılmıyor. Bunu xenforo babında söylemiyorum bugün xenforo var yarın başka bir yazılım gelir. O yüzden bunları bilen birinin en başında söylediğim gibi ilgili yazılımın dokümantasyonuna bakması yetiyor.
 
Çözüm
Malesef php SQL js bilmek yada adminin dediği gibi Laravel (Hazır yazılım kütüphanesi) hakimiyeti xenforo da işe yaramıyor önce xen temelini dosya yapısını dahada önemlisi SSi mantığını kavramak gerek sanırım? zira yazılım diline hakim biri olarak bunları yazıyorum 3 haftadır dokümanları inceliyorum xenforo ana sitesinde henüz bir arpa boyu yol alamadım buna dokümantasyonlar ın yeterince detay içermediğini de eklersek oldukça zor bir mesele diye düşünüyorum.
 
Merhabalar, arada böyle sorular geliyor ama en kapsamlısını sanırım bu sefer yazacağım. Eklenti yazmaktan daha çok kodlamaya hakim olmak gerekiyor. İyi bir php bilgisi olması gerekiyor. Kodlama bilen birinin tek yapması gereken xenforo'un developer alanına bakması yetiyor Getting started - XenForo 2 Documentation bakıyorum ama bir şey anlamıyorum diyorsanız eksiğiniz var demektir.

Sebepleri:

Bizim ülkemizde php öğrendiğini söyleyen herkes geçmişten gelen spaghetti code alışkanlığı ile kodlama yapıyor. Yani nede olsa çalışıyor mantığı ile kodlama yapılıyor. Php standart recommendations standardı denen şeyin önemine takılan eden yok. Bunun sebebi php'nin bugüne kadar bir standardının olmamasıydı ama zend framework ile php'de de bazı standartlar oluşmaya başladı. Daha sonradan çıkan popüler frameworklerde php'de gerçekten çok kaliteli ve sağlam dokümantasyonlara sahipler. Bunlara örnek Laravel, Symfony gösterilebilir. Ben kendi standardımı belirlerim benim hiç bir framework'e ihtiyacım yok diyenlerde var ama ben her zaman bir framework kullanmanın hem temiz kod yazmak hemde bir standarda uymak adına iyi olacağını düşünüyorum. Java veya .net gibi.

Bir e-ticaret sitesi yapacağız diyelim bunu Laravel ile yapmak mı daha iyi yoksa oturup aylarca kendi standartlarımızla yapmak mı? Bana göre yine framework kullanmak hem clean kod, hemde kabul görmüş standardının olması her zaman daha mantıklıdır. Artık her şeyin frameworklere kaydığını görüyoruz. XenForo mesela dışarıdan baktığımız zaman adamlar ne kodlamış diyoruz halbuki içerisinde bir çok framework var. Bunlara örnek: Swiftmailer, symfony'e ait paketler. guzzlehttp, laminas, psr, authy, web-token, composer vs gibi bir çok paket var eğer bunlar kullanılmasa idi xenforo'un bu kadar başarılı olması mümkün değildi. Neyse bu kadar genel bilgi verdikten sonra, genel olarak konuyu toparlayalım.

Php başladınız genel bir php eğitimi aldıktan sonra uzun bir süre OOP yani nesne yönelimli programlamaya yönelmeniz gerekiyor.

Guard clauses, kapsülleme ve bilgileri gizleme, Inheritance (kalıtım), Polymorphism (çok biçimlilik), soyutlama, tasarım desenleri (singleton), arayüzler (interface) bunların ortak kullanımı hakkında derin bilgi. İsim alanları (namespace) kullanımı, erişim belirteçleri (public, protected, private), Mvc nedir ve mvc'de nasıl bir proje geliştirilir mutlaka öğrenilmesi gerekiyor. (Bir çok şeyden bahsetmedim)

Bunları iyi öğrendikten ve bir kaç proje çıkardıktan sonra laravel veya symfony frameworklerinin herhangi birine yönelmeniz sizin yararınıza olacaktır.

Dikkat ederseniz SQL bilgisinden hiç bahsetmedim. Onu da öğreneceksiniz. Hemde çok iyi öğrenmek zorundasınız. Daha sonra laravel'e geçtiğiniz de eloquent orm ile çalışacaksınız. Büyük kolaylıktır.

Symfony doctrine orm kullanır xenforo'da birebir aynıdır. Setup, relationships, entity management, conclusion, schemas, fetching data işlemlerini öğrenmek için Getting Started with Doctrine - Doctrine Object Relational Mapper (ORM) veya symfony de buraya doctrine orm buraya Databases and the Doctrine ORM (Symfony Docs) bakabilirsiniz.

Bunların sonrasında Packagist sitesinden paketleri yüklemeyi bunları kullanmayı öğrenebilirsiniz.

Bunlar hepsi bir süreç, bilgisayar ekranına bakmaktan geceleri gözlerinize buz koymadan, gözlerinizin feri gitmeden maalesef kodlama yapılmıyor. Bunu xenforo babında söylemiyorum bugün xenforo var yarın başka bir yazılım gelir. O yüzden bunları bilen birinin en başında söylediğim gibi ilgili yazılımın dokümantasyonuna bakması yetiyor.
abi döktürmüşsün, ellerine sağlık. bunu makale olarak not ediyorum ve ekibimle de paylaşacağım. Allah senden razı olsun.
 

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.