키 테이크 아웃
WordPress MVC는 MVC (Model-View-Controller) 아키텍처를 WordPress에 소개하여 개발자가 플러그인 개발에서 논리와 프리젠 테이션을 분리 할 수있는 플러그인입니다.
WordPress MVC를 사용하려면 WP MVC 플러그인을 설치하고 활성화 한 다음 명령 줄에서 특정 MVC 명령을 사용하여 새 플러그인을 비계 할 수 있습니다.
<demonstr> 튜토리얼은 사용자 정의 데이터베이스 테이블 작성, 항목 추가 및 편집 양식 작성 및 관리자 및 공공 측면에서 데이터 프리젠 테이션 관리를 포함하는 "animelist"라는 샘플 플러그인을 작성합니다.
<v v> WordPress MVC는 코드를 모델 (데이터 처리),보기 (출력 프리젠 테이션) 및 컨트롤러로 구성하여 코드 구성 및 유지 가능성을 향상시킵니다. 이는 복잡하거나 대규모 WordPress 프로젝트에 특히 유용합니다.
<cover> 튜토리얼은 WordPress에서 MVC 환경을 설정하여 플러그인에 필요한 MVC 구성 요소를 생성하고 사용자 정의 스타일 및 스크립트 추가에 이르기까지 WordPress 플러그인 개발에서 MVC의 실제 구현을 보여줍니다.
</cover></v></demonstr></press></p>
<v> mvc 란 무엇입니까?
<on> 계속 진행하기 전에 우리 모두 같은 페이지에있는 것이 중요합니다. MVC가 무엇인지 이미 알고 있다면 다음 섹션으로 건너 뛰십시오. <h2>
<is is> 그래, 그래서 MVC는 무엇입니까? MVC는 모델보기 컨트롤러를 나타냅니다. 이 모델은 응용 프로그램이 사용하는 데이터를 나타냅니다. 데이터베이스와 대화하는 부분입니다. 보기는 프레젠테이션을 다룹니다. 이곳에서 HTML 코드 및 기본 프레젠테이션 논리를 넣은 곳입니다. 마지막으로 주요 작업 이이 두 가지를 함께 묶는 컨트롤러가 있습니다. 예로는 사용자 입력 검증 및 소독이 있습니다. 기본적으로 응용 프로그램의 전반적인 흐름을 제어 할 책임이 있습니다. </is>
</h2>
<set> 설치 및 설정
WP MVC는 MVC가 WordPress와 함께 작동하기 위해 설치 해야하는 플러그인입니다. 여기에서 플러그인을 다운로드하고 일반적으로 WordPress에 플러그인을 설치하는 것처럼 설치할 수 있습니다. 완료되면 WordPress에 로그인하여 플러그인 페이지에서 활성화하십시오. <ul><in> 플러그인 MVC 웨이
<on> 계속 진행하기 전에이 튜토리얼에서 구축 할 내용에 대한 간단한 개요를 제공하겠습니다. 우리는 웹 사이트의 관리자쪽에 생성 된 모든 애니메이션을 나열하는 플러그인을 만들 것입니다. 이 사이트가하는 것과 거의 비슷합니다. 관리자 측에는 애니메이션 쇼를 추가, 목록, 편집 또는 삭제할 수있는 인터페이스가 있습니다. 공공 측면에서는 특정 페이지의 그리드보기로 제시 할 것입니다. <h2>
<ready> 이제 새 플러그인을 만들 준비가되었습니다. WP MVC 플러그인을 설치 한 경로로 탐색하여이를 수행 할 수 있습니다.
</ready>
</h2>
그런 다음 WPMVC 파일에 실행 권한을 추가하십시오. 이것은 우리가 새 플러그인을 생성하기 위해 사용할 파일입니다. <p>
</p>
다음으로 <can> 이제 새 플러그인을 생성 할 수 있습니다. 이를 위해 다음 명령을 실행하십시오. <p>
</p>
이렇게하면 WordPress 설치의 WP-Content/플러그인 디렉토리 아래에 새 플러그인이 생성됩니다. 저에게는 애니메이션 목록 디렉토리를 만들었습니다. 해당 디렉토리를 열고 Anime_List_Loader.php 파일을 엽니 다. 이 파일에는 플러그인을 활성화하거나 비활성화 할 때 실행되는 기능이 포함되어 있습니다. 많은 사용자 정의 데이터를 저장해야하므로 옵션 API를 사용하여 데이터베이스에 물건을 저장하는 대신 사용자 정의 테이블을 만들어야합니다. 이를 위해서는 플러그인 활성화시 새 테이블을 생성 할 코드를 추가해야합니다. 활성화 메소드 안에 다음 코드를 추가하십시오
<pre class="brush:php;toolbar:false">cd path/to/plugins/wp-mvc
위의 코드에서는 원시 SQL 쿼리를 사용하여 ID, 제목, 포스터, 플롯 및 장르 필드가있는 테이블을 작성하고 있습니다. 그런 다음 dbdelta 함수는 SQL 쿼리를 실행하는 데 사용됩니다.
다음으로, 비활성화 방법 하에서, 우리는 혼란을 정리해야합니다. 아래 코드는 WordPress 데이터베이스에서 테이블을 제거합니다.
일반적으로 이것은 당신이하고 싶은 방식이 아닙니다. 일부 사용자는 여전히 플러그인이 시간이 지남에 따라 획득 한 데이터가 필요할 수 있습니다. 플러그인을 비활성화하더라도. 그러나 일을 단순하게 유지하기 위해 여기서는 처리하지 못할 것입니다. chmod +x wpmvc
이제 WordPress Admin 페이지에서 새 플러그인을 활성화하기에 좋은시기입니다. 모든 것이 올바르게 작동하면 WordPress 데이터베이스에서 wp_anime_lists 테이블을 생성해야합니다.
다음, 다음 명령을 실행하십시오
위의 명령은 지정한 모델의 뷰, 컨트롤러 및 모델을 생성합니다. 첫 번째 Animelist는 플러그인의 이름이고 두 번째는 모델의 이름입니다. WPMVC는 여기에서 명명 규칙을 사용합니다. 모델은 항상 단일 형태이어야하며 테이블은 복수형입니다. 모델 이름의 모든 대문자는 밑줄로 분리되어야 함을 의미합니다. 모델의 이름은 테이블의 이름을 기준으로해야합니다. 따라서 위의 규칙을 사용하여 테이블 이름이 anime_lists 인 경우 모델을 Animelist로 지정해야합니다. 밑줄은 낙타로 바뀌고 복수형은 단수 형태로 변환됩니다.
다음, app/views/admin/anime_lists에서 add.php 파일을 열고 edit.php를 열고 다음 코드를 추가하십시오.
편집장 파일에서 :
위에서 한 일은 새로운 애니메이션 쇼를 추가하고 기존 공연을 편집하기위한 양식을 만드는 것이 었습니다. 이것은 WPMVC에 내장 된 양식 도구를 사용합니다. 분해하기 위해 먼저 새 형식을 만들고 모델의 이름을 인수로 제공합니다. 이 경우 모델의 이름은 animelist입니다. cd path/to/plugins/wp-mvc
다음, 입력 메소드를 사용하여 테이블에 추가 한 각 열을 출력합니다. 이 방법은 필드의 이름을 첫 번째 인수로 간주합니다. 기본적으로 WPMVC는 데이터 유형을 확인하여 출력 할 필드 유형을 결정합니다. 따라서 데이터 유형이 Varchar 인 경우 텍스트 입력을 출력합니다. 데이터 유형이 텍스트 인 경우 TextArea 등을 출력합니다.
다른 입력 유형을 사용하려면 입력 유형을 포함하는 배열을 두 번째 인수로 지정할 수 있습니다.
chmod +x wpmvc
마지막으로, 우리는 최종 방법을 사용하여 양식을 닫습니다. 이것은 버튼의 레이블을 인수로 가져옵니다.
이 시점에서 우리는 이제 몇 개의 애니메이션 쇼를 추가 할 수 있습니다. WP MVC는 모델 이름의 이름을 따서 명명 된 WordPress 대시 보드에 새 메뉴를 추가하여 자동으로 처리합니다. 이 경우 새 메뉴의 이름은 '애니메이션 목록'이어야합니다. 거기에서 '새로운 추가'하위 메뉴를 사용하여 새 항목 추가를 시작할 수 있습니다.
다음은 기존 항목을 나열하는 코드를 업데이트해야합니다. 다음 경로에서 찾을 수 있습니다
./wpmvc generate plugin AnimeList
기본적으로 다음 코드가 포함되어 있습니다
이는 ANIME_LISTS 테이블에 이름 필드가 없기 때문에 테이블의 모든 행에 대해 반환 된 오류로 발생합니다. 이 문제를 해결하려면 WP_ANIME_LISTS 테이블에있는 필드를 사용하기 만하면됩니다.
파일을 업데이트 한 후에는 결과가 다음과 같이 보일 것입니다 : global $wpdb;
$sql = '
CREATE TABLE '. $wpdb->prefix . 'animelists (
id int(11) NOT NULL auto_increment,
title varchar(255) NOT NULL,
poster varchar(255) NOT NULL,
plot TEXT NOT NULL,
genres TEXT default NULL,
PRIMARY KEY (id)
)';
dbDelta($sql);
이제 우리는 웹 사이트의 대중을 향한 쪽을 진행할 수 있습니다.
계속 진행하기 전에 명령 줄을 사용하여 모델, 컨트롤러 및 뷰를 생성 할 때마다 아는 것이 중요합니다. WP MVC는 또한 해당 모델에 새 페이지를 할당합니다. 따라서 Animelists 모델의 경우 ANIME_LISTS 페이지를 만듭니다. Apache 구성에서 Mod_rewrite를 활성화하고 WordPress .htaccess 파일을 추가 한 다음 Permalinks 설정을 Post Name을 사용하도록 설정하십시오.
편의를 위해 다음은 다음과 같은 .htaccess 파일입니다.
require_once ABSPATH.'wp-admin/includes/upgrade.php';
global $wpdb;
$sql = 'DROP TABLE ' . $wpdb->prefix . 'anime_lists';
$wpdb->query($sql);
일단 완료되면 이제 페이지에 액세스 할 수 있는지 확인할 수 있습니다. 기본적으로 거기에는 아무것도 볼 수 없습니다. 그것이 일할 것입니다.
cd path/to/plugins/wp-mvc
먼저 앱/컨트롤러/anime_lists_controller.php 파일을 엽니 다. ANIME_LISTS 페이지의 컨트롤러입니다. 기본적으로 다음 코드가 포함되어야합니다
기본 공개 컨트롤러 (MVCPublicController)에서 추가 된 기본값을 고수하려는 경우 괜찮습니다. 그러나 사물을 약간 사용자 정의하려면 다음과 함께 인덱스 메소드를 무시해야합니다.
위에서하는 일은 $ this-> params를 사용하여 기본 컨트롤러에 기본 매개 변수를 제공하는 것입니다. 그런 다음 기본값을 무시할 수 있도록 변수에 할당합니다. 기본적으로 컨트롤러는 페이지 당 데이터베이스에서 10 개의 항목을 선택합니다. 6 만 선택하려면 PER_PAGE 매개 변수를 6 : 로 설정하여 그렇게 할 수 있습니다.
chmod +x wpmvc
그게 우리가 사용자 정의하는 데 필요한 전부입니다. 코드의 나머지 부분은 모델의 Paginate 메소드를 사용하여 컬렉션을 만듭니다. 이 컬렉션은‘물체’(애니메이션 쇼)를 통과 한 다음 페이지 매김을보기에 설정하는 데 사용됩니다.
이제 ANIME_LISTS 페이지를 렌더링하는 책임이있는보기를 열어줍니다. 앱/뷰/anime_lists/index.php에 있습니다. 일단 열리면 다음 코드를 추가하십시오
이것은 컨트롤러에서 일찍 통과 한 모든 객체를 살펴 봅니다. 루프 내부에서는 각 객체의 세부 사항을 표시하는보기를 렌더링합니다. render_view 메소드는보기의 이름을 첫 번째 인수로, 그리고 우리가 두 번째로 전달하려는 데이터.
./wpmvc generate plugin AnimeList
마지막으로, 우리는 페이지 매김을 출력합니다.
다음, 동일한 디렉토리에서 _item.php 파일을 열고 다음 코드를 추가하십시오.
이것은 각 객체의 세부 사항을 보여줍니다. 위의 코드에서 볼 수 있듯이 $ 객체 변수에서 각 필드에 직접 액세스 할 수 있습니다. 또한 MVC_Public_URL이라는 도우미 기능을 사용하여 각 객체의 개별 페이지를 가리키는 URL을 생성합니다. 이 메소드는 컨트롤러의 이름과 객체의 ID를 포함하는 배열을 가져옵니다.
global $wpdb;
$sql = '
CREATE TABLE '. $wpdb->prefix . 'animelists (
id int(11) NOT NULL auto_increment,
title varchar(255) NOT NULL,
poster varchar(255) NOT NULL,
plot TEXT NOT NULL,
genres TEXT default NULL,
PRIMARY KEY (id)
)';
dbDelta($sql);
이것은 다음과 유사한 URL을 생성합니다
다음으로, 우리는 또한 개별 객체 페이지를 업데이트해야합니다. 그렇게하려면 show.php 파일을 엽니 다. 여전히 같은 디렉토리에 있습니다.
require_once ABSPATH.'wp-admin/includes/upgrade.php';
global $wpdb;
$sql = 'DROP TABLE ' . $wpdb->prefix . 'anime_lists';
$wpdb->query($sql);
여기에는 큰 차이가 없습니다. 기본적으로 이전보기의 출력과 동일합니다. 이번에 만 우리는 또한 줄거리를 출력합니다.
우리는 또한 메인 Anime_lists 페이지에 대한 링크를 추가하고 있습니다 :
./wpmvc generate scaffold AnimeList AnimeList
눈을 조금 기쁘게하는 것. 웹 사이트의 대중이 직면 한 CSS를 추가해 봅시다. App/Public/CSS 디렉토리에 스타일 시트를 추가 할 수 있습니다. 파일 Anime-Lists.css의 이름을 지정하고 다음 코드를 추가하십시오.cd path/to/plugins/wp-mvc
우리가 방금 만든 스타일 시트를 사용하기 위해 플러그인의 앱/구성 디렉토리 아래에서 bootstrap.php 파일을 만듭니다. 그런 다음 다음 코드를 추가합니다
위의 코드는 익숙해 보일 것입니다. WordPress에 일반적으로 맞춤형 스크립트와 스타일을 추가하는 방법입니다. 이번에는 MVC_CSS_URL이라는 다른 도우미 기능을 사용하고 있습니다. 이 기능은 플러그인의 컴퓨터 친화적 인 이름 (힌트 : 플러그인의 폴더 이름을 복사)과 스타일 시트의 파일 이름을 사용합니다.
일단 완료되면 관리자 측에 몇 가지 항목을 추가했습니다. 최종 출력은 다음과 같아야합니다
chmod +x wpmvc
이 Github Repo 의이 플러그인에 사용 된 코드를 확인할 수 있습니다.
결론
그게 다야! 이 튜토리얼에서는 플러그인을 사용하여 WordPress에서 MVC를 구현하는 방법에 대해 배웠습니다. 우리는이 튜토리얼에서 표면을 긁었습니다. 자세한 내용은 WP MVC 문서를 확인하십시오. 당신은 어떤가요? WordPress에 다른 MVC 솔루션을 알고 있거나 사용하십니까? 의견에 알려주십시오.
WordPress MVC 에 대해 자주 묻는 질문
WordPress MVC와 전통적인 WordPress 개발의 차이점은 무엇입니까?
전통적인 WordPress 개발은 PHP를 사용하여 테마와 플러그인을 만드는 것이 포함되며 WordPress MVC (Model-View-Controller)는 상호 연결된 세 가지 구성 요소로의 응용 프로그램 로직. 이 분리를 통해 개발자는 복잡한 응용 프로그램을보다 효율적으로 관리 할 수 있습니다. 이 모델은 데이터 및 비즈니스 로직을 처리하고 View는 데이터 표시를 관리하며 컨트롤러는 사용자 입력을 처리합니다. 이 구조는 코드를보다 정리하고 재사용 할 수 있으며 유지 관리하기 쉽게 만듭니다.
WordPress MVC 사용을 어떻게 시작할 수 있습니까? WordPress MVC를 사용하려면 WordPress MVC 프레임 워크를 설치해야합니다. WP MVC, Typerocket 또는 Rareloop와 같은 몇 가지 옵션이 있습니다. 설치되면 WordPress 응용 프로그램을위한 모델, 뷰 및 컨트롤러를 만들 수 있습니다. 이 프레임 워크는 시작하는 데 도움이되는 자세한 문서 및 튜토리얼을 제공합니다.
WordPress MVC를 사용하면 어떤 이점이 있습니까?
WordPress MVC는 몇 가지 이점을 제공합니다. 코드에 대해 깨끗하고 체계적인 구조를 제공하여 유지 관리 및 업데이트가 더 쉽습니다. 또한 응용 프로그램의 다른 부분에서 동일한 모델이나보기를 사용할 수 있으므로 코드 재사용 성을 촉진합니다. 또한 비즈니스 논리를 프레젠테이션 계층과 분리하여 개발자와 디자이너가 독립적으로 작동 할 수 있습니다. WordPress MVC는 모든 유형의 WordPress 프로젝트에 적합합니까?
WordPress MVC는 특히 높은 수준의 조직과 확장 성이 필요한 복잡한 프로젝트에 유리합니다. 그러나 간단한 웹 사이트 나 블로그의 경우 전통적인 WordPress 개발이보다 간단하고 효율적 일 수 있습니다. 기존 WordPress 테마 및 플러그인과 함께 WordPress MVC를 사용할 수 있습니까? 기존 테마 및 플러그인. 그러나 MVC 구조에 맞게 코드를 수정해야 할 수도 있습니다. 자신의 MVC 기반 테마 및 플러그인을 만들 수도 있습니다.
WordPress MVC를 배우기가 어렵습니까? MVC 디자인 패턴에 익숙하고 PHP에 대한 경험이 있다면, WordPress MVC 학습은 비교적 간단해야합니다. 그러나 MVC 또는 PHP를 처음 사용하는 경우 구조 및 구문에 익숙해지는 데 약간의 시간이 걸릴 수 있습니다.
전자 상거래 웹 사이트에 WordPress MVC를 사용할 수 있습니까? 예. , WordPress MVC는 전자 상거래 웹 사이트에 사용될 수 있습니다. 복잡한 기능과 대규모 데이터베이스를 처리 할 수있어 온라인 상점에 적합합니다. WordPress MVC가 데이터베이스 운영을 어떻게 처리합니까?
WordPress MVC에서 모델은 데이터베이스 운영을 처리 할 책임이 있습니다. 데이터베이스와 통신하고 쿼리를 수행하며 결과를 반환합니다. 이러한 문제의 분리로 인해 코드는 더 깨끗하고 관리하기가 더 쉬워집니다.
다른 프로그래밍 언어와 함께 WordPress MVC를 사용할 수 있습니까? WordPress MVC는 PHP를 기반으로합니다. 개발. 그러나 프론트 엔드의 JavaScript와 같은 응용 프로그램의 특정 부분에 다른 언어를 사용할 수 있습니다. WordPress MVC를 배우는 데 사용할 수있는 리소스는 무엇입니까?
몇 가지 리소스가 있습니다. WordPress MVC를 배우십시오. 사용중인 MVC 프레임 워크의 공식 문서부터 시작할 수 있습니다. 커뮤니티로부터 배우고 도움을받을 수있는 온라인 자습서, 코스 및 포럼도 있습니다.
위 내용은 WordPress MVC를 시작합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!