ThinkPHP6新增‘’多应用‘’与ThinkPHP5有啥区别呢
在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应用运行时目录
(来源于:ThinkPHP6.0快速开发手册(案例版))
哎呀,这样一看发ThinkPHP6的多应用也不过如此,一个前台index应用,一个后台admin应用,这就叫多应用了。想当年,我们用ThinkPHP5那也开发过前台应用index、后台应用admin,这又啥区别呢?
区别1:就是必须通过composer下载后才能使用。
ThinkPHP6框架默认下载后是单应用,要想使用多应用就要下载:
composer require topthink/think-multi-app
区别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绑定到后台应用 ],
这样我们就可以用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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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: 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.

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.

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]](https://img.php.cn/upload/article/000/000/024/6391d85f50fad817.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Bagaimana untuk menggunakan workererman dalam thinkphp6? Artikel berikut akan memperkenalkan anda kepada tutorial menyepadukan workerman dengan thinkphp6 saya harap ia akan membantu anda.
