백엔드 개발 PHP 튜토리얼 리튬 프레임 워크 : 시작하기

리튬 프레임 워크 : 시작하기

Feb 21, 2025 am 10:46 AM

Lithium Framework: Getting Started 리튬 프레임 워크 초보자 : 키 포인트

컨트롤러는 응용 프로그램 라우팅 시스템에 의해 라우팅 된 요청을 처리합니다. 보기는 비즈니스 로직을 프레젠테이션과 분리하고 브라우저에 표시되는 콘텐츠를 쉽게 주제 할 수있는 프레젠테이션 계층입니다. 모델은 데이터베이스의 컨텐츠를 정의하고 처리하여 CRUD (작성, 읽기, 업데이트, 삭제) 작업을 쉽게 만듭니다.

리튬은 MySQL, MongoDB 및 CouchDB를 포함한 다양한 데이터베이스를 지원합니다. 프레임 워크에는 또한 간결하고 검색 엔진 친화적 인 URL을 생성 할 수있는 강력한 라우팅 시스템이 있습니다.
    리튬의 컨벤션은 쉽게 시작할 수있게 해줍니다. 내장 CRUD 메소드를 제공하고 사용자 정의 라우팅을 허용하며 여러 레이아웃을 지원하며보기에서 작은 요소를 렌더링합니다. 이러한 기능은 리튬이 웹 애플리케이션 개발을위한 강력한 도구입니다.
  • 리튬은 PHP 5.3 이상에 적합한 간단하고 효율적인 PHP 프레임 워크입니다. 너무 제한적이지 않고 웹 애플리케이션을 시작할 수있는 좋은 도구 세트를 제공하도록 설계되었습니다.
  • 우리는 URL 요청을 라우팅하기 위해 컨트롤러를 설정합니다. 이 컨트롤러는 데이터 모델을 사용하여 데이터베이스에서 일부 정보를 얻고 처리합니다. 그런 다음이 정보는보기를 사용하여 브라우저에 표시됩니다. 이 모든 것은 표준 MVC 프로세스이지만 리튬에서 실행하는 것이 기쁩니다.
  • 나는 당신이 서버에 프레임 워크를 설정했다고 가정합니다. 적어도 URL로 이동할 때 기본 응용 프로그램의 시작 페이지를 볼 수 있습니다. 또한 정보가 포함 된 데이터베이스가 필요합니다. MySQL을 사용하지만 리튬은 MongoDB 또는 CouchDB와 같은 다른 많은 스토리지 시스템을 지원합니다.
  • 계속 배우고 싶다면 git 저장소를 설정했으며 복제 할 수 있습니다. 마스터 브랜치에는 일반 리튬 프레임 워크가 포함되어 있으며 MVC 지점에는이 기사의 코드가 포함되어 있습니다. 리튬 하위 모듈을 초기화하고 업데이트하는 것을 잊지 마십시오. 데이터베이스에 연결하려면 앱/config/bootstrap 폴더에있는 connections_default.php 파일을 복사하여 connections.php로 이름을 바꿉니다. 그런 다음 파일에 자격 증명을 추가하십시오.
  • 시작하자.
  • 데이터

흥미로운 MVC 컨텐츠를 입력하기 전에 정보가 포함 된 데이터베이스에 테이블을 추가합시다. 가상 페이지 데이터를 사용하므로 내 테이블 (이름이 지정된 페이지)은 ID 열 (int, auto-increment and Drimans Key), 제목 열 (Varchar 255), 컨텐츠 열 (텍스트) 및 생성 된 열 (생성 열)이 포함됩니다. int). 이 표에는 두 개의 행의 샘플 데이터가 있습니다. 단계를 정확히 따르고 싶다면 다음은 테이블 작성 문장입니다.

CREATE TABLE `pages` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  `created` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
로그인 후 복사
로그인 후 복사
다음은 내 가상 데이터 라인입니다

물론 다른 데이터를 사용할 수 있습니다.

INSERT INTO `pages` (`id`, `title`, `content`, `created`)
VALUES
    (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745),
    (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);
로그인 후 복사
로그인 후 복사
<<> C는 컨트롤러

의 의미입니다 컨트롤러는 아마도 모든 MVC 프레임 워크에서 가장 중요한 부분 일 것입니다. 그들의 목적은 응용 프로그램 라우팅 시스템에 의해 라우팅 된 요청을 처리하는 것입니다.

