Banyak pengembang WordPress merindukan fitur seperti Eloquent, Blade, Service Container, dan Service Provider untuk membantu mereka membangun plugin yang kuat. Falcon hadir untuk mengubah permainan dan menghadirkan kemampuan ini ke ujung jari Anda.
Harap diperhatikan: Plugin ini menyediakan serangkaian layanan dan tidak dimaksudkan untuk digunakan sebagai dasar pembuatan plugin baru.
Versi PHP minimum: 8.2
Buat Direktori: Di folder wp-content
, jika folder mu-plugins
tidak ada, buatlah. Tempatkan folder falcon-base-services
di dalamnya.
Buat File Loader: Di root folder mu-plugins
, buat file PHP dengan nama pilihan Anda dan tambahkan kode berikut:
<?php
require ' falcon-base-services/falcon-base-services.php ' ;
Perhatikan bahwa isi folder mu-plugins
tidak perlu diaktifkan di admin WordPress dan dijalankan sebelum semua plugin lainnya. Selain itu, WordPress tidak memindai folder di dalam mu-plugins
kecuali diinstruksikan secara eksplisit.
Instal Dependensi: Buka terminal di folder falcon-base-services
dan jalankan perintah berikut:
composer install
Jika Anda belum menginstal Composer, Anda dapat mendownload dan menginstalnya dari link ini.
Plugin sekarang siap digunakan. Mari jelajahi fitur-fiturnya dan cara menggunakannya.
Jika Anda perlu menempatkan situs dalam mode pemeliharaan, cukup ganti nama file maintenance.example.php
di folder storage
menjadi maintenance.php
. Anda juga dapat mengedit isi file sesuai kebutuhan.
Item yang disebutkan dalam file .env.example
penting. Ganti nama file menjadi .env
.
Anda dapat mengatur variabel Anda di file .env
dan menggunakannya di mana saja dalam kode Anda seperti ini:
$ _ENV [ ' item ' ];
//or
env ( ' item ' )
Untuk menyetel item di var $_ENV global, Anda dapat menggunakan:
setEnv ( $ key , $ value );
Anda juga dapat menggunakan file konfigurasi di proyek Anda yang mengembalikan array. Tempatkan file konfigurasi di folder config dan akses nilai yang diinginkan menggunakan fungsi falconConfig($file, $key = null, $folder_path = null)
.
$file
: Nama file konfigurasi.
$key
: Kunci dari array yang diminta. Jika null, seluruh konten file dikembalikan.
$folder_path
: Secara default, path ke file konfigurasi ada di folder config. Jika Anda ingin memiliki konfigurasi baru di proyek Anda, Anda juga dapat menentukan jalur ke folder baru.
Plugin ini menggunakan wadah layanan yang kuat dengan kemampuan pengkabelan otomatis.
Layanan Singleton: Daftarkan layanan singleton menggunakan:
FALCON_CONTAINER -> singleton (Test::class);
// or
FALCON_CONTAINER -> singleton ( ' test ' , Test::class);
Layanan Non-Singleton: Daftarkan layanan non-tunggal menggunakan:
FALCON_CONTAINER -> bind (Test::class);
// or
FALCON_CONTAINER -> bind ( ' test ' , Test::class);
Menggunakan Penutupan: Anda juga dapat menggunakan penutupan:
FALCON_CONTAINER -> bind ( ' test ' , function () { return Test::class; });
Menggunakan Layanan: Gunakan metode get
untuk mengambil layanan:
FALCON_CONTAINER -> get ( ' test ' );
FALCON_CONTAINER -> get (Test::class);
Metode Penyelesaian: Selesaikan metode dari kelas menggunakan:
FALCON_CONTAINER -> getMethod (Test::class, ' run ' );
Ini secara otomatis akan menyelesaikan semua dependensi yang diperlukan oleh kelas dan metode.
Untuk membuat penyedia layanan, buat kelas di folder app/providers
dan perluas kelas ServiceProvider
. Gunakan metode register
dan boot
sesuai kebutuhan. Kemudian, tambahkan alamat penyedia pada file providers.php
yang terletak di folder bootstrap
.
Semua tabel WordPress default tersedia sebagai model di folder app/Model
. Tabel WooCommerce
akan segera ditambahkan. Anda dapat menggunakan Query Builder dan Eloquent yang canggih untuk berinteraksi dengan tabel ini.
( new FalconBaseServices Model Post ())-> published ()-> with ( ' author ' )-> get ();
falconDB ():: table ( ' wp_posts ' )
-> where ( ' post_status ' , ' publish ' )
-> leftJoin ( ' wp_users ' , ' wp_posts.post_author ' , ' = ' , ' wp_users.ID ' )
-> select ( ' wp_posts.* ' , ' wp_users.user_nicename ' )
-> get ();
Jika Anda ingin menggunakan tabel baru sebagai model, buat kelasnya dengan memperluas kelas FalconBaseServicesModelBaseModel
. Jika tabel tidak menggunakan awalan default, setel $with_prefix
ke false:
protected $ with_prefix = false ;
Aturan dan penggunaan model dan Query Builder/Eloquent persis seperti dokumentasi Laravel.
Secara default, Blade digunakan sebagai mesin template, yang penggunaannya sedikit berbeda dari standar. Perhatikan contohnya:
falconTemplate ()-> setViewDir ( ' path to dir ' )-> setView ( ' name of file without extension ' )
-> share ([ ' item ' => ' value ' ])-> render ();
Anda juga bisa menggunakan Ranting. Kelas yang diturunkan dari antarmuka app/Services/TemplateEngine/Template.php
tersedia di jalur app/Services/TemplateEngine/Implements/Twig.php
. Cukup tambahkan Twig ke plugin melalui Composer lalu edit file app/Providers/TemplateServiceProvider.php
. Penggunaannya mirip dengan contoh di atas.
Untuk menggunakan logger, gunakan falconLogger():
falconLogger ()-> error ( ' message ' , [ ' data ' => ' value ' ]);
Jika Anda ingin ProcessIdProcessor
, GitProcessor
, dan MemoryUsageProcessor
disertakan dalam log, atur item terkait dalam file .env ke true.
Untuk menggunakan email, Anda dapat menggunakan falconEmail():
falconEmail ()-> send ( $ to , $ subject , $ content , $ from = null , $ bcc = null );
Untuk informasi lebih lanjut tentang cara menggunakan email, lihat file app/Services/Sender/Implements/Email/PHPMailer.php
.
Selamat membuat kode!