thinkphp dan laravel adalah berbeza. Walaupun thinkphp dan laravel adalah kedua-dua rangka kerja pembangunan PHP, ia mempunyai banyak perbezaan: 1. Kaedah untuk menghasilkan anjakan terakhir adalah berbeza Thinkphp menggunakan kaedah "$this->display()" untuk membuat templat, manakala Laravel menggunakan ". kaedah return view()". ; 2. Laravel ialah rangka kerja penghalaan semula, dan thinkphp memerlukan kaedah pengawal untuk akses biasa.
Persekitaran pengendalian artikel ini: sistem Windows 10, versi ThinkPHP5&&Laravel8, komputer Dell G3.
Thinkphp berbeza daripada laravel
ThinkPHP adalah percuma dan sumber terbuka, pantas, ringkas, berorientasikan objek dan ringan. Rangka kerja pembangunan PHP yang besar, ThinkPHP boleh menyokong persekitaran pelayan seperti windows/Unix/Linux Versi rasmi memerlukan PHP5.0 atau lebih tinggi, menyokong pangkalan data MySql, PgSQL, dan sambungan PDO itu sendiri keperluan modul Keperluan persekitaran operasi sistem aplikasi khusus bergantung pada modul yang terlibat dalam pembangunan.
Laravel ialah rangka kerja web PHP sumber terbuka dan percuma yang dicipta oleh Taylor Otwell Ia direka untuk melaksanakan seni bina MVC perisian web dan berfungsi sebagai alternatif kepada CodeIgniter. Kod sumbernya dihoskan pada GitHub, dan syarat lesen ialah lesen MIT. Ciri-ciri Laravel termasuk: menyokong pengesahan dan kebenaran pengguna, mempunyai sistem pakej modular dengan perpustakaan pakejnya sendiri, menyediakan cara untuk menyambung kepada pelbagai jenis pangkalan data hubungan, menyediakan alatan untuk membantu dengan penggunaan dan penyelenggaraan aplikasi, dan membangunkan Banyak gula sintaksis.
Perbezaan utama: (thinkPHP lebih sesuai untuk tabiat pengekodan Cina):
1. Perbezaan dalam kaedah templat rendering:
Dalam rangka kerja Laravel. , Gunakan return view() untuk memaparkan templat;
ThinkPHP menggunakan $this->display() untuk memaparkan templat;
2 Dalam rangka kerja Laravel, kerana pertimbangannya Ia adalah pemalsuan permintaan rentas tapak, jadi jika anda menggunakan borang borang untuk menghantar nilai dalam kaedah siaran, jika anda tidak menambah {{csrf_field()}} pada borang, ralat sintaks TokenMethodnotfound akan dilaporkan;
dan TP Rangka kerja perlu melengkapkan kod secara manual untuk mengelakkan serangan merentas tapak; 3. Laravel ialah rangka kerja penghalaan semula (5.4 jika tiada kaedah pengawal, tulis sahaja Anda boleh mengaksesnya melalui penghalaan, fikirPHP (3.2), anda mesti mempunyai kaedah pengawal untuk akses biasa
4 );
5. Laravel mempunyai enjin templat Blade yang berkuasa;
6 Middleware, ciri-ciri Laravel, boleh merealisasikan pemprosesan pra dan selepas akses, seperti permintaan dan pemulangan, pengesahan kebenaran, dsb.;
7. Pertimbangan bersyarat Perbezaan dalam cara pernyataan ditulis:
Pernyataan penghakiman if else dan pernyataan foreach dalam rangka kerja Laravel mesti bermula dengan @if dan berakhir dengan @endif . Jika tidak, ralat sintaks akan dilaporkan Perkara yang sama berlaku untuk @foreach @endforeach;
Rangka kerja TP digunakan dengan cara yang sama seperti peraturan sintaks PHP, penghakiman pernyataan ifesle langsung dan foreach loop traversal
Laravel mempunyai sejumlah besar kaedah terbina dalam untuk digunakan oleh pembangun, yang dalam aplikasi sebenar lebih dekat dengan "biar Idea pembangunan ""objek melakukan segala-galanya", contohnya, semasa pengesahan borang latar belakang , Laravel mempunyai sejumlah besar kaedah pengesahan terbina dalam, seperti pengesahan nama pengguna: kami menggunakan 'nama pengguna'=>'diperlukan' (tidak boleh kosong) dalam kaedah pengesahan )|alpha_dash (mestilah nombor, huruf dan garis bawah) |antara:6,18 (berapa digit di antara); juga terbina dalam sebilangan besar kaedah seperti e-mel sama: nama medan, dsb., yang meningkatkan kelajuan pembangunan ;
Kaedah penyulitan Dalam rangka kerja TP, kami menggunakan md5() apabila menyulitkan nama pengguna dan kata laluan Walau bagaimanapun, kelemahan md5 ialah ia boleh diterbalikkan dan dipecahkan, dan kata laluan yang sama md5 di bawah peraturan yang disulitkan. mungkin kelihatan sama, yang mengurangkan keselamatan mereka;
Walau bagaimanapun, kaedah penyulitan sehala "Hash" terbina dalam rangka kerja Laravel, dan parameter yang sama disulitkan tidak akan muncul dalam yang sama situasi, yang meningkatkan keselamatan;
Dalam pembangunan sebenar, kami sering menghadapi masalah sedemikian, iaitu, lokasi pembangunan tidak tetap, yang menyebabkan kami memerlukan perubahan yang kerap Konfigurasi pangkalan data telah menyebabkan masalah untuk kerja pembangunan masih belum mengelak "bencana" ini; dalam rangka kerja laravel, kemunculan fail persekitaran .env menyelesaikan masalah ini. Kami hanya perlu mengkonfigurasi fail .env di lokasi kerja yang berbeza, kerana sama ada git atau svn ". .env tidak akan diserahkan kepada pelayan bersama-sama dengan fail."
Pembelajaran yang disyorkan: "
Tutorial Video PHPAtas ialah kandungan terperinci Adakah thinkphp dan laravel sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!