앱의 앱/ 컨트롤러/ 폴더를 보면 컨트롤러를 배치 해야하는 곳이라는 것을 알 수 있습니다. sitecontroller.php (각 컨트롤러 클래스는 자체 파일에 있음)라는 새 파일을 만들고 다음 클래스 선언을 정연시켜 시작합니다. 보시다시피, 리튬 기본 컨트롤러 클래스를 SiteController라는 자체 클래스로 확장합니다. 이 클래스에서는 URL에서 요청할 때 필요한 논리를 실행하는 메소드를 만들 수 있습니다. 우리는 그것이 실제로 나중에 어떻게 적용되는지 살펴 보지만 먼저 라우팅이 어떻게 작동하는지 이해해 봅시다. <,> 기본적으로 URL을 구성 할 때 컨트롤러 클래스 이름 (이 경우 사이트), 메소드 및 매개 변수에 매핑되는 매개 변수를 사용합니다. 메소드 이름이 전달되지 않으면 리튬은 자체적으로 index ()이라는 메소드를 가정합니다. 따라서 http://example.com/site/로 이동하면 Lithium 이이 방법을 찾고 호출합니다. 이제 파라미터 ($ id)를 취하는 view ()라는 메소드가 있다고 가정합니다. 컨트롤러 메소드를 호출하는 URL은 http://example.com/site/view/1이며, 여기서보기는 메소드의 이름이고 1은 함수로 전달되는 매개 변수입니다. 메소드가 더 많은 매개 변수를 얻으면 URL의 슬래시 (/)로 분리됩니다.

그러나 내가 언급했듯이 이것은 기본 동작입니다. 자세한 내용은 /app/config/routes.php 파일에서 자신의 경로를 정의 할 수 있습니다. 자세한 내용은 보지 않지만 해당 문서 페이지에서 자세한 정보를 찾을 수 있습니다.

이제 가상 데이터베이스에서 개별 페이지를 표시 할 책임이있는 Page () 메소드를 작성하겠습니다.

위의 는 데이터베이스 페이지 정보를 시뮬레이션하여 배열에 저장합니다. 그런 다음이 배열을 컨트롤러의 set () 메소드 (상속)로 전달한 다음보기로 보냅니다. 또는 set () 메소드를 사용하는 대신 $ 데이터 배열을 반환 할 수 있습니다. 그러나 두 경우 모두 배열의 키는 변수 이름을 나타내며,이 파일에서 액세스 할 수 있습니다. 그것이 어떻게 작동하는지 봅시다.

<<> (다음 내용은 원본 텍스트와 유사하지만 문을 조정하고 다시 작성하여 원래 의도를 유지하며 중복 코드 블록을 피하기) <🎜 🎜>
<?php namespace app\controllers;

class SiteController extends \lithium\action\Controller {

}
로그인 후 복사

<<> V는

<🎜 view를 나타냅니다 보기는 MVC 프레임 워크의 프리젠 테이션 계층입니다. 응용 프로그램의 비즈니스 논리를 표현에서 분리하는 데 사용되며 브라우저에 표시되는 콘텐츠를 쉽게 주제별로 만들 수 있습니다. <p><a> 페이지 정보를 표시하기 위해보기를 작성하겠습니다. 앱/ 뷰/ 폴더에서는 컨트롤러 클래스 (이 경우)를 사용하는 컨트롤러 클래스의 이름을 따서 명명 된 다른 폴더를 만들어야합니다. 이 폴더에서 .html.php 확장자가 첨부 된 메소드 자체의 이름을 따서 명명 된 파일을 만들어야합니다. 이것은 컨벤션 리튬 이름보기로 컨트롤러에 쉽게 연결할 수 있습니다. <p> <page> 페이지 예제에 새 파일은 앱/뷰/사이트/page.html.php에 있습니다. </p> 이 파일에서 다음을 붙여 넣으십시오 <p> <have> 당신이 추측 한 바와 같이, 여기에 컨트롤러에서 배열 키를 전달하도록 명명 된 변수를 인쇄 할 기본 태그가 있습니다. 리튬은이 구문을 사용하여 변수를 인쇄하고 $ h () 함수를 통해 실행되므로 HTML을 청소하는 데 도움이됩니다. 그러나 이것은이 개체의 속성이 아니라 인쇄 변수에만 적용됩니다. </p> <we> 지금까지 수행 한 작업을 테스트하려면 http://example.com/site/page로 이동하면 시뮬레이션 정보를 보여주는 멋진 페이지가 표시됩니다. 또한 간단한보기가 더 복잡한 레이아웃 (프레임 워크와 함께 제공되는 기본 레이아웃)으로 렌더링됩니다. <p> <in> 리튬의 레이아웃은 제목 및 바닥 글과 같은 일반적으로 사용되는 태그를 사용하여 콘텐츠를 래핑하는 데 사용됩니다. 그들은 앱/레이아웃 폴더에 위치하여 $ this- & gt; content ()를 사용하여보기를 렌더링합니다. 당사의 견해는 Default.html.php 레이아웃에서 기본적으로 렌더링되지만 원하는대로 다른 레이아웃을 지정할 수 있습니다. 컨트롤러에서 해당 컨트롤러의 모든 메소드에 적용되는 클래스 속성 또는 방법 자체에 다음과 같이보기를 렌더링하는 컨트롤러에서 다음을 수행 할 수 있습니다. </p> <to> 우리는 데모 목적에 적합 해 보이기 때문에 기본 레이아웃을 고수합니다. <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>CREATE TABLE `pages` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `content` text, `created` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
로그인 후 복사
로그인 후 복사
<🎜 🎜> <<> m 모델

