>  기사  >  백엔드 개발  >  ThinkPHP 프레임워크를 사용하여 웹사이트에서 여러 이미지를 빠르게 개발하세요

ThinkPHP 프레임워크를 사용하여 웹사이트에서 여러 이미지를 빠르게 개발하세요

WBOY
WBOY원래의
2016-08-08 09:19:14992검색

좋은 글을 모아보세요

ThinkPHP 프레임워크를 사용하여 빠르게 웹사이트 구축

이번주 연구실 홈페이지 작업으로 바빠서 기본 기능이 거의 완성되었습니다. 더 보람 있는 것은 ThinkPHP 프레임워크에 대한 일반적인 이해를 갖는 것입니다. 기념품으로 무언가를 적어보세요. 웹을 처음 접하는 여러분에게도 도움이 된다면 더욱 좋을 것입니다.

저는 PHP를 사용하여 아주 형편없는 웹사이트를 만들곤 했습니다. 왜 그런 말을 합니까? 다 끝내고 나니 정말 피곤하더군요. 프론트엔드는 div+css, js가 필요하고, 백엔드는 php, mysql이 필요해서 할게 너무 많아서 머리가 아팠습니다. 그래서 웹사이트를 만드는 일을 맡자마자 개발 프레임워크를 활용해야겠다는 생각이 들었고, 예전처럼 지치면 안 됐다.

저는 PHP의 ThinkPHP 프레임워크를 선택했습니다. 솔직히 말하면 정말 괜찮습니다. 나는 즉시 웹 개발이 매우 효율적이라는 것을 느꼈습니다.

하이퍼링크: ThinkPHP 중국어 웹사이트

루틴 따르기 , 먼저 실험 환경을 게시하세요.

  • 1.   WAMP(통합형, 가장 쉬운 구성 없음) 필수)
  • 2.  ZendStudio7.2 (중국어 사이트 http://www.zendstudio .net/, 다운로드, 온라인 등록 기계 및 사용 튜토리얼 제공)
  • >+Baidu UEditor 편집기 플러그인4. Win7-64bit 운영체제
  • 5. Chrome) 및 Firefox
  • FireBug 디버깅 및 스타일 도용용 플러그인




----------- --------------------------------------- ----------아주 멋진 분할------------ ------------ --------------




1단계: 웹 템플릿 찾기(저는 미술을 어떻게 하는지 모르겠어요, PS, 죄송합니다. . )

대학 연구실의 프런트 엔드 페이지를 찾고 있어서 여기에 게시하지는 않겠습니다. 매우 평범합니다. 백그라운드에서 직접 다운로드한 템플릿은 실행 후 다음과 같이 보입니다.



2단계: Baidu UEditor 플러그인 알아보기
제가 하고 싶은 일은 연구실 홈페이지이니까요. 연구실 홈페이지의 주요 내용은 다음과 같습니다.

연구실 구성원 소개
  • 연구실 프로젝트, 성과 등 .
  • 연구실 소식 및 학술교류 정보
정보를 알 수 있습니다

주로 초점을 맞추고 있습니다. 백그라운드에서 뉴스와 기사 정보 공개가 있지만 프런트에는 편집자가 거의 없습니다. 따라서 편리한 기사 게시 시스템을 백그라운드로 구현하는 데 중점을 두고 있습니다.

바이두에서 제작한 UEditor WYSIWYG 편집기를 선택했습니다. 주로 JS로 구현하고 있는데, 정말 많은 기능이 있습니다.



UEditor를 웹사이트에 통합하는 방법은 자세한 튜토리얼이 있는 UEditor 공식 웹사이트를 참조하세요.


3단계: ThinkPHP 프레임워크 첫 소개

먼저 ThinkPHP 프레임워크를 소개합니다. 먼저 지각적 이해를 높이기 위해 ThinkPHP 프로젝트의 디렉터리 구조를 살펴보겠습니다.



