MVC 프레임워크란 무엇입니까? PHP로 MVC 프레임워크를 개발하는 방법(코드 포함)

不言
풀어 주다: 2023-04-03 12:14:01
원래의
3080명이 탐색했습니다.

PHP로 개발된 MVC 프레임워크는 PHP를 처음 접하는 분들에게는 그 의미를 이해하지 못할 수도 있지만, 오늘 글에서는 제가 MVC 프레임워크에 대해 어떻게 이해하고 있는지 자세히 말씀드리겠습니다. PHP 방식으로 MVC 프레임워크를 개발합니다.

MVC를 사용하면 프로그램에 많은 데이터베이스 작업이 추가되어 성능이 저하됩니다. MVC는 단지 프레임워크일 뿐이며 데이터베이스 작업과 아무 관련이 없습니다. MVC는 명확한 프로그래밍 개발 모델만 제공하므로 이를 잘 처리하는 한 불필요한 데이터베이스 작업을 많이 수행하는 것은 불가능합니다. MVC를 통해 프로그래머가 자신도 모르게 더 많은 데이터베이스 작업을 수행할 수 있다면 이는 확실히 좋은 MVC 아키텍처가 아닙니다. MVC는 간단한 개발 프레임워크만 제공하면 된다고 생각합니다. 많은 라이브러리 클래스를 통합할 필요는 없으며 프로그래머에게는 라이브러리 클래스를 사용하는 것이 가장 좋습니다.

저는 개인적으로 MVC 이론을 깊이 연구하지 않았습니다. 모델 메서드를 호출하면 해당 데이터를 얻을 수 있지만 프로그래머는 구현 세부 사항에 신경 쓸 필요가 없습니다. 실제 개발에서는 데이터베이스 테이블이 모델에 해당할 가능성이 높습니다.

예를 들어, 사용자 정보 테이블 userinfo는 모델 사용자에 해당합니다. 모델 사용자의 add() 메소드를 호출하면 데이터베이스에 데이터 조각을 추가할 수 있고, select()를 통해 쿼리를 구현할 수 있으며, 업데이트를 통해 갱신할 수 있습니다. 동시에 모델은 mysql, oracle 또는 sql을 사용하더라도 특정 데이터베이스 유형과 독립적이어야 합니다. 섬기는 사람.

동시에 웹 개발에서는 ROR을 사용하지 않는 것이 좋습니다. 복잡한 다중 테이블 쿼리에는 SQL 언어를 사용하는 것이 매우 편리하고 빠르며 성능도 더 좋습니다. 프로그래머가 SQL에 대한 지식조차 없다면 그는 자격을 갖춘 프로그래머라고 생각하지 않습니다. 따라서 직접 SQL 쿼리를 구현하기 위해 내 모델에 쿼리 메서드를 제공합니다.

다음은 PHP에서 MVC 프레임워크를 개발한 대략적인 결과입니다.

< ?   
class module{   
var $mysql;//数据库操作类,可以是mysql,oracle,sql等等   
var $tbname;//模型对应的表名称   
var $debug=false;//是否是调试模式   
function module($tbname,$db=&#39;&#39;){}//构造函数   
function _setDebug($debug=true){}
//开启或者关闭调试模式   
function add($row,$tbname=&#39;&#39;){}
//新增加一条记录   
function query($strsql){}//直接查询sql语句   
function count($where=&#39;&#39;,$tbname=&#39;&#39;){ }
//计数统计   
function select($where=&#39;&#39;,$tbname=&#39;&#39;){}
//查询   
function delete($where=&#39;&#39;,$tbname=&#39;&#39;){}
//删除满足条件的一个记录   
function update($set,$where,$tbname=&#39;&#39;){}
//更新指定记录   
function detail($where,$tbname=&#39;&#39;){}
//详细显示一条记录   
}   
?>
로그인 후 복사

이 모델에서는 배열과 데이터베이스 필드를 사용하여 대응합니다. 초기 PHPBEAN에서는 대응을 위해 객체를 사용했습니다. 그러나 나중에 PHP에서 MVC 모델을 개발하는 이 방법은 PHP에서는 좋지 않고 불필요한 클래스를 많이 추가한다는 것을 느꼈습니다. 배열을 사용하는 것이 더 편리하고 더 좋습니다(PHP의 배열은 실제로 좋은 것이며 JAVA보다 훨씬 좋습니다).

아래 데모에서는 시연을 위해 mysql 데이터베이스를 사용했는데, 데이터베이스 작업 클래스가 원래 라이브러리 클래스 중 하나에서 변경되었습니다.

아래에서는 데모 사용에 대해 자세히 설명합니다. ^_^
원래 패키지의 index.php에

< ?   
require_once(SITE_PATH.&#39;/libs/phpbean.class.php&#39;);   
require_once(SITE_PATH.&#39;/libs/mysql.class.php&#39;);   
$phpbean=new phpbean();   
global $phpbean;   
$mysql=new mysql("localhost","****","****","52site");   
$phpbean->register(&#39;db&#39;,$mysql);   
unset($mysql);   
?>
로그인 후 복사

를 추가하세요. 이 PHP 개발 MVC 모델 코드는 주로 MYSQL을 등록 기관에 등록합니다. 등록 기관 사용 원리에 대해서는 제가 번역한 두 기사를 읽어보세요.
그런 다음 다음 코드를 사용하여 새 mysqlController.class.php 파일을 만듭니다.

< ?   
/**   
* MVC演示demo   
* 仅仅实现最基本的MVC功能,不包含安全处理,数据过滤,及其他优化措施。   
* @author:feifengxlq   
* @since:2007-1-24   
* @copyright http://www.php.cn/
*/   
class mysqlController   
{   
var $module;   
function mysqlController(){   
require_once(SITE_PATH.&#39;/libs/module.class.php&#39;);   
$this->module=new module(&#39;52site_siteinfo&#39;);//52site_siteinfo为表名称   
$this->module->query("set names &#39;gb2312&#39;");//如果是MYSQL5请加上这句   
}   
function indexAction(){   
print_r($this->module->select());//这样实现了读取数据   
}   
}   
?>
로그인 후 복사

위의 첫 번째 단계는 컨트롤러 생성자에 모델을 추가하는 것입니다. 그런 다음 indexAction의 모델 메소드를 호출하여 데이터를 표시합니다. 이는 가장 간단한 쿼리 목록을 구현합니다.

관련 권장 사항:

자신만의 PHP MVC 프레임워크 구축

PHP의 MVC를 알고 계십니까?

위 내용은 MVC 프레임워크란 무엇입니까? PHP로 MVC 프레임워크를 개발하는 방법(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!