<🎜 🎜> 요청 및 표현 논리가 처리되었으므로 시뮬레이션 된 페이지 데이터를 가상 데이터베이스 컨텐츠로 바꿔야합니다. 우리는 모델을 사용 하여이 정보를 추상화하고 쉽게 액세스 할 것입니다.

모델 클래스는 데이터베이스의 컨텐츠를 정의하고 처리하기 때문에 MVC 프레임 워크의 매우 중요한 부분입니다. 또한 응용 프로그램을 통해이 데이터에서 CRUD (작성, 읽기, 업데이트, 삭제) 작업을 쉽게 수행 할 수 있습니다. 그들이 리튬에서 어떻게 작동하는지 봅시다.

가장 먼저해야 할 일은 앱/모델 폴더에서 pages.php라는 클래스 파일을 작성하고 다음을 붙여 넣는 것입니다.

우리는 방금 기본 모델 클래스를 확장하고 모든 방법을 사용했습니다. 모델 클래스 이름은 관련 레코드가 포함 된 데이터베이스 테이블과 일치해야합니다. 따라서 페이지가 아닌 경우 리튬이 자동 으로이 명명을 얻기 위해이 명명을 단순화하기 때문에 그에 따라 조정하십시오.

다음,이 파일을 컨트롤러 클래스 파일에 포함시켜야하므로 네임 스페이스 선언 아래에 다음을 붙여 넣으십시오.

CREATE TABLE `pages` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  `created` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
로그인 후 복사
로그인 후 복사
다음은 Page () 메소드에서 모의 ​​콘텐츠를 삭제 하고이 함수가 $ ID 매개 변수를 전달하여 검색 해야하는 페이지를 알 수 있도록하는 것입니다. 남은 간단한 작업은 페이지 레코드를 쿼리하고 결과를보기로 전달하는 것입니다. 따라서 수정 된 page () 메소드는 다음과 같습니다.

우리는 모델 상위 클래스의 첫 번째 () 메소드를 사용하여 조건을 사용하여 쿼리합니다. 결과는 데이터 () 메소드를 사용하여 레코드 데이터를 검색하는 객체입니다. 이 데이터는 테이블 열의 이름을 키로 사용하는 배열을 취합니다. 나머지는 데이터베이스에서 얻은 것이 UNIX 타임 스탬프이기 때문에 PHP 날짜 () 함수를 사용하여 생성 된 필드를 포맷한다는 점을 제외하고는 이전과 동일합니다. 그게 다야.

http : example.com/site/page/1로 이동하면 ID 1이있는 페이지가 표시됩니다. 마지막 URL 매개 변수를 2로 전환하면 페이지가 두 번째 레코드를로드해야합니다. 정돈하다.
INSERT INTO `pages` (`id`, `title`, `content`, `created`)
VALUES
    (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745),
    (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);
로그인 후 복사
로그인 후 복사
결론

이 튜토리얼에서는 리튬 MVC 프레임 워크를 이해하고 사용하는 것이 얼마나 쉬운 지 보았습니다. 컨트롤러, 뷰 및 모델을 정의하는 방법과 함께 사용하여 깔끔하고 별도의 응용 프로그램 흐름을 만드는 방법을 배웠습니다. 또한 리튬 계약이 시작하는 데 얼마나 유용한 지 보았습니다. 우리가 그것을 깨닫지 못하더라도, 우리는 데이터베이스 컨텐츠를 추출하고 쉽게 액세스 할 수 있도록 노출시킵니다.

