Dalam rangka kerja MVC, mekanisme pengawal untuk menjadikan pandangan adalah berdasarkan konvensyen penamaan dan membolehkan penindasan yang jelas. Sekiranya pengalihan tidak ditunjukkan secara eksplisit, pengawal secara automatik akan mencari fail paparan dengan nama yang sama dengan tindakan untuk rendering. 1. Pastikan fail paparan wujud dan dinamakan dengan betul. Sebagai contoh, laluan paparan yang sepadan dengan pertunjukan tindakan pengawal pengawal selia harus pandangan/siaran/show.html.erb atau paparan/siaran/show.cshtml; 2. Gunakan rendering eksplisit untuk menentukan templat yang berbeza, seperti membuat 'custom_template' dalam rel, Lihat ('POSTS.CUSTOM_TEMPLATE'), dan Lihat ("CustomTemplate"); 3. Lulus data ke paparan adalah kunci, Rails melepasi pembolehubah $ pos melalui array melalui pembolehubah contoh @post, laravel dan lulus pembolehubah $ pos melalui teras ASP.NET melalui objek model; 4. Ikuti spesifikasi dan perhatikan perkara -perkara di atas untuk memastikan bahawa pandangan diberikan dengan betul.
Dalam pengawal, memberikan pandangan biasanya tingkah laku lalai dalam kebanyakan rangka MVC seperti Ruby on Rails, Laravel, atau ASP.NET MVC. Jika anda tidak secara jelas memberitahu pengawal untuk melakukan sesuatu yang lain (seperti pengalihan), ia akan mencari fail pandangan yang sepadan dengan nama tindakan pengawal dan menjadikannya secara automatik.
Pastikan fail pandangan anda wujud
Kebanyakan kerangka mengikuti konvensyen di mana pandangan disimpan dalam folder yang dinamakan sempena pengawal, dan fail itu dinamakan sempena tindakan. Contohnya:
- Pengawal:
PostsController
- Tindakan:
show
- Laluan Pandangan yang Diharapkan:
views/posts/show.html.erb
(dalam Rails) atauViews/Posts/Show.cshtml
(dalam ASP.NET)
Jika fail tidak wujud atau tidak dinamakan dengan betul, rangka kerja mungkin membuang ralat atau tidak memberi apa -apa.
Kesalahan biasa:
- Nama folder yang salah (mis.,
post
bukanposts
) - Fail paparan salah eja
- Menggunakan
.php
,.blade.php
, atau.ejs
extensions secara tidak konsisten
Gunakan render eksplisit apabila diperlukan
Kadang -kadang anda ingin memberikan pandangan yang berbeza daripada yang lalai. Dalam kes tersebut, anda boleh menggunakan arahan render
yang jelas di dalam tindakan pengawal anda.
Contohnya di Ruby on Rails:
Def Show @post = post.find (params [: id]) membuat 'custom_template' akhir
Ini memberitahu Rails untuk menjadikan views/posts/custom_template.html.erb
bukan show.html.erb
.
Di Laravel (PHP):
Pertunjukan Fungsi Awam () { paparan kembali ('poss.custom_template'); }
Dan dalam teras ASP.NET:
Pertunjukan IActionResult Awam () { paparan kembali ("CustomTemplate"); }
Petua: Jika anda menggunakan pandangan atau komponen separa, pastikan anda menggunakan kaedah yang betul - seperti
_renderPartial
dalam ASP.NET ataurender partial:
dalam rel.
Lulus data ke paparan
Memberi pandangan tidak berguna melainkan anda lulus beberapa data untuk dipaparkan. Kebanyakan rangka kerja membolehkan anda memberikan pembolehubah dalam pengawal yang tersedia dalam pandangan.
Di rel:
Def Show @post = post.find (params [: id]) akhir
Kemudian di show.html.erb
:
<h1> < %= @post.title %> </h1>
Di Laravel:
Pertunjukan Fungsi Awam () { $ pos = pos :: cari (1); paparan kembali ('posts.show', ['post' => $ post]); }
Dan di asp.net:
Pertunjukan IActionResult Awam () { var post = New Post {title = "Hello World"}; paparan kembali (pos); }
Pastikan data disusun dengan betul dan diluluskan - jika tidak, pandangan anda boleh membuang kesilapan atau tidak memaparkan apa -apa sama sekali.
Susun atur dan struktur pandangan
Jangan lupa susun atur. Kebanyakan kerangka menggunakan fail susun atur (seperti application.html.erb
, _Layout.cshtml
, atau layouts/app.blade.php
) yang membungkus pandangan anda dengan elemen HTML biasa (kepala, nav, footer, dan lain -lain).
Sekiranya pandangan anda yang diberikan kelihatan tidak lengkap, periksa:
- Sama ada fail susun atur wujud
- Sekiranya anda secara tidak sengaja melumpuhkan susun atur (
layout: false
di rel, atau[NonAction]
di ASP.NET) - Bahagian atau bahagian itu dimuatkan dengan betul
Itulah pada dasarnya bagaimana ia berfungsi - pengawal mencari dan memberikan pandangan berdasarkan konvensyen penamaan, dan anda boleh menimpa atau menyesuaikannya apabila diperlukan. Hanya menyimpan struktur fail dan lulus pembolehubah yang konsisten, dan perkara -perkara harus berfungsi dengan lancar.
Atas ialah kandungan terperinci Bagaimana saya memberikan pandangan dari pengawal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