폴더:

  • admin은 배경 프로젝트 폴더
  • home은 프론트엔드 프로젝트
  • public은 웹 페이지에 CSS 파일, JS 파일 및 이미지를 저장하는 데 사용됩니다
  • ThinkPHPFramework
  • ueditor는 Baidu 편집기입니다

다음 세 가지 PHP 파일:

  • admin.php는 백엔드 프로젝트의 진입 파일이고,
  • index.php는 프런트엔드 프로젝트의 항목 파일입니다.
  • config.inc.php, 이 소규모 프로젝트의 거의 모든 데이터가 데이터베이스에 저장되어 있고 프런트엔드와 백엔드가 있기 때문입니다. 데이터베이스에 연결되어 있어야 하므로 모든 데이터베이스 구성 코드가 여기에 배치됩니다.

그리고 나머지 빌드 경로인 .settings, .project는 이에 관계없이 Zend IDE에 의해 생성됩니다.


--------- ------ -------화려한 분할--------- -------- ----------------------------- --------



실제로는 2개가 있기 때문에 프로젝트(home과 admin) 중 하나만 이해하면 되므로 에서는 백엔드, 즉 admin 부분만 소개합니다.


그 다음 아래를 내려다보고 admin.php 파일을 살펴보세요. 이것이 가장 먼저 파일, 즉 배경의 엔트리 파일 을 알아야 합니다.




여러 매크로 정의는 각각 다음을 지정합니다.

  • 1. ThinkPHP 프레임워크 경로
  • 2. 백그라운드 애플리케이션 디렉토리
  • 3. 백그라운드 애플리케이션 이름
  • 4. 디버깅 모드 켜기
  • 5. ThinkPHP 프레임워크 아래에 ThinkPHP.php 파일이 포함되어 있습니다(중요! )

새로 만들기 아래 개발 과정을 보여주는 작은 프로젝트:

예를 들어, 전체 프로젝트의 큰 디렉터리는 xxx 그런 다음 ThinkPHP를 넣고 프레임워크를 복사하고 admin.php 파일을 추가합니다(위 그림 참조)



이때 브라우저에 다음을 입력하세요. http ://localhost/xxx/admin .php는 아래와 같이 관리 디렉토리를 자동으로 생성합니다



관리 디렉토리를 엽니다. 내용은 다음과 같습니다. 다음과 같습니다:




주요 초점은 4개의 폴더에 있습니다:

1. Conf는 프로젝트 구성 파일을 저장합니다(예: 일부 상수 정의 등)

2. 중요! MVC 패턴의 모델 클래스 및 컨트롤러 클래스 저장)

3. Tpl(논리적으로 앞서 다운로드한 템플릿이 여기에 배치되어야 함)

4. 런타임(캐시, 데이터베이스 테이블 캐시 등의 저장 런타임 파일)


마지막으로 실행 결과를 브라우저에 올려주세요. . 포스팅이 좀 늦어져서 죄송합니다.




위 화면이 보이면 ThinkPHP는 정상적으로 실행됩니다라는 뜻입니다. 계속해서 개선해 보겠습니다.


--------- ------ --------------화려한 분할-- ------ ------------------ -


4단계: 처음으로 MVC 패턴을 알아보세요


이 시점에서 ThinkPHP에서 MVC의 개념을 언급해야겠습니다. MVC는 모델-뷰-컨트롤러 패턴으로 유명합니다.

ThinkPHP:

모델( 모델)은 데이터베이스 테이블 으로 생각할 수 있습니다. 내가 하고 있는 프로젝트는

기사(뉴스)의 경우 해당 속성에는 ID 번호, 제목, 작성자, 생성 시간, 최종 수정 시간 및 기사 내용이 포함됩니다. 기사의 모델입니다. 그런 다음 다음 아이디어에 따라 해당 데이터베이스 테이블을 만듭니다.





뷰는 사용자가 보는 사물이라고 생각하면 됩니다. , 즉 템플릿 또는 스킨입니다.

예를 들어 앞서 포스팅한 배경 템플릿은 ThinkPHP 개념의 뷰입니다.