나는 당신이 무언가를 배웠기를 바랍니다. 리튬이 제공하는 다른 강력한 기능에 대해 더 깊이 파고 들기를 바랍니다. 내장 CRUD 방법은 무엇입니까? 그들을 확장하는 방법? 자신의 사용자 정의 경로를 정의하는 방법은 무엇입니까? 여러 레이아웃을 사용하여 더 작은 요소를 렌더링하는 방법은 무엇입니까? 이들은 웹 애플리케이션을위한 리튬 제공 강력한 기능이며 시도해 볼 가치가 있습니다.

나는 당신의 호기심을 불러 일으켰습니까? 이 훌륭한 프레임 워크에 대해 더 배우고 싶습니까?

(FAQ 부분은 원래 텍스트와 동일하며 수정이 필요하지 않습니다)

위 내용은 리튬 프레임 워크 : 시작하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

세션 납치는 어떻게 작동하며 PHP에서 어떻게 완화 할 수 있습니까? 세션 납치는 어떻게 작동하며 PHP에서 어떻게 완화 할 수 있습니까? Apr 06, 2025 am 12:02 AM

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

PHP에서 예외를 효과적으로 처리하는 방법 (시도, 잡기, 마지막으로, 던지기)? PHP에서 예외를 효과적으로 처리하는 방법 (시도, 잡기, 마지막으로, 던지기)? Apr 05, 2025 am 12:03 AM

PHP에서는 시도, 캐치, 마지막으로 키워드를 통해 예외 처리가 이루어집니다. 1) 시도 블록은 예외를 던질 수있는 코드를 둘러싸고 있습니다. 2) 캐치 블록은 예외를 처리합니다. 3) 마지막으로 블록은 코드가 항상 실행되도록합니다. 4) 던지기는 수동으로 예외를 제외하는 데 사용됩니다. 이러한 메커니즘은 코드의 견고성과 유지 관리를 향상시키는 데 도움이됩니다.

PHP의 다른 오류 유형을 설명하십시오 (통지, 경고, 치명적인 오류, 구문 분석 오류). PHP의 다른 오류 유형을 설명하십시오 (통지, 경고, 치명적인 오류, 구문 분석 오류). Apr 08, 2025 am 12:03 AM

PHP에는 4 가지 주요 오류 유형이 있습니다. 1. NOTICE : 가장 작은 것은 정의되지 않은 변수에 액세스하는 것과 같이 프로그램을 방해하지 않습니다. 2. 경고 : 심각한 통지는 파일을 포함하지 않는 것과 같은 프로그램을 종료하지 않습니다. 3. FatalError : 가장 심각한 것은 기능을 부르는 것과 같은 프로그램을 종료합니다. 4. parseerror : 구문 오류는 엔드 태그를 추가하는 것을 잊어 버리는 것과 같이 프로그램이 실행되는 것을 방지합니다.

포함, 요구, 포함, require_once의 차이점은 무엇입니까? 포함, 요구, 포함, require_once의 차이점은 무엇입니까? Apr 05, 2025 am 12:07 AM

PHP에서 포함, 요구, 포함, 요구 사항 간의 차이는 다음과 같습니다. 1) 경고를 생성하고 계속 실행합니다. 2) 치명적인 오류를 생성하고 실행을 중지합니다. 이러한 함수의 선택은 파일의 중요성과 중복 포함을 방지 해야하는지 여부에 따라 다릅니다. 합리적 사용은 코드의 가독성과 유지 관리를 향상시킬 수 있습니다.

PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다 PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다 Apr 14, 2025 am 12:13 AM

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP : 웹 개발의 핵심 언어 PHP : 웹 개발의 핵심 언어 Apr 13, 2025 am 12:08 AM

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 ​​있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

HTTP 요청 방법 (Get, Post, Put, Delete 등)이란 무엇이며 언제 각각을 사용해야합니까? HTTP 요청 방법 (Get, Post, Put, Delete 등)이란 무엇이며 언제 각각을 사용해야합니까? Apr 09, 2025 am 12:09 AM

HTTP 요청 방법에는 각각 리소스를 확보, 제출, 업데이트 및 삭제하는 데 사용되는 Get, Post, Put and Delete가 포함됩니다. 1. GET 방법은 리소스를 얻는 데 사용되며 읽기 작업에 적합합니다. 2. 게시물은 데이터를 제출하는 데 사용되며 종종 새로운 리소스를 만드는 데 사용됩니다. 3. PUT 방법은 리소스를 업데이트하는 데 사용되며 완전한 업데이트에 적합합니다. 4. 삭제 방법은 자원을 삭제하는 데 사용되며 삭제 작업에 적합합니다.

See all articles