Rumah > Artikel > rangka kerja php > Apakah perbezaan antara thinkphp3.2 dan 5.0?
Perbezaan: 1. 3.2 menyokong corak URL biasa dan definisi laluan biasa, tetapi 5.0 tidak; Versi 4. 5.0 meninggalkan kebanyakan takrif malar asal dan hanya mengekalkan takrif malar laluan rangka kerja.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi thinkphp v5.0, komputer Dell G3.
Perbezaan antara versi 5.0
dan versi sebelumnya agak besar. Artikel ini adalah untuk pengguna biasa dengan versi 3.2
Berikut ialah beberapa perbezaan utama 5.0
.
URL dan penghalaan
5.0
Akses URL tidak lagi menyokong mod URL
biasa dan penghalaan tidak menyokong definisi laluan biasa . Sebaliknya, semuanya ditukar kepada penghalaan peraturan dengan peraturan pembolehubah (takrif biasa):
Peningkatan utama adalah seperti berikut;
Objek permintaan baharu dan objek respons , memproses permintaan secara seragam dan mendapatkan maklumat permintaan, dan objek bertanggungjawab untuk mengeluarkan respons klien atau penyemak imbas.
5.0
Request
Modul dan PengawalResponse
Request
Response
Ruang nama aplikasi disatukan kepada (boleh ditentukan) bukannya nama modul;
Nama kelas pengawal tidak mempunyai akhiransecara lalai dan boleh dikonfigurasikan untuk menghidupkan
Parameter mendayakan akhiran kelas pengawal; - dan kaedah selepas operasi;app
definisi atribut pra-operasi; pengawal; Controller
use_controller_suffix
return
beforeActionList
sebaliknya, contohnya: Versi 5.0
Peningkatan utama adalah seperti berikut:Db
M
menyokong operasi pertanyaan rantaian; pertanyaan data menyokong mengembalikan objek, tatasusunan dan db
objek;
pertanyaan set data menyokong Array yang dikembalikan dan menambah pembina pertanyaan dan mengubah sintaks pertanyaan; > menyokong pertanyaan penutupan;
menyokong pertanyaan blok;M('User')->where(['name'=>'thinkphp'])->find();
Menyokong pertanyaan paparan; > model
db('User')->where('name','thinkphp')->find();
perubahan model adalah Yang terbesar, pada asasnya model adalah konsep berorientasikan objek sepenuhnya, termasuk model yang berkaitan Imbuhan kelas model tidak lagi membawa
, tetapi dibezakan secara langsung oleh ruang nama Panggilan fungsiPDOStatement
Versi 3.2Collection
; pengambil dan pengubah suai; menambah penulisan automatik cap waktu;
5.0
Pengesahan automatik dan pelengkapan automatikModel
D
model
. Penyiapan automatik dicapai dengan mentakrifkan pengubah suai dalam model.
D('User')->where(['name'=>'thinkphp'])->find();Pengecualian
model('User')->where('name','thinkphp')->find();Toleransi sifar untuk ralat, secara lalai pengecualian akan dilemparkan untuk sebarang tahap ralat (tetapi boleh digunakan dalam aplikasi Tahap ralat ditetapkan dalam fail awam), dan halaman pengecualian direka bentuk semula untuk memaparkan maklumat ralat terperinci untuk penyahpepijatan yang mudah.
Trait
5.0
版本废弃了原来的大部分常量定义,仅仅保留了框架的路径常量定义,其余的常量可以使用App
类或者Request
类的相关属性或者方法来完成,或者自己重新定义需要的常量。
废除的常量包括:
REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE IS_AJAX __EXT__ COMMON_MODULE MODULE_NAME CONTROLLER_NAME ACTION_NAME APP_NAMESPACE APP_DEBUG MODULE_PATH
函数
5.0
版本核心框架不依赖任何自定义函数,但仍然封装了一些常用功能到助手函数,你可以随意重新定义或者增加助手函数。
【相关教程推荐:thinkphp框架】
Atas ialah kandungan terperinci Apakah perbezaan antara thinkphp3.2 dan 5.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!