Gunakan aplikasi kerangka ini untuk menyiapkan dengan cepat dan mulai bekerja pada aplikasi Slim Framework 3 baru (diuji dengan SLIM 3.12). Aplikasi ini menangani permintaan HTTP dan baris perintah. Aplikasi ini dikirimkan dengan beberapa penyedia layanan dan middleware sesi di luar kotak. Dukungan untuk resolusi kontainer dan kabel otomatis.
Untuk menghapus penyedia layanan, komentar di file config/app.php dan menghapusnya dari composer.json, perbarui komposer.
Penyedia layanan yang tersedia:
Middleware yang tersedia:
Jalankan perintah ini dari direktori di mana Anda ingin menginstal aplikasi kerangka ramping baru Anda.
php composer.phar create-project jupitern/slim3-skeleton [my-app-name]
Ganti [my-app-name] dengan nama direktori yang diinginkan untuk aplikasi baru Anda. Anda ingin:
public/ direktori aplikasi baru Anda.storage/ dapat ditulis oleh web.$ cd [my-app-name]public$ php -S localhost:8080 atau $ composer serveapp : Kode aplikasi (model, pengontrol, perintah CLI, penangan, middleware, penyedia layanan dan lainnya)config : File konfigurasi seperti DB, surat, rute ...lib : Kelas proyek lainnya seperti util, logika bisnis, dan ekstensi kerangka kerjastorage : File log, file cache, dan aset mentah Anda yang tidak dikompilasi seperti lebih sedikit, sass, atau javascript.public : Direktori Publik berisi file index.php , aset seperti gambar, JavaScript, dan CSSviews : Tampilan file template.vendor : Ketergantungan KomposerKelas aplikasi memiliki metode resolver rute yang:
Contoh mendefinisikan dua rute untuk situs web dan folder backend:
use Psr Http Message ServerRequestInterface as Request ;
use Psr Http Message ResponseInterface as Response ;
// simple route example
$ app -> get ( ' /welcome/{name} ' , function ( Request $ request , Response $ response , $ args ) {
$ name = $ request -> getAttribute ( ' name ' );
$ response -> getBody ()-> write ( " Hello, $ name " );
return $ response ;
});
// example route to resolve request to uri '/' to AppHttpSiteWelcome::index
$ app -> any ( ' / ' , function ( $ request , $ response , $ args ) use ( $ app ) {
return $ app -> resolveRoute ([ App Http Welcome::class, " index " ], $ args );
});
// example calling http://localhost:8080/index.php/test/nuno with the route bellow
// injects the :name param value into the method $name parameter
// Other parameters in the method will be searched in the container by classname or automatically resolved
// in this example the resolveRoute method will create a user instance and inject it in the controller method
$ app -> any ( ' /test[/{name}] ' , function ( $ request , $ response , $ args ) use ( $ app ) {
return $ app -> resolveRoute ([ App Http Welcome::class, " method " ], $ args );
});
namespace App Http ;
use Jupitern Slim3 App Http Controller ;
class Welcome extends Controller
{
public function method ( $ name , App Model User $ user )
{
return get_class ( $ user ). " <br/>name = { $ name }" ;
}
}Cara membuat perintah baru:
Contoh:
Kelas Komando:
namespace App Console ;
class Test extends Command
{
public function method ( $ a , $ b = ' foobar ' )
{
return
"n Entered console command with params: n" .
" a= { $ a }n" .
" b= { $ b }n" ;
}
}Jalankan kelas: Metode dari baris perintah:
// since param "b" is optional you can use one of the following commands
> php cli.php Test method a=foo b=bar
> php cli.php Test method a=fooDapatkan contoh aplikasi
$ app = Lib Framework App:: instance ();
// or simpler using a helper function
$ app = app ();Debug variabel, array atau objek menggunakan fungsi pembantu debug
debug ([ ' a ' , ' b ' , ' c ' ]);
// or debug and exit passing true as second param
debug ([ ' a ' , ' b ' , ' c ' ], true );Baca pengguna dari DB menggunakan penyedia layanan fasih Laravel
$ user = App Model User:: find ( 1 );
echo $ user -> Name ;Kirim email menggunakan layanan penyedia layanan phpmailer bernama 'surat' di file konfigurasi
/* @var $mail PHPMailerPHPMailerPHPMailer */
$ mail = app ()-> resolve ( ' mail ' );
$ mail -> addAddress ( ' [email protected] ' );
$ mail -> Subject = " test " ;
$ mail -> Body = " <b>test body</b> " ;
$ mail -> AltBody = " alt body " ;
$ mail -> send ();Sebutkan konten direktori dengan penyedia layanan flysystem bernama 'FS_LOCAL' pada file konfigurasi
$ filesystem = app ()-> resolve ( ' fs_local ' );
$ contents = $ filesystem -> listContents ( STORAGE_PATH , true );
var_dump ( $ contents );Tulis dan Baca Dari Sesi Menggunakan Kelas Pembantu Sesi
// save user info in session
Jupitern Slim3 Utils Session:: set ( ' user ' , [ ' id ' => ' 1 ' ]);
// get user info from session
$ uservar = Jupitern Slim3 Utils Session:: get ( ' user ' );
var_dump ( $ uservar );Tulis dan Baca dari Cache dengan Penyedia Layanan Redis bernama 'Redis' di file konfigurasi
/** @var JupiternSlim3UtilsRedis $cache */
$ cache = app ()-> resolve ( ' redis ' );
$ cache -> set ( " cacheKey " , " some test value " );
echo $ cache -> get ( " cacheKey " );v3.0
v2.6
V2.5
Jupitern/Slim3-Skeleton dirilis di bawah lisensi MIT.