理解PHP中的MVC编程之MVC框架简介
【什么是MVC?】
MVC是一个可以让你把“三个部分(即MVC的全称,Model、View、Controller)”谐调地组成一个复杂应用程序的概念。一辆汽车就是一个在现实生活中非常好的MVC例子。我们看车都看两个View(显示)部分:内部和外部。而这两个都离不开一个Controller(控制者):司机。刹车系统、方向盘和其他操控系统代表了Model(模型):他们从司机(Controller)那里取得控制方法然后应用到内部和外观(View)。
【网络上的MVC】
MVC框架所涵盖的概念相当简单并且极度灵活。基本的概念就是,你有一个单独的控制器(如index.php)用来控制所有建立在参数请求基础上的框架内应用程序。这个控制器通常包含了(最小程度上)一个定义模型的参数、一个事件和一个GET参数。这样控制器就能确认所有的请求然后运行相应的事件。打个比方来说,一个像这样/index.php?module=foo&event=bar的请求很有可能就是用来载入一个名叫foo的类,然后运行foo::bar()[就是其中的bar()函数]。这样做的好处有:
一个对应所有应用程序的接口
同时维护一个应用程序内无数的代码非常麻烦,因为每一段代码都有自己的相对路径、数据库链接、验证等等。而这样做就免除你在这方面的烦恼,允许你合并并重复使用代码
【为什么要创建作者自己的MVC框架?】
迄今为止,我没有见到过太多用PHP写的MVC框架。事实上我仅仅知道一个-Solar,是完全用PHP5写的。另外一个是Cake,一个试图成为PHP的RoR(Rubyalign=centerbgColor=#e3e3e3border=1>
<?php require_once('config.php');//Otherrequires,DBinfo,etc. $APP_DB='mydb'; $APP_REQUIRE_LOGIN=false;//Settotrueifscriptrequireslogin $APP_TEMPLATE_FILE='foo.php';//Smartytemplate $APP_TITLE='MyApplication'; if($APP_REQUIRE_LOGIN==true){ if(!isset($_SESSION['userID'])){ header("Location:/path/to/login.php"); exit(); } } $db=DB::connect('mysql://'.$DB_USER.':'.$DB_PASS.'@localhost/'.$APP_DB); if(!PEAR::isError($db)){ $db->setFetchMode(DB_FETCHMODE_ASSOC); }else{ die($db->getMessage()); } //Putyourlogichere //Outputthetemplate include_once(APP_TEMPLATE_PATH.'/header.php'); include_once(APP_TEMPLATE_PATH.'/'.$APP_TEMPLATE_FILE); include_once(APP_TEMPLATE_PATH.'/footer.php'); ?>
天哪,只是看这些代码都会让我有退缩的欲望。这段代码的概念就是确保每一个应用程序都能适用于这个处理方法,比如我可以简单地将template.txt拷进myapp.php,改变一些变量,瞧,它就能运行起来了。尽管如此,这个组织严密的处理方法存在一些严重的缺点:
如果我的老板想让作者用myapp.php在一些情况下输出PDF、一些情况下输出HTML、一些情况下(直接提交的XML请求)SOAP,我该怎么办?
如果这个应用程序需要IMAP或LDAP验证,我该怎么办?
我该如何处理各种不同的代码(包括编辑、升级和删除)?
我该如何处理多级验证(管理员vs.非管理员)?
我该如何启用输出缓存?www.phpv.net转载请注明出处
【新方式】
将所有东西都扔进这个MVC框架,你会发现生活是如此简单。请对比以下代码:
<?php classmyappextendsFR_Auth_User { publicfunction__construct() { parent::__construct(); } publicfunction__default() { //Dosomethinghere } publicfunctiondelete() {} publicfunction__destruct() { parent::__destruct(); } } ?>
注意这段代码显然不是用来链接到一个数据库、判断一个用户是否已经登陆、或者输出任何其他信息。控制器掌握了所有的一切。
如果我想验证LDAP,我可以建立FR_Auth_LDAP。控制器可以识别某些输出方法(比如$_GET['output'])并可以随时转换成PDF或者SOAP。事件处理delete,只负责删除,其他的它都不管。因为这个模块拥有一个FR_User类的实例,它可以简单地判断一个用户是否已经登陆等等。Smarty,作为模板引擎控制缓存是理所当然的,但是控制器同样可以控制一部分缓存。
从前面讲的老方式到MVC方式对于很多人来讲可能是一个全新、陌生的概念,但是一旦你转换到了这样一个概念,那么要转回去将是件相当困难的事情。

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



Pengenalan Dalam dunia digital yang berkembang pesat hari ini, adalah penting untuk membina aplikasi WEB yang mantap, fleksibel dan boleh diselenggara. Seni bina PHPmvc menyediakan penyelesaian yang ideal untuk mencapai matlamat ini. MVC (Model-View-Controller) ialah corak reka bentuk yang digunakan secara meluas yang memisahkan pelbagai aspek aplikasi kepada komponen bebas. Asas seni bina MVC Prinsip teras seni bina MVC ialah pengasingan kebimbangan: Model: merangkum data dan logik perniagaan aplikasi. Lihat: Bertanggungjawab untuk membentangkan data dan mengendalikan interaksi pengguna. Pengawal: Menyelaras interaksi antara model dan pandangan, mengurus permintaan pengguna dan logik perniagaan. Seni Bina PHPMVC Seni bina phpMVC mengikut corak MVC tradisional tetapi juga memperkenalkan ciri khusus bahasa. Berikut ialah PHPMVC

Seni bina MVC (Model-View-Controller) adalah salah satu corak yang paling popular dalam pembangunan PHP kerana ia menyediakan struktur yang jelas untuk mengatur kod dan memudahkan pembangunan aplikasi WEB. Walaupun prinsip asas MVC mencukupi untuk kebanyakan aplikasi web, ia mempunyai beberapa had untuk aplikasi yang perlu mengendalikan data kompleks atau melaksanakan fungsi lanjutan. Mengasingkan lapisan model Mengasingkan lapisan model ialah teknik biasa dalam seni bina MVC lanjutan. Ia melibatkan memecahkan kelas model kepada subkelas yang lebih kecil, setiap satu memfokuskan pada fungsi tertentu. Contohnya, untuk aplikasi e-dagang, anda mungkin menguraikan kelas model utama kepada model pesanan, model produk dan model pelanggan. Pemisahan ini membantu meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Gunakan suntikan pergantungan

Corak MVC (Model-View-Controller) ialah corak reka bentuk perisian yang biasa digunakan yang boleh membantu pembangun mengatur dan mengurus kod dengan lebih baik. Corak MVC membahagikan aplikasi kepada tiga bahagian: Model, View dan Controller, setiap bahagian mempunyai peranan dan tanggungjawabnya sendiri. Dalam artikel ini, kita akan membincangkan cara melaksanakan corak MVC menggunakan PHP. Model Model A mewakili data aplikasi dan pemprosesan data. secara amnya,

Rangka kerja SpringMVC dinyahsulit: Mengapakah ia begitu popular, contoh kod khusus diperlukan Pengenalan: Dalam bidang pembangunan perisian hari ini, rangka kerja SpringMVC telah menjadi pilihan yang sangat popular di kalangan pembangun. Ia adalah rangka kerja Web berdasarkan corak seni bina MVC, menyediakan kaedah pembangunan yang fleksibel, ringan dan cekap. Artikel ini akan menyelidiki daya tarikan rangka kerja SpringMVC dan menunjukkan kuasanya melalui contoh kod tertentu. 1. Kelebihan rangka kerja SpringMVC Kaedah konfigurasi fleksibel Spr

Dalam pembangunan Web, MVC (Model-View-Controller) ialah corak seni bina yang biasa digunakan untuk memproses dan mengurus data aplikasi, antara muka pengguna dan logik kawalan. Sebagai bahasa pembangunan web yang popular, PHP juga boleh menggunakan seni bina MVC untuk mereka bentuk dan membina aplikasi web. Artikel ini akan memperkenalkan cara menggunakan seni bina MVC untuk mereka bentuk projek dalam PHP, dan menerangkan kelebihan dan langkah berjaga-jaganya. Apa itu MVCMVC ialah corak seni bina perisian yang biasa digunakan dalam aplikasi web. MV

Membangunkan MVC dengan rangka kerja PHP8: Konsep dan teknik penting yang perlu diketahui oleh pemula Pengenalan: Dengan perkembangan pesat Internet, pembangunan Web memainkan peranan penting dalam industri pembangunan perisian masa kini. PHP digunakan secara meluas untuk pembangunan web, dan terdapat banyak rangka kerja matang yang membantu pembangun membina aplikasi dengan lebih cekap. Antaranya, seni bina MVC (Model-View-Controller) adalah salah satu corak yang paling biasa dan digunakan secara meluas. Artikel ini akan memperkenalkan cara pemula boleh menggunakan rangka kerja PHP8 untuk membangunkan aplikasi MVC.

Membangunkan MVC dengan rangka kerja PHP8: Panduan langkah demi langkah Pengenalan: MVC (Model-View-Controller) ialah corak seni bina perisian yang biasa digunakan yang digunakan untuk memisahkan logik, data dan antara muka pengguna aplikasi. Ia menyediakan struktur yang memisahkan aplikasi kepada tiga komponen berbeza untuk pengurusan dan penyelenggaraan kod yang lebih baik. Dalam artikel ini, kami akan meneroka cara menggunakan rangka kerja PHP8 untuk membangunkan aplikasi yang mematuhi corak MVC. Langkah Satu: Fahami Corak MVC Sebelum mula membangunkan aplikasi MVC, I

Beego ialah rangka kerja aplikasi web berdasarkan bahasa Go, yang mempunyai kelebihan prestasi tinggi, kesederhanaan dan kemudahan penggunaan serta kebolehskalaan yang tinggi. Antaranya, seni bina MVC ialah salah satu konsep reka bentuk teras rangka kerja Beego Ia boleh membantu pembangun mengurus dan mengatur kod dengan lebih baik, meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan menyelidiki seni bina MVC Beego supaya pembangun dapat memahami dan menggunakan rangka kerja Beego dengan lebih baik. 1. Pengenalan kepada seni bina MVC MVC, atau Model-View-Controller, adalah perkara biasa
