>  기사  >  백엔드 개발  >  Laravel 프레임워크는 페이지 매김 분석을 구현합니다.

Laravel 프레임워크는 페이지 매김 분석을 구현합니다.

不言
不言원래의
2018-06-12 16:46:321544검색

이 글은 주로 Laravel 프레임워크의 페이징 구현 방법을 소개하고, Laravel 프레임워크의 페이징 기능의 핵심 코드와 관련 원리를 예제 형식으로 분석합니다. 도움이 필요한 친구들이 참고할 수 있습니다

이 글의 예제는 Laravel 프레임워크의 페이징 구현 방법입니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

Laravel을 사용하는 과정에서 페이징 버튼과 같은 프런트 엔드 페이지의 표현을 "하드 코딩"하는 일부 기능이 있습니다!

물론 Laravel의 Bootstrap 스타일도 매우 아름답다고 말씀하시겠지만 실제 프로젝트에서는 페이지 넘김 버튼이 고객의 요구를 충족해야 하는 경우가 많습니다. 특히 휴대폰 적응을 지원하는 웹 앱을 개발할 때는 페이지 넘기기 버튼을 사용해야 합니다. 사용자 정의 스타일.

그래서 뭔가를 배울 때, 어렴풋이 이해할 수는 없고 그 원리를 연구해야 합니다.

먼저 Laravel이 페이징 버튼을 생성하는 코드는 어디에 있는지 살펴보겠습니다. ㅋㅋㅋ Three Presenter

BootstrapFourPresenter( subclass) <-

SimpleBootstrapFourPresenter

작성자의 클래스 이름으로 보아 차이가 있을 것으로 보입니다. BootstrapThreePresenter.php와 BootstrapFourPresenter.php의 주요 차이점은 다음과 같습니다.
BootstrapThreePresenter.php 코드:

/**
* Get HTML wrapper for an available page link.
*
* @param string $url
* @param int $page
* @param string|null $rel
* @return string
*/
protected function getAvailablePageWrapper($url, $page, $rel = null)
{
    $rel = is_null($rel) ? &#39;&#39; : &#39; rel="&#39;.$rel.&#39;"&#39;;
    return &#39;<li><a href="&#39;.htmlentities($url).&#39;" rel="external nofollow" rel="external nofollow" &#39;.$rel.&#39;>&#39;.$page.&#39;</a></li>&#39;;
}
/**
* Get HTML wrapper for disabled text.
*
* @param string $text
* @return string
*/
protected function getDisabledTextWrapper($text)
{
    return &#39;<li class="disabled"><span>&#39;.$text.&#39;</span></li>&#39;;
}
/**
* Get HTML wrapper for active text.
*
* @param string $text
* @return string
*/
protected function getActivePageWrapper($text)
{
    return &#39;<li class="active"><span>&#39;.$text.&#39;</span></li>&#39;;
}

BootstrapFourPresenter.php 코드:

/**
* Get HTML wrapper for an available page link.
*
* @param string $url
* @param int $page
* @param string|null $rel
* @return string
*/
protected function getAvailablePageWrapper($url, $page, $rel = null)
{
    $rel = is_null($rel) ? &#39;&#39; : &#39; rel="&#39;.$rel.&#39;"&#39;;
    return &#39;<li class="page-item"><a class="page-link" href="&#39;.htmlentities($url).&#39;" rel="external nofollow" rel="external nofollow" &#39;.$rel.&#39;>&#39;.$page.&#39;</a></li>&#39;;
}
/**
* Get HTML wrapper for disabled text.
*
* @param string $text
* @return string
*/
protected function getDisabledTextWrapper($text)
{
    return &#39;<li class="page-item disabled"><a class="page-link">&#39;.$text.&#39;</a></li>&#39;;
}
/**
* Get HTML wrapper for active text.
*
* @param string $text
* @return string
*/
protected function getActivePageWrapper($text)
{
    return &#39;<li class="page-item active"><a class="page-link">&#39;.$text.&#39;</a></li>&#39;;
}

가장 큰 차이점은 ThreePresenter가 거의 "기본" HTML 태그인 반면 FourPresenter는 HTML 태그를 생성한다는 점입니다. 와 수업.

ThreePresenter든 FourPresenter든 모두 동일한 render() 함수 구현을 가지고 있습니다. ), 차이점은 render() 기능에 있습니다

/**
* Convert the URL window into Bootstrap HTML.
*
* @return \Illuminate\Support\HtmlString
*/
public function render()
{
    if ($this->hasPages()) {
      return new HtmlString(sprintf(
        &#39;<ul class="pagination">%s %s %s</ul>&#39;,
        $this->getPreviousButton(),
        $this->getLinks(),
        $this->getNextButton()
      ));
    }
    return &#39;&#39;;
}

즉, SimpleThreePresenter 및 SimpleFourPresenter에 의해 생성된 페이징 버튼에는 "페이지 번호"가 없고 "이전 페이지" 및 "다음 페이지" 버튼만 있습니다. .

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

Laravel 프레임워크의 수명 주기 및 원리 분석

Laravel 프레임워크 라우팅 설정

위 내용은 Laravel 프레임워크는 페이지 매김 분석을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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