Idenya adalah untuk membuat kerangka kerja yang mudah digunakan untuk pemula. Kami akan menggunakan kelas Application () untuk memuat modul yang diperlukan seperti routes , controllers , models . Kelas model secara langsung mewakili tabel dalam database.
Kerangka kerja ini sedang dikembangkan . Akan menawarkan arsitektur pola MVC dengan komponen, dan perutean dan ORM. Kelas model akan secara langsung mencerminkan tabel DB.
Di terminal, arahkan ke direktori proyek Anda dan jalankan kode berikut:
composer require rforge/rforgeKemudian jalankan perintah ini untuk menghasilkan autoloader baru
composer dump-autoload -o Saat Anda menyelesaikan semua langkah yang diperlukan di atas, Anda dapat mulai membuat aplikasi baru. Ini adalah format sampel index.php Anda. Hubungi jalur require_once seperti yang ditunjukkan di bawah ini untuk memuat kerangka kerja. Setelah baris itu kita perlu mengimpor kelas aplikasi dengan use RforgeApplication; .
require_once __DIR__ . " /vendor/autoload.php " ;
use RForge Application ;
use RForge Settings Config ;
Config:: setConnection ([
" host " => " 127.0.0.1 " ,
" user " => " root " ,
" pass " => "" ,
" charset " => " utf8 " ,
" driver " => " mysql "
]);
$ app = new Application ( " YourProjectNameSpace " );
$ app -> setTables ( ' Models \' ); //<-- Directory path to your models
$ app -> database ( ' bld ' ); // <-- DB Name
$ app -> start (); //<-- Start loading the configurationsCatatan : Anda harus mengatur konfigurasi terlebih dahulu sebelum menjalankan
$app->start(), atau akan menggunakan konfigurasi default
Model secara langsung mewakili struktur basis data. RForge melacak perubahan pada model Anda dan memperbarui database . Kerangka kerja ini belum mendukung pemetaan database relasional model.
Untuk membuat model Anda cukup buat kelas baru kemudian tetapkan properti ke kelas itu. Properti kelas akan menjadi nama columns yang dibuat dalam database. Untuk menetapkan tipe data, gunakan sintaks JSDOC seperti yang ditunjukkan di bawah ini:
class User{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}
Kelas ini memegang implementasi metode basis data dan harus diwarisi oleh model Anda.
class User extends Operations{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}Beberapa model mengembalikan nilai ke model yang memicu. Sementara metode lain mengembalikan nilai sebagai array model itu. Saat ini hanya dua metode yang didukung dan lebih banyak metode akan segera tersedia.
Inisialisasi model Anda dan gunakan metode di bawah ini:
$ user = new User (); // initialize the model with operations
$ user -> findByID ( 23 ); // invoke the method
echo $ user -> name ; //output => AlexPerhatikan bahwa Anda secara langsung mendapatkan nilai kueri Anda pada model Anda. Beberapa metode mengembalikan array model yang memicu metode , sementara yang lain mengembalikan nilai langsung ke kelas itu sendiri
Anda harus menempatkan model ini pada folder terpisah dan harus berada di Directy paling atas. Karena filecrawler akan menemukan kelas lain di direktori ini juga.
setTables di kelas aplikasi.