Mod berbilang aplikasi sistem
. │ ├ ─lihat Lihat direktori
│ └─... bimbang terpaksa kembali kepada anda ├─awam Direktori WEB (direktori akses luaran)
│ ├─index.php Fail masukan
│ ├─router.php ├─router.php
─t fail ujian pantas akses Menulis semula untuk apache │ ├─View View Directory View Directory. Dengan fungsi kumpulan penghalaan, mekanisme fleksibel yang serupa dengan pelbagai aplikasi boleh direalisasikan. Jika anda ingin menggunakan mod berbilang apl, anda perlu memasang sambungan mod berbilang aplikasi think-multi-app.composer require topthink/think-multi-appKemudian struktur direktori aplikasi anda perlu dilaraskan seperti berikut (perbezaan utama adalah dalam direktori aplikasi). .
│ │ ├─config Direktori konfigurasi (keutamaan)
│ │ └─ ... Lagi direktori perpustakaan
│ ├─admin Aplikasi Backend
│ │ ├─pengawal Direktori pengawal
│ │ ├─model │ Katalog model
│ │ ─ ├│ │ │ ┎ Lihat │ │ ├─config │ Direktori konfigurasi (keutamaan)
│ │ └─ ... Lagi direktori perpustakaan kelas
│ ├─awam Direktori WEB (direktori akses luaran)
│ ├ ├─admin.php fail entri backend
│ ├ ├─index.php fail entri
│ ├─Router.php fail ujian cepat
│ └ └─.htaccess Rewriting untuk Apache
│ 应用—Katalog Konfigurasi Aplikasi CONFIG
─ konfigurasi aplikasi indeks dDex
─ konfigurasi aplikasi pentadbir
│ 图 视 ─ Lihat Katalog Paparan
─Katalog Paparan Aplikasi Indeks Indeks
Katalog Paparan Aplikasi Admin ADMIN
│ 路 ─ Direktori definisi laluan laluan
─ ├ ─direktori definisi laluan aplikasi indeks indeks
─ direktori definisi laluan aplikasi pentadbir
│ ├─masa jalan masa jalan Boleh menyokong berbilang pintu masuk Fail, aplikasi juga boleh mengekalkan kumpulan pengawal melalui pengawal berbilang peringkat.
Penyerahan berbilang aplikasi automatikmenyokong akses kepada berbilang aplikasi dalam fail kemasukan yang sama, dan menyokong pemetaan dan penyesuaian aplikasi. Jika anda mengakses melalui fail kemasukan index.php dan tidak menetapkan nama aplikasi, sistem secara automatik menggunakan mod berbilang aplikasi automatik.
Alamat URL mod berbilang aplikasi automatik menggunakan // 访问admin应用
http://serverName/index.php/admin
// 访问shop应用
http://serverName/index.php/shop
secara lalai, maksudnya, parameter pertama alamat pathinfo mewakili nama aplikasi semasa, diikuti dengan laluan atau pengawal/operasi aplikasi.
Jika anda mengakses
http://serverName/index.php
secara terus, anda sebenarnya sedang mengakses aplikasi lalai indeks Anda boleh menentukan aplikasi lalai melalui parameter konfigurasi app.php dalam fail konfigurasi app.php.
// 设置默认应用名称 'default_app' => 'home',
Kemudian lawati
http://serverName/index.phpMalah, apa yang anda akses ialah aplikasi rumah. Dalam mod berbilang aplikasi automatik, penghalaan adalah bebas untuk setiap aplikasi, jadi anda tidak boleh meninggalkan parameter aplikasi dalam URL. Tetapi ia boleh diselesaikan menggunakan pengikatan nama domain.
rreeeDengan mengandaikan bahawa aplikasi think tidak wujud, sistem akan bertukar secara automatik kepada satu aplikasi pada masa ini Dalam mod aplikasi, jika terdapat laluan global yang ditentukan, semakan padanan laluan juga akan dilakukan.
Jika kami mentakrifkannya dalam laluan global route/route.php:
http://serverName/index.php/think
Mengakses URL di atas akan mengeluarkan
Route::get('think', function () { return 'hello,ThinkPHP!'; });
Jika anda ingin mengakses terus laluan aplikasi lalai apabila aplikasi think tidak wujud, anda boleh terus akses laluan aplikasi lalai dalam app.php Konfigurasikan
hello,ThinkPHP!
Pada masa ini, anda akan mengakses penghalaan di bawah aplikasi rumah.
Entri aplikasi tambahan
Membenarkan penciptaan fail kemasukan berasingan untuk setiap aplikasi tanpa mengakses berbilang aplikasi melalui fail entri index.php, contohnya, mencipta fail masukan admin.php untuk mengakses aplikasi pentadbir.
// 开启应用快速访问 'app_express' => true, // 默认应用 'default_app' => 'home',
Apabila berbilang aplikasi menggunakan entri berbeza, kandungan setiap fail masukan adalah sama Nama fail masukan lalai (tanpa akhiran) ialah nama aplikasi.
Gunakan kaedah berikut untuk mengakses aplikasi pentadbir
// [ 应用入口文件 ] namespace think; require __DIR__ . '/../vendor/autoload.php'; // 执行HTTP应用并响应 $http = (new App())->http; $response = $http->run(); $response->send(); $http->end($response);
Jika nama fail penyertaan anda tidak konsisten dengan aplikasi, contohnya, dalam aplikasi pentadbir latar belakang anda, nama fail masukan menggunakan test.php, maka fail masukan perlu ditukar kepada:
http://serverName/admin.php
Dapatkan Aplikasi semasa
Jika anda perlu mendapatkan nama aplikasi semasa, anda boleh menggunakan
// [ 应用入口文件 ] namespace think; require __DIR__ . '/../vendor/autoload.php'; // 执行HTTP应用并响应 $http = (new App())->http; $response = $http->name('admin')->run(); $response->send(); $http->end($response);
direktori aplikasi untuk mendapatkannya
aplikasi berbilang aplikasi dan aplikasi berbilang aplikasi mempengaruhi nilai beberapa laluan sistem Untuk memahami dengan lebih baik kandungan manual ini, Anda mungkin perlu memahami lokasi yang diwakili oleh laluan sistem berikut.
Lokasi direktori kelas App.base_path () | ||
Direktori di mana aplikasi semasa berada. adalah sama dengan direktori asas. Jika Ia ialah mod berbilang aplikasi, iaitu subdirektori aplikasi/aplikasi | app_path() | |
direktori konfigurasi di bawah direktori root | ()config_path | |
direktori masa jalan rangka kerja, mod aplikasi tunggal ialah direktori masa jalan bagi direktori akar, mod berbilang aplikasi ialah subdirektori masa jalan/aplikasi | runtime_path() | |