Etimologi: Dalam bahasa Chichewa Afrika, kata "zolinga" berarti "tujuan."
Daftar isi
Saya berkomitmen penuh untuk satu proyek, dan komponen-komponen ini-kerangka, cron, modul terjemahan, akses database, CMS tanpa database, dan manajemen hak sederhana-adalah blok bangunan vital yang diperlukan untuk itu. Setelah dua bulan upaya dan menggambar dari dua puluh tahun pengalaman, saya merasa sudah sepantasnya untuk memberikan kembali kepada komunitas open-source sebelum mempelajari aspek sumber tertutup dari proyek.
Anda mungkin bertanya -tanya mengapa tidak memilih solusi yang ada? Nah, proyek yang saya kerjakan diantisipasi untuk berjalan selama 10 tahun ke depan. 90% dari kode tidak memiliki paralel dalam modul yang ada. Untuk alasan itu, itu harus minimalis dan abadi. Minimalis karena lebih sedikit fitur yang sama dengan sakit kepala pemeliharaan yang lebih sedikit dan lebih sedikit masalah peningkatan. Immutable karena secara signifikan mengurangi biaya pemeliharaan modul.
Masalah dengan semua kerangka kerja populer adalah popularitas mereka yang semata -mata. Mereka cenderung dibanjiri dengan kebutuhan, ide, dan persyaratan yang bersaing, yang mengarah ke siklus abadi untuk melanggar kompatibilitas, menambahkan fitur yang tidak perlu, dan memperbaiki bug. Proyek saya tidak dimaksudkan untuk ditingkatkan atau ditulis ulang setiap dua tahun, yang merupakan umur rata -rata rilis utama dalam kerangka kerja populer apa pun. Perlu berjalan selama 10 tahun bertegangan dengan investasi minimal. Terus -menerus mengerjakan aplikasi untuk mengimbangi daftar bug tetap dari vendor yang luas, untuk fitur yang bahkan tidak Anda gunakan, bukan solusi yang layak.
Jadi, begitulah proyek minimalis dan tidak diubah ini terjadi.
Itu harus memenuhi kriteria berikut:
Izinkan saya memperkenalkan Anda kepada Zolinga, kerangka kerja PHP yang memenuhi semua kriteria ini.
Zolinga adalah kerangka PHP minimalis dan dipikirkan dengan matang. Itu tidak memerlukan database (meskipun modul mungkin). Ini merangkum esensi suling dari pengalaman praktis yang diperoleh selama bertahun -tahun mengembangkan aplikasi web. Ini menawarkan API sederhana namun komprehensif untuk membangun aplikasi yang kuat, efisien, dan stabil.
Ini adalah tambahan inovatif untuk lanskap kerangka PHP, jadi saya mendorong Anda untuk mendekatinya dengan rasa petualangan, meskipun dengan hati -hati. Menyelam dan menemukan efisiensi dan ketahanan yang ramping yang ditawarkan Zolinga.
Jika Anda bosan dengan solusi yang terlalu rumit dan luas untuk masalah sederhana dan ingin mengeksplorasi pendekatan baru, Zolinga adalah untuk Anda. Apakah Anda seorang pengembang PHP di tingkat mana pun, Zolinga menawarkan alternatif yang menyegarkan.
Dengan Zolinga, Anda dapat membuat proyek Anda dengan mudah, fokus pada pengkodean fitur -fitur penting tanpa beban komponen yang tidak perlu. Desain API minimalis Zolinga membuatnya sempurna bagi mereka yang lebih suka menggunakan fitur minimal atau sangat ingin menambahkan komponen minimalis ke proyek mereka. Terlepas dari pendekatan minimalisnya, Zolinga adalah platform yang kuat yang mampu menangani bahkan proyek terbesar, menawarkan potensi pertumbuhan yang tidak terbatas.
Mulailah dari yang kecil dan mudah dan tumbuh dengan proyek Anda dengan kecepatan Anda sendiri ke segala arah, berkat fleksibilitas dan skalabilitas cerdas Zolinga.
Untuk menginstal Zolinga, ikuti langkah -langkah ini:
git clone https://github.com/webdevelopers-eu/zolinga.git Konfigurasikan server web Anda untuk melayani direktori public (lihat bagian Apache Di Bawah sebagai contoh). Atau, Anda dapat menggunakan server web php bawaan dengan menjalankan skrip berikut ./bin/zolinga --server di dalam direktori Zolinga.
Arahkan ke URL tergantung pada bagaimana Anda memulai server. Jika Anda berlari ./bin/zolinga --server maka ikuti instruksi di konsol. Jika Anda mengkonfigurasi server web Anda untuk melayani direktori public , maka Anda tahu apa yang harus dilakukan. Anda harus terlebih dahulu mengunjungi /wiki/ url. Kata sandi default halaman wiki adalah ZOLINGA (duh!?). Bundel zolinga wiki adalah tempat yang tepat untuk mulai menggali lebih dalam ke dalam kerangka Zolinga.
Jika Anda lebih suka menguji proyek baru di dalam Docker, berikut adalah panduan instalasi 2 menit cepat untuk menarik gambar PHP dan menjalankan kerangka Zolinga di dalam wadah. ?
$ docker pull php
$ docker run -p 8888:8888 -it --name my_php_container php /bin/bash
dock:$ apt update && apt install -y git
dock:$ git clone https://github.com/webdevelopers-eu/zolinga.git /tmp/zolinga
dock:$ /tmp/zolinga/bin/zolinga --serverKemudian kunjungi http: // localhost: 8888 di browser Anda.
Ini adalah contoh bagaimana Apache di Debian dapat dikonfigurasi untuk melayani Zolinga.
# Checkout the repository into /var/www folder
$ git clone https://github.com/webdevelopers-eu/zolinga.git /var/www/zolinga.localhost
# Set the correct permission - www-data user is the common user for Apache
$ chown -R www-data.www-data /var/www/zolinga.localhost
# Generate example Apache configuration file and put it into /etc/apache2/sites-available
$ /var/www/zolinga.localhost/bin/zolinga skeleton:apache --serverName=zolinga.local --ip=127.0.0.1 > /etc/apache2/sites-available/010-zolinga.conf
# Enable the newly created configuration file
$ a2ensite 010-zolinga.conf
# Restart Apache
$ systemctl restart apache2Kemudian kunjungi http: //zolinga.localhost di browser Anda.
Tentu saja dianggap bahwa PHP sudah dipasang di sistem Anda. Jika tidak, Anda dapat menginstalnya dengan menjalankan perintah berikut:
apt install libapache2-mod-php8.2
a2enmod php8.2 Modul adalah direktori yang berisi file zolinga.json , yang menjelaskan fungsionalitas modul ke sistem. File ini menentukan aturan autoload skrip dan peristiwa yang didengarkan modul. Bagian manifes pendengar memungkinkan Anda untuk mendefinisikan penangan acara yang menanggapi berbagai peristiwa sistem yang menghasilkan pemrosesan berbagai jenis permintaan, seperti HTTP, AJAX, dan baris perintah. Acara Khusus juga dapat membuat instantiasi penangan acara Anda sebagai layanan sistem untuk diakses secara langsung oleh kode lain melalui $api->{serviceName} sintaks untuk kecepatan dan fleksibilitas maksimum.
Setiap modul berisi file zolinga.json yang menjelaskan modul.
Contoh File Manifes Modul:
{
"name" : " Hello World " ,
"description" : " A simple Hello World module. " ,
"version" : " 1.0.0 " ,
"authors" : [ " John Doe <[email protected]> " ],
"listen" : [
{
"event" : " system:content " ,
"class" : " \ Example \ HelloWorld \ Server " ,
"method" : " outputPage " ,
"priority" : 0.8 ,
"origin" : [ " remote " ]
}
],
"autoload" : {
"Example \ HelloWorld \ " : " src/ "
},
"config" : {
"helloWorld" : {
"myGreeting" : " Hello World! ?? "
}
}
} Ya, seperti yang Anda duga, jika Anda mengirim system:content dari asal jarak jauh, metode outputPage dari kelas Server dalam ExampleHelloWorld namespace akan dipanggil.
use Zolinga System Events Event ;
( new Event ( ' system:content ' , Event:: ORIGIN_REMOTE ))-> dispatch ();Hanya ini yang ada untuk itu. Kecuali untuk beberapa gula sintaks opsional untuk membuat modul terwujud lebih mudah untuk ditulis dan dibaca, Anda tidak perlu tahu apa -apa lebih dari apa yang ada dalam contoh ini. Anda praktis ahli Zolinga sekarang!
Untuk menginstal modul baru, jalankan perintah berikut:
./bin/zolinga install --module={ID}Contoh:
./bin/zolinga install --module=zolinga-cmsUntuk mendaftar semua modul yang tersedia, jalankan perintah berikut:
./bin/zolinga install --listZolinga adalah sistem yang sangat dapat diperluas dengan berbagai modul, beberapa di antaranya mungkin berpemilik bersama dengan dokumentasi mereka. Ini berarti tidak ada dokumentasi online tunggal dan komprehensif yang tersedia. Namun, tidak seperti sistem lain, Zolinga sendiri menawarkan fitur yang mendokumentasikan diri yang luas dan wiki bawaan. Wiki ini menampilkan semua dokumentasi yang diperlukan untuk instalasi spesifik Anda, termasuk semua modul.
Keuntungannya jelas: setiap modul membawa dokumentasi sendiri, yang secara otomatis menyatu dengan wiki all-system saat instalasi. Pekerjaan, modul, dan kemajuan Anda tetap hanya terlihat oleh Anda dan orang lain dengan perangkat lunak Anda yang diinstal. Anda tidak akan pernah melihat dokumentasi untuk fitur yang belum Anda instal, memastikan Anda selalu memiliki versi dokumentasi yang tepat yang sesuai dengan instalasi Anda.
Itu menantang untuk diterapkan, tetapi hasilnya berbicara sendiri - itu bekerja dengan baik!
Secara default, wiki tersedia di URL / Wiki / setelah instalasi awal. Anda dapat mengubah jalur URL dan kata sandi dalam file konfigurasi.
Menikmati! ?
Anda mungkin ingin memeriksa juga modul lain. Tambahkan saja ke Zolinga dengan berlari
./bin/zolinga install --module=ID[,ID,...]Misalnya
./bin/zolinga install --list
./bin/zolinga install --module=zolinga-cron,zolinga-db,zolinga-rms,zolinga-intl,zolinga-cmszolinga-cmszolinga-cronzolinga-dbzolinga-rmszolinga-commonszolinga-intl Saat Anda menginstal modul, itu akan ditambahkan secara otomatis ke direktori modules dan dokumentasinya akan digabungkan ke dalam dokumentasi wiki Zolinga inbuilt tepat di instalasi Zolinga Anda.