Rumah > Soal Jawab > teks badan
Adakah anda merasakan perkara yang sama?
Bagaimana menulis mvc?
Saya merasa sangat sukar untuk menulis
PHP:
M:
class Teacher {
function add($data) {
$sql = "insert into teacher_table($teacher_name) values($data['teacher_name'])";
return $db->query($sql);
}
}
V:
(省略)
C:
class Teacher {
$data = array("teacher_name"=>$_POST["teacher_name"],....);
$row = new Teacher();
$row->add($data);
echo "Yeah~!";
}
asp.net tidak mempunyai tatasusunan sefleksibel PHP Pertukaran data antara m-v-c semuanya melalui tatasusunan Asp.net tidak boleh mempunyai jadual cincang, bukan? Nampaknya tutorial adalah mengenai menulis kelas entiti
怪我咯2017-05-16 17:08:17
Saya tidak pernah menulis PHP, tetapi saya mempunyai pengalaman dalam pembangunan ASP.NET MVC Di sini saya akan menerangkan secara ringkas pemahaman saya.
Mula-mula, mari kita lihat prinsip interaksi ASP.NET MVC melalui gambar:
Lapisan Model sebenarnya adalah konsep yang besar, termasuk perkhidmatan, logik perniagaan, ketekunan data, dan lain-lain. Lapisan Pengawal memainkan peranan dalam menyambungkan lapisan Model dan lapisan Lihat ialah antara muka, yang sepatutnya menjadi sangat penting .
Daripada penerangan anda tentang masalah, titik yang lebih kusut ialah apabila lapisan Pengawal dan lapisan Lihat berinteraksi, ASP.NET MVC menggunakan kaedah menentukan kelas entiti (ViewModel), yang membuatkan anda merasakan kaedah pembangunan ASP.NET MVC sangat rumit.
Sebenarnya, soalan ini adalah relatif Pertama sekali, untuk ASP.NET MVC, pada asasnya setiap pandangan mesti mentakrifkan ViewModel Ini sememangnya tempat yang sangat membosankan, tetapi jika dilihat semula ia membawa faedah: Bekerjasama dengan Visual Studio, anda boleh menggunakan pintar gesaan dalam paparan (saya tidak akan mengembangkan gesaan pintar di sini, saya sudah mengatakan bahawa saya telah menggunakannya)! Dengan cara ini, anda boleh mengelakkan masalah rentetan ajaib dalam tatasusunan PHP $data['xxx'] (contohnya, anda harus menulis $data['teacher'], tetapi secara tidak sengaja menulis $data['teach'] yang salah, yang membawa lebih Banyak kemungkinan untuk melakukan kesilapan, tidakkah anda fikir menulis rentetan ini juga satu perkara yang membosankan?).
Jika anda fikir kaedah tatasusunan adalah lebih baik, anda sebenarnya boleh melakukannya dalam ASP.NET MVC Anda boleh menggunakan TempData dalam kelas Pengawal, contohnya:
public ActionResult List()
{
TempData["hello"] = "world";
return View();
}
Dengan cara ini, lapisan paparan juga boleh mendapatkan data melalui TempData[].
PHP中文网2017-05-16 17:08:17
Dalam .Net, $data anda boleh diterangkan mengikut jenis Kamus<rentetan, rentetan> atau Kamus<rentetan, objek>.
Ia tidak mudah sama sekali. Tiada gesaan auto-lengkap dan tiada semakan statik dalam IDE.
世界只因有你2017-05-16 17:08:17
Saya sudah lama menggunakannyaasp.net mvc
,现在用php
的yii
,两者几乎完全一样的思想。所以不是说框架哪个更方便,而是语言哪个更方便。我个人也觉得php
确实比C#
要方便很多,就像你说的,数组灵活,json
灵活,.net
现在也有dynamic
类型,但是不感冒,感觉生硬。另外一个抛弃微软的理由就是觉得太麻烦,太封闭,就是不愿意用windows
,干嘛要用宇宙第一IDE(visual studio)?老子就是只愿意在linux
下用vim
, tiada yang lain.