Pilihan Yii atau Laravel bergantung kepada keperluan projek dan kepakaran pasukan. 1) Yii sesuai untuk keperluan prestasi tinggi dan mempunyai struktur ringan. 2) Laravel menyediakan fungsi yang kaya, adalah pemaju yang mesra dan sesuai untuk aplikasi yang kompleks. Kedua -duanya berskala, tetapi Yii lebih mudah untuk modular, manakala komuniti Laravel lebih bijak.

BeforeAction () digunakan dalam YII2 untuk menjalankan logik sebelum tindakan pengawal dilaksanakan. Jika kebenaran menyemak atau permintaan pengubahsuaian, ia mesti mengembalikan panggilan kelas yang benar atau ibu bapa untuk meneruskan pelaksanaan; afteraction () dijalankan selepas tindakan dilaksanakan dan sebelum respons dihantar, yang sesuai untuk pengubahsuaian output atau pembalakan. 1.BeforeAction () dijalankan sebelum tindakan dilaksanakan, dan boleh digunakan untuk pengesahan kebenaran pengguna. Sebagai contoh, mengalihkan pengguna yang tidak dilog ke halaman log masuk, anda perlu mengembalikan ibu bapa :: BeforeAction ($ tindakan) atau benar untuk meneruskan proses, jika tidak, pelaksanaan tindakan akan dicegah; 2. Anda boleh melangkau pemeriksaan tindakan tertentu dengan memeriksa $ tindakan-> id; 3. Afterac

Senibina MVC Laravel terdiri daripada model, pandangan dan pengawal, yang bertanggungjawab untuk logik data, antara muka pengguna dan pemprosesan permintaan masing -masing. 1) Buat model pengguna untuk menentukan struktur dan hubungan data. 2) UserController memproses permintaan pengguna, termasuk penyenaraian, memaparkan dan membuat pengguna. 3) Paparan menggunakan templat bilah untuk memaparkan data pengguna. Senibina ini meningkatkan kejelasan kod dan penyelenggaraan.

YiiassetbundlesorganizeandManageWebassetssss, JavaScript, andimagesinayiiapplication.1.theysimplifyDependencyManagement, memastikanCorrectloadorder.2.theypreventduplicateassetinclusion.3

Apabila menyimpan data ke pangkalan data dalam rangka YII, ia dilaksanakan terutamanya melalui model Activerecord. 1. Mewujudkan rekod baru memerlukan instantiasi model, memuatkan data dan mengesahkannya sebelum menyimpan; 2. Mengemas kini rekod memerlukan pertanyaan data yang ada sebelum tugasan; 3. Apabila menggunakan kaedah beban () untuk tugasan batch, atribut keselamatan mesti ditandakan dalam peraturan (); 4. Apabila menyimpan data yang berkaitan, urus niaga harus digunakan untuk memastikan konsistensi. Langkah -langkah khusus termasuk: menafikan model dan mengisi data dengan beban (), memanggil pengesahan () pengesahan, dan akhirnya melakukan save () kegigihan; Apabila mengemas kini, terlebih dahulu memperoleh rekod dan kemudian memberikan nilai; Apabila medan sensitif terlibat, Massassignment harus dihadkan; Semasa menyimpan model yang berkaitan, Begintran harus digabungkan

Dalam rangka kerja MVC, mekanisme pengawal untuk menjadikan pandangan adalah berdasarkan konvensyen penamaan dan membolehkan penindasan yang jelas. Sekiranya pengalihan tidak ditunjukkan secara eksplisit, pengawal secara automatik akan mencari fail paparan dengan nama yang sama dengan tindakan untuk rendering. 1. Pastikan fail paparan wujud dan dinamakan dengan betul. Sebagai contoh, laluan paparan yang sepadan dengan pertunjukan tindakan pengawal pengawal selia harus pandangan/siaran/show.html.erb atau paparan/pos/show.cshtml; 2. Gunakan rendering eksplisit untuk menentukan templat yang berbeza, seperti render'custom_template 'dalam rel dan paparan (' poss.custom_template ') di laravel

TOCREATEABASICROUTEINYII, FirstSetupAcontrollerbyPlacingItInTHeControllersDirectoryWithProperernamingandClassDefinitionErtingYii \ Web \ Web.1)

Kaedah mewujudkan operasi tersuai di YII adalah untuk menentukan kaedah yang sama bermula dengan tindakan dalam pengawal, secara pilihan menerima parameter; kemudian memproses data, membuat pandangan, atau mengembalikan JSON seperti yang diperlukan; dan akhirnya memastikan keselamatan melalui kawalan akses. Langkah -langkah khusus termasuk: 1. Buat kaedah yang diawali dengan tindakan; 2. Tetapkan kaedah kepada orang ramai; 3. Boleh menerima parameter URL; 4. Proses data seperti menanyakan model, memproses permintaan pos, pengalihan, dan sebagainya; 5. Gunakan AccessControl atau menyemak kebenaran secara manual untuk menyekat akses. Sebagai contoh, ActionProfile ($ ID) boleh diakses melalui /tapak /profil? Id = 123 dan menjadikan halaman profil pengguna. Amalan terbaik adalah
