phpfuncs, Go için PHP Fonksiyonları

phpfuncs, Go için PHP Fonksiyonları

Selamlar, beni biliyorsunuz şu anda PHP ve Python ile geliştirilen web siteleriyle aylık bazda kazanç sağlıyorum. Ama Golang’a sempati duyuyorum. Ve phpfuncs adında, Go için bir modül oluşturdum :)

BU Go MODÜLÜNÜ NEDEN YAZDIM?

Dark Mode
phpfuncs, Go için PHP Fonksiyonları

phpfuncs (this link opens in a new window) by serkanalgur (this link opens in a new window)

PHP functions implementation to Golang. This package is for the Go beginners who have developed PHP code before. You can use PHP like functions in your app, module etc. when you add this module to your project.

Go öğrenmeye çalışırken daha önceden alışkın oldum hıza ulaşamadığımı fark ettim. Bu sanırım yaklaşık olarak 15 yıldır PHP ile kodlamanın verdiği alışkanlığı kıramamamdan kaynaklıydı.

Bunu fark ettikten sonra hem kendim, hem de yeni başlayanlar için PHP’den Go’ya geçişi hızlandırabilecek bir modül yazabilir miyim dedim. Böylelikle öğrenme sürecimi de hızlandırabilirdim.

Modülün başlangıç parıtlısı bu şekilde ortaya çıktı :)

Modül 4 günlük ve MIT lisansını seçtim. Bazı PHP kodlarını Go ile yeniden oluşturdum. İsimlendirme esnasında olabildiğince aynı kalıpları kullanmaya çalıştım. Şimdilik 93 tane fonksiyon (matematik, dosya sistemi ve genel fonksiyonlar), bu fonksiyonlara bağlı 2 tür ve bir adette sabit bulunmakta.

Tüm fonksiyon listesini modüle ait pkg.go.dev sayfasından görüntüleyebilirsiniz.

PHP.net üzerinde bulunan açıklamaları ve tanımları kullanmaya özen gösteriyorum. BU modülü elimden geldiğince hızlı şekilde tamamlamayı ve benim gibi PHP’den geçiş yapan yazılımcılara kolaylık sağlamayı istiyorum.

Sizler de inceleyebilir ve dilerseniz modüle katkıda bulunabilirsiniz. Aşağıya dosya okuma işlemi örneği ekliyorum. PHP ile nasıl yapıyorsak aynı şekilde bu örnekte de yapabiliriz (dosya yazma fonksiyonunu daha modüle eklemedim).

KURULUM

go get github.com/serkanalgur/phpfuncs

phpfuncs ile Dosya Okuma Örneği

Aşağıdaki örnekte görebileceğiniz üzere eklenti PHP kullanmış olan birini çok basit şekilde, neredeyse aynı fonksiyon yapısını kullanmasına imkan tanıyor.

Alt tire barındıran fonksiyon isimlerini Go’ya göre düzenledim. Bazı normal fonksiyon isimlerinide olası hataların önüne geçmek amacıyla farklı oluşturdum. Örnek olarak fread() ismi normal olarak Fread() olmalı ancak ben FRead() olarak oluşturdum.

Umarım bu modül ile yazılımcı arkadaşlara yardımcı olabilirim.

Okuduğunuz için teşekkürler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir