Rumah rangka kerja php ThinkPHP ThinkPHP6新增‘’多应用‘’与ThinkPHP5有啥区别呢

ThinkPHP6新增‘’多应用‘’与ThinkPHP5有啥区别呢

Apr 30, 2020 am 10:18 AM
thinkphp5 thinkphp6

ThinkPHP6中新增了一个叫做“多应用”的名词,这个在ThinkPHP5中并没有,那么这个是干啥的呢?来听php中文网投稿作者王雪芹唠叨唠叨……

首先看下ThinkPHP6官方手册关于多应用的目录结构:

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│
├─public                WEB目录(对外访问目录)
│  ├─admin.php          后台入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─config                应用配置目录
│  ├─index              index应用配置
│  └─admin              admin应用配置
│
├─view                视图目录
│  ├─index              index应用视图目录
│  └─admin              admin应用视图目录
│
├─route                 路由定义目录
│  ├─index              index应用路由定义目录
│  └─admin              admin应用路由定义目录
│
├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录
Salin selepas log masuk

(来源于:ThinkPHP6.0快速开发手册(案例版)

哎呀,这样一看发ThinkPHP6的多应用也不过如此,一个前台index应用,一个后台admin应用,这就叫多应用了。想当年,我们用ThinkPHP5那也开发过前台应用index、后台应用admin,这又啥区别呢?

区别1:就是必须通过composer下载后才能使用。

ThinkPHP6框架默认下载后是单应用,要想使用多应用就要下载:

composer require topthink/think-multi-app
Salin selepas log masuk

区别2:路由定义必须在当前的应用下。

我们知道ThinkPHP5的时候,我们可以在根目录下的路由文件定义,但是ThinkPHP6后必须在应用目录下定义路由。

区别3:ThinkPHP6支持应用入口。

我们在ThinkPHP6中可以对某个应用单独设置入口文件,比如admin应用我可以设置admin.php入口文件来访问。

区别4:域名绑定应用。

举个例子ThinkPHP5的时候我们定义www.a.com/index/index/company.html的路由后,可以实现这样的效果www.a.com/company.html

但是ThinkPHP6你会发现怎么设置路由,index应用都去不掉,始终是www.a.com/index/company.html,这个可咋整?

那么解决方案就可以用到了域名绑定应用了,我们在config/app.php 配置文件中定义域名和应用的绑定,如下方式:

'domain_bind' => [
'www.a.com' => 'index', // 域名绑定到www应用
'admin.a.com' => 'admin', // admin绑定到后台应用
],
Salin selepas log masuk

这样我们就可以用www.a.com/company.html来访问了。

最后:

总的来说,ThinkPHP6的多应用相对比ThinkPHP5还是有比较大的进步,虽然在第一次使用麻烦一点需要composer下载,但是这不影响我们对ThinkPHP6多应用的青睐。

【推荐教程】

1. thinkphp技术文章

2. thinkphp视频教程

Atas ialah kandungan terperinci ThinkPHP6新增‘’多应用‘’与ThinkPHP5有啥区别呢. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika saya mendapat ralat semasa menggunakan thinkphp5 di Pagoda? Apakah yang perlu saya lakukan jika saya mendapat ralat semasa menggunakan thinkphp5 di Pagoda? Dec 19, 2022 am 11:04 AM

Penyelesaian kepada ralat yang dilaporkan semasa menggunakan thinkphp5 dalam Pagoda: 1. Buka pelayan Pagoda, pasang sambungan php pathinfo dan dayakannya 2. Konfigurasikan fail ".access" dengan kandungan "RewriteRule ^(.*)$ index.php ?s=/$1 [QSA ,PT,L]”; 3. Dalam pengurusan laman web, hanya dayakan pseudo-static thinkphp.

Apakah yang perlu saya lakukan jika penulisan semula url thinkphp5 gagal? Apakah yang perlu saya lakukan jika penulisan semula url thinkphp5 gagal? Dec 12, 2022 am 09:31 AM

Penyelesaian untuk penulisan semula url thinkphp5 tidak berfungsi: 1. Semak sama ada modul mod_rewrite.so dimuatkan dalam fail konfigurasi httpd.conf 2. Tukar Tiada dalam AllowOverride None to All 3. Ubah suai fail konfigurasi Apache .htaccess kepada "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" dan simpannya.

Bagaimana untuk mendapatkan URL yang diminta dalam thinkphp5 Bagaimana untuk mendapatkan URL yang diminta dalam thinkphp5 Dec 20, 2022 am 09:48 AM

Kaedah untuk thinkphp5 untuk mendapatkan URL yang diminta: 1. Gunakan kaedah "$request = Request::instance();" kelas "\think\Request" untuk mendapatkan maklumat URL semasa 2. Gunakan pembantu terbina dalam fungsi "$request-> url()" untuk mendapatkan alamat URL lengkap termasuk nama domain.

Apakah yang perlu saya lakukan jika catatan thinkphp5 tidak mendapat nilai? Apakah yang perlu saya lakukan jika catatan thinkphp5 tidak mendapat nilai? Dec 06, 2022 am 09:29 AM

catatan thinkphp5 tidak boleh mendapatkan nilai kerana TP5 menggunakan fungsi strpos untuk mencari rentetan app/json dalam nilai jenis kandungan Pengepala.

Bagaimana untuk mengalih keluar ikon bar tajuk thinkphp5 Bagaimana untuk mengalih keluar ikon bar tajuk thinkphp5 Dec 20, 2022 am 09:24 AM

Bagaimana untuk mengalih keluar ikon bar tajuk thinkphp5: 1. Cari fail favicon.ico di bawah kerangka kerja thinkphp5 awam 2. Padam fail atau pilih gambar lain untuk menamakannya kepada favicon.ico dan gantikan fail favicon.ico yang asal.

Perkara yang perlu digunakan untuk menggantikan iframe dalam thinkphp6 Perkara yang perlu digunakan untuk menggantikan iframe dalam thinkphp6 Nov 24, 2023 pm 03:54 PM

Rangka kerja Ajax dan front-end boleh digunakan dan bukannya iframe. Pengenalan terperinci: 1. Gunakan Ajax untuk mendapatkan data yang dikembalikan oleh pelayan melalui permintaan tak segerak, dan kemudian gunakan JavaScript untuk memasukkan data ke dalam elemen DOM yang ditentukan untuk mencapai muat semula separa. Anda boleh menggunakan kaedah $.ajax() jQuery atau objek XMLHttpRequest asli untuk menghantar permintaan Ajax 2. Gunakan rangka kerja bahagian hadapan yang popular untuk mengurus status dan komponen halaman dengan lebih cekap dan mencapai pemuatan dan pengemaskinian kandungan yang dinamik.

Apakah yang perlu saya lakukan jika thinkphp5 menggesa bahawa pengawal tidak wujud? Apakah yang perlu saya lakukan jika thinkphp5 menggesa bahawa pengawal tidak wujud? Dec 06, 2022 am 10:43 AM

Penyelesaian kepada thinkphp5 yang menyebabkan pengawal tidak wujud: 1. Semak sama ada ruang nama dalam pengawal yang sepadan ditulis dengan betul dan tukarkannya ke ruang nama yang betul 2. Buka fail tp yang sepadan dan ubah suai nama kelas;

Analisis ringkas tentang cara menggunakan workerman dalam thinkphp6 [perkongsian tutorial] Analisis ringkas tentang cara menggunakan workerman dalam thinkphp6 [perkongsian tutorial] Dec 08, 2022 pm 08:30 PM

Bagaimana untuk menggunakan workererman dalam thinkphp6? Artikel berikut akan memperkenalkan anda kepada tutorial menyepadukan workerman dengan thinkphp6 saya harap ia akan membantu anda.

See all articles