컨트롤러(Action)는 뷰와 모델 사이의 다리 역할을 한다고 볼 수 있습니다. 웹사이트에 표시되는 콘텐츠는 기본적으로 여러 모델(데이터베이스 테이블)에서 가져오고 컨트롤러는 어떤 상황에서 어떤 모델을 표시할지 결정하는 역할을 담당하기 때문입니다. 내부의 데이터입니다. 다시 예를 들어보겠습니다. 배경 프로젝트의 홈 페이지에 해당하는 컨트롤러는 Index 컨트롤러 입니다. (인덱스 컨트롤러는 모든 프로젝트의 기본 컨트롤러입니다.) 하지만 생각해 보면 일반적으로 웹 사이트의 홈페이지에는 다른 곳으로 이동할 수 있는 버튼, 하이퍼링크 등이 많이 있습니다. 사진 게시:




제 백엔드 홈페이지입니다. 왼쪽에는 네비게이션 바가 있고, 오른쪽 하단에는 현재 데이터베이스에 있는 기사 정보가 나열되어 있는 것을 볼 수 있습니다. 예를 들어 지금 하고 싶을 수도 있습니다.


1. "1111 테스트 기사 게시 시스템" 기사 삭제

2. "제임스가 3번째 MVP 트로피를 획득했습니다"라는 기사를 "제임스가 4번째 MVP 트로피를 획득했습니다"로 변경

3. 기사


이는 인덱스 컨트롤러의 다양한 기능, 즉 인덱스 컨트롤러 클래스 IndexAction의 다양한 메서드(예: edit() 메서드, delete() 메서드 및 add() 메서드 이름 지정)에 해당합니다. . 물론 페이지가 표시되는 이유는 Index 컨트롤러의 Index() 메소드가 다음과 같이 실행되기 때문입니다. default , 이 메서드에서 display() 메서드를 호출하여 템플릿 (View). 믿을 수 없다면 기본 파일을 보면 Index 컨트롤러의 Index 메소드가 HelloThinkPHP의 환영 페이지입니다.


예:

IndexAction 디렉터리는

/xxx/admin/Lib/Action/IndexAction.class.php

내용은 다음과 같습니다.



보시다시피 기본적으로 인덱스 메소드에서 $this->display()는

에서 호출됩니다(IndexAction은 Action 클래스를 상속하고 표시 메소드는 Action 클래스의 메소드입니다). 🎜>

display() 메소드를 호출한 후 ThinkPHP는 해당 프로젝트의 Tpl

에서

파일 아래의 Index를 검색합니다. 폴더 🎜>index.html 파일입니다. 이전 Index 폴더는 Index 컨트롤러에 해당하고 index.html은 index() 메서드에 해당합니다. 그래서 컨트롤러 클래스는 템플릿 폴더에 해당합니다. 해당 템플릿의 구체적인 수는 컨트롤러 클래스에 있는 메서드 수와

디스플레이

가 필요한 메서드 수에 따라 달라집니다. 따라서 이때 해당 템플릿 파일 경로는

/xxx/admin/Tpl/Index/index.html 입니다. html


조심스러운 친구들은 물어볼 수도 있습니다. 여기서는 뷰(템플릿)와 컨트롤러에 대해서만 이야기했는데, 모델은 어떻습니까? 데이터베이스에 있는 세 가지 기사에 대한 정보는 어떻게 알았나요? 실제로는 그렇지 않습니다. 다음 그림은 index 방법을 단순화한 것입니다.


보시다시피 첫 번째 단계에서는 모델을 인스턴스화했습니다. 모델 이름은 Article 입니다. 앞서 언급했듯이 모델은 어떤 데이터베이스 테이블이 있는지 확인해 보겠습니다.



첫 번째 테이블 이름에는 think_
라는 접두사가 남아 있는 것을 볼 수 있습니다. 이는 구성 파일에 있습니다. 위에서 언급한 config.inc.php

를 기억하시나요? 구성 코드는 다음과 같습니다.

