Komponen dasar untuk mengintegrasikan Sencha Ext JS ke dalam aplikasi PHP
Pustaka ini menyediakan abstraksi sederhana seputar persyaratan yang berbeda saat menjalankan aplikasi Sencha Ext JS 6 (walaupun 5 juga dapat berfungsi) dari konteks pengembangan dan produksi menggunakan halaman yang dihasilkan server. Pembangunan pengembangan dan produksi menggunakan pohon sumber yang berbeda untuk menyajikan file aplikasi. Proses ini didasarkan pada apa yang disebut manifes dan pemuat mikro Javascript. Untuk memastikan proses ini berjalan lancar dengan laman dan perutean yang dihasilkan server, pustaka terhubung ke pembuatan manifes dan secara dinamis memodifikasi manifes berdasarkan lingkungan dan konteks yang diperlukan.
Saat ini perpustakaan ini hanya digunakan sebagai dasar dari teqneers/ext-application-bundle, sebuah bundel Symfony yang mengintegrasikan Ext JS ke dalam aplikasi berbasis Symfony. Kami belum mencoba menggunakan perpustakaan sebagai komponen yang berdiri sendiri atau dalam konteks lain selain lingkungan Symfony, jadi berikut ini hanyalah cara kerjanya secara teoritis tanpa bundel. Kami menghargai bantuan dan kontribusi apa pun untuk menjadikan perpustakaan lebih berguna di luar paket.
Anda dapat menginstal perpustakaan ini menggunakan komposer
composer require teqneers/ext-application
atau tambahkan paket ke file composer.json Anda secara langsung.
Mengingat struktur direktori aplikasi fiktif berikut ini
./
|-- src/ Application source code
|-- htdocs/ Public web-facing directory (document root)
| |-- index.php PHP front controller
| |-- app/ Root folder for Ext JS application production build
|-- my-app/ The Ext JS application source folder (sencha generate app -ext MyApp ./my-app)
Anda harus mengkonfigurasi aplikasi Anda (misalnya dari index.php)
$ config = TQ ExtJS Application Configuration ApplicationConfiguration (
__DIR__ . ' /../my-app ' , // the absolute path to the Ext JS application workspace
' ../my-app ' , // the relative path from the public web-facing directory to the Ext JS application workspace
__DIR__ , // the absolute path to the public web-facing directory
' / ' // the relative path from the public web-facing directory to the root directory used for production build artifacts (usually /)
);
// add a default build
$ config -> addBuild (
' default ' , // the build name (just for referencing the build)
' / ' , // the application path relative to the Ext JS application workspace (usually / unless you have multiple applications and/or packages in a single workspace)
' app ' , // the application path relative to the root directory used for production build artifacts
' manifest.json ' , // the build manifest filename for development builds
' bootstrap.js ' , // the micro-loader filename for development builds
null , // the application cache manifest filename for development builds (usually NULL)
' bootstrap.json ' , // the build manifest filename for production builds
' bootstrap.js ' , // the micro-loader filename for production builds
' cache.appcache ' // the application cache manifest filename fro production builds
);
$ application = new TQ ExtJS Application Application (
$ config ,
new TQ ExtJS Application Manifest ManifestLoader (),
' dev ' // dev or prod depending on wether you want to run from development or drom production build
);
$ microLoader = $ application -> getMicroLoaderFile (); // returns a SplFileInfo for the configured micro-loader
$ hasAppCache = $ application -> hasAppCache ();
if ( $ hasAppCache ) {
$ appCache = $ application -> getAppCacheFile (); // returns a SplFileInfo for the configured application cache manifest
}
$ manifest = $ application -> getManifest ( ' /htdocs ' ); // returns a TQExtJSApplicationManifestManifest configured correctly when running document root on your application base path
echo $ manifest ; // outputs the manifest
Saat menjalankan aplikasi dalam mode pengembangan, Anda harus memastikan bahwa root dokumen server web Anda naik satu tingkat dari direktori publik (biasa) yang menghadap web sehingga server web juga dapat menyajikan file dari ruang kerja aplikasi Ext JS.
Lisensi MIT (MIT)
Hak Cipta (c) 2021 TEQneers GmbH & Co.KG
Izin dengan ini diberikan, secara gratis, kepada siapa pun yang memperoleh salinan perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk menggunakan Perangkat Lunak tanpa batasan, termasuk tanpa batasan hak untuk menggunakan, menyalin, memodifikasi, menggabungkan , mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak, dan mengizinkan orang yang menerima Perangkat Lunak untuk melakukan hal tersebut, dengan tunduk pada ketentuan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini akan disertakan dalam semua salinan atau sebagian besar Perangkat Lunak.
PERANGKAT LUNAK INI DISEDIAKAN "APA ADANYA", TANPA JAMINAN APA PUN, TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN KELAYAKAN UNTUK DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, DAN TIDAK ADA PELANGGARAN. DALAM KEADAAN APA PUN PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN, ATAU TANGGUNG JAWAB LAINNYA, BAIK DALAM TINDAKAN KONTRAK, HUKUM ATAU LAINNYA, YANG TIMBUL DARI, ATAU SEHUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN ATAU HAL-HAL LAIN DALAM PERANGKAT LUNAK.