배열 반환(

                                                                    🎜> 

'DB_HOST' 

=> 'localhost', 'DB_NAME'                                                    🎜 >

                                                                 🎜>=> '3306' >

'DB_PREFIX' 

=>'생각_ ', );

?>

두 번째 문은 쿼리 데이터베이스

입니다. ThinkPHP는 데이터베이스 쿼리를 위한 다양한 방법을 제공하며 일관된 작업 방법을 사용합니다.


두 번째 구문을 실행한 후 $new_list 변수에 모든 기사의 정보가 저장되는데 어떻게 인터페이스에 표시할 수 있을까요?

세 번째 문장을 보면 'new_list'라는 변수에 변수를 할당하고 있습니다. 같은 이름 와우... 하지만 상관없습니다. 핵심은 할당 방법입니다. 그런 다음 템플릿 파일에서 이를 바꿀 수 있습니다. 기본적으로 HTML에 {$new_list}를 작성하는 것은 괜찮습니다. 물론 여기서 new_list는 단순한 숫자나 문자열이 아닌 복합 변수입니다. . 그러나 ThinkPHP는 우리가 사용할 수 있는 다양한 루프 메서드를 제공하므로 매우 편리합니다.


마지막 명령문은 해당 뷰 파일을 표시하는 것입니다. 뷰(템플릿)에 정의된 규칙에 따라 브라우저의 데이터베이스에 있는 기사 정보를 표시할 수 있습니다.


--------- ------ ------------------ ------화려한 분할------ ------------------------ ------------- ----

소스코드 다운로드

마지막으로 샘플 프로젝트의 소스 코드 xxx를 출력합니다. 도움이 필요한 친구들은 다운로드하여 ThinkPHP의 일반 원리를 빠르게 이해할 수 있습니다.

소스 코드 기능:

1 . 백엔드 관리자 로그인

2. 기사 추가, 기사 수정, 기사 삭제

  • 3. 기사를 전경에 표시
  • 사용법:

1. 웹사이트의 루트 디렉터리에 압축을 푼다. 기본값은 www 폴더 아래의 xxx 폴더입니다.
:

2.
utf8-general-ci

rubydb

    와 같은 새 데이터베이스를 MySQL에 생성합니다. >
  • 3. 두 개의 데이터베이스 테이블 think_article

think_user를 가져옵니다. ,
가져오기 후 다음 이미지가 나타납니다.

4. 구성
Config.inc.php
파일

  • [php] 보기 일반 사본

  1. "font-size:16px;">
  2. 반환 배열(
  3.  'DB_TYPE'                                                                                                🎜>'DB_HOST' => 'localhost',
  4. ' => '직접 데이터베이스 만들기',
  5. // 새 데이터베이스를 만드세요! 이름은
  6.  'DB_USER'                               //데이터베이스 사용자 이름
  7. 'DB_PWD' => '데이터베이스 비밀번호',//데이터베이스 로그인 비밀번호
  8. >'DB_PORT' => ; '3306', 'DB_PREFIX'
  9. "white-space:pre"> =>  'think_', //데이터베이스 테이블 이름 접두사
  10. ) ?> 🎜 >은 각각 'DB_NAME'=>'rubydb
  11. ' ,
  12. 'DB_USER
' =>'mysql 로그인 계정
' , 'DB_PWD' =>'

mysql 로그인 비밀번호'

5. http://localhost/xxx/admin.php를 실행하면 백그라운드 로그인 페이지가 나타납니다:

think_user 데이터베이스에 사용자 정보 ruby97, 비밀번호 ruby97을 입력한 후 인증코드를 입력하여 로그인하세요.



뉴스 쓰기 버튼을 선택하고

직접 기사를 추가하세요. 그런 다음

http://localhost/xxx

로 이동하여 결과를 확인하세요!


소스코드 다운로드 링크

재인쇄 출처: http://blog.csdn.net /ruby97 /article/details/7574851/


위 내용은 컨텐츠 측면을 포함하여 웹 사이트에서 여러 이미지를 빠르게 개발하기 위한 ThinkPHP 프레임워크의 사용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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