이 글은 PHP를 이제 막 배웠지만 아직 프레임워크를 접해본 적이 없는 친구들에게 적합합니다.
머리말:
여러분도 이런 생각을 갖고 계시는지 궁금합니다. 한동안 PHP를 배워본 결과 이 언어는 어렵지 않고 시작하기 쉽다는 것을 알았습니다. 그냥 아무렇지도 않게 웹 인터페이스를 작성하고, 데이터베이스의 내용을 조작하는 것은 어렵지 않은 것 같습니다. 당시 편집자도 너무 멍청해서 웹사이트를 만드는 게 그저 그런 줄 알았습니다. 그저 그렇습니다( ̄_, ̄). 그러나 공부가 계속 깊어지면서 나는 문득 그렇지 않다는 것을 깨달았습니다. 나의 원래 생각을 돌이켜보면 내가 너무 어리고 너무 단순했다는 사실이 조용히 한탄될 수밖에 없었습니다. 편집자 입장에서 제가 처음에 배운 것은 PHP의 입문 단계였습니다. 간단히 말해서, 그 더미에 코드를 추가한 다음 데이터베이스 표시를 조정하여 기능을 구현했습니다. 작성하고 싶은 기능이 늘어나면서 편집자는 디자인을 작성하는 데 20페이지 이상이 걸리고 코드를 변경하는 데 반나절이 걸린다는 사실을 점차 알게 되었습니다. 그러나 당시 편집자는 프레임워크에 대한 개념이 없었습니다. . 내가 Java EE의 Struts2 프레임워크를 배우고 나서야 편집자는 자신이 정말 좋은 사람이라는 것을 깨달았습니다. 그는 그 자리에서 즉시 폭발했습니다. PHP 학습을 강화하기 위해 편집자는 많은 PHP 프레임워크 중 하나인 thinkPHP5를 연구하는 데 시간을 보냈습니다.
Postscript:
공부 노트를 만들기 위해 이 글을 썼는데, 그런데 thinkphp5를 배우고 싶어하는 친구들에게 간단한 소개만 하겠다. 데이터베이스에 넣는 작업은 소개하지 않겠다. 정말 많습니다만, 개발 매뉴얼에 더 자세한 설명이 있습니다. 제가 글을 잘 못쓰는 경우 정정해 주시기 바랍니다. 게다가 편집자는 개인적으로 tp5의 빠른 시작 매뉴얼도 읽어 볼 가치가 있다고 생각합니다(유료).
1. thinkphp5 프레임워크란 무엇인가요?
thinkphp5를 소개하기 전에 먼저 프레임워크가 무엇인지부터 알아보겠습니다. 즉, 다른 사람이 당신을 위해 집을 지었지만 아직 장식되지 않은 상태에서 다른 사람이 디자인한 아파트에 집을 장식해야 벽돌을 옮기는 반복적인 작업을 피할 수 있습니다. (프레임워크에 대한 심층적인 이해를 위해 Baidu를 직접 사용할 수 있습니다.)
ThinkPHP는 MVC 및 객체지향 기반의 빠르고 간단한 경량 PHP 개발 프레임워크입니다. 2006년 탄생 이후 뛰어난 성능을 유지하면서 단순하고 실용적인 디자인 원칙을 고수해 왔습니다. 동시에 최소한의 코드로 개발 경험과 사용 편의성에 특별한 주의를 기울였으며 독창적인 기능과 특징을 많이 갖추고 있어 WEB 애플리케이션 및 API 개발을 강력하게 지원합니다. (초보자의 경우 개념을 이해하는 것이 소용없다고 생각합니다. 프로젝트 진행하면서 직접 경험해 보는 것이 좋습니다.)
2. 준비 작업
(1) 프로그래밍 도구 선택: 오픈 도구: phpStorm + 서버 도구 : phpStudy
도구 선택은 주로 개인 취향에 따라 다르지만 주류 편집 도구를 선택하는 것이 가장 좋습니다.
phpstrom 다운로드 및 설치 튜토리얼 주소: //m.sbmmt.com/xiazai/gongju/122
phpStudy 다운로드 및 설치 튜토리얼 주소: //m.sbmmt.com/xiazai/gongju/ 845
phpstudy를 사용하지 않으신 분들은 위 주소에 링크하시면 phpsyudy의 기본 조작법을 배울 수 있습니다
*당분간 다음 단계는 필요하지 않습니다
PhpStorm+PhpStudy 개발 환경 구축: https://blog.csdn.net/u012861467/article/details/54692236
(2) thinkphp5 다운로드 및 설치
다운로드 주소: http://www.thinkphp.cn/donate/download/id/1155 .html
설치 방법: 압축된 패키지의 압축을 풀고 프로젝트 아래에 phpStudy/ww를 넣으세요.
URL을 입력하세요: localhost/thinkphp_5/public/ 다음 인터페이스가 나타나면 설치가 성공한 것입니다
(3) thinkphp5를 배우기 위해 필요한 지식
php 초급 수준의 지식 + PHP 객체지향 프로그래밍 (==> 네임스페이스 부분을 먼저 보시면 됩니다) + MVC 디자인 패턴
3 thinkphp5의 기본 사용법
(1) 참고자료: thinkphp5 완전 개발 매뉴얼: https://www.kancloud.cn/manual/thinkphp5/118003 개발 매뉴얼에는 내용이 많아서 직접 읽을 필요는 없습니다. tp5를 처음 사용하는 사람은 필요한 지식을 찾아보세요.
(2) 디렉터리 구조: (대충 이해하세요)
tp5에는 많은 디렉토리 파일이 있습니다. 여기서는 밑줄 친 부분에 중점을 두고 개발 매뉴얼을 참고하세요. 먼저 애플리케이션에 대해 이야기해 보겠습니다. 간단히 말해서 이 부분은 코드를 작성하는 부분입니다. 위 그림처럼 인덱스 모듈이 프론트엔드인데, 보통 어드민 모듈과 백엔드 관리자는 저희가 직접 생성합니다.
아래에는 익숙한 MVC가 있고, datebase.php는 데이터베이스를 구성하는 파일이고, 그 아래에 config가 있습니다. application.php는 모든 모듈에 영향을 미치는 구성 파일인 반면, index 및 admin의 config.php는 자체 모듈 아래의 파일에만 영향을 미칩니다. public 아래의 static은 정적 리소스를 포함하는 파일이고, index.php는 이 파일을 통해서만 접근할 수 있는 항목 파일입니다.
(3) MVC
Model(모델)은 애플리케이션 데이터 로직을 처리하는 데 사용되는 애플리케이션의 일부입니다.
일반적으로 모델 객체는 데이터베이스의 데이터에 액세스하는 역할을 담당합니다.
View는 데이터 표시를 처리하는 애플리케이션의 일부입니다.
보통 뷰는 모델 데이터를 기반으로 생성됩니다.
Controller는 사용자 상호작용을 처리하는 애플리케이션의 일부입니다.
일반적으로 컨트롤러는 뷰에서 데이터를 읽고, 사용자 입력을 제어하고, 모델에 데이터를 보내는 일을 담당합니다.
모델(모델)
a: 데이터베이스 구성:
open Database.php , 일반적으로 변경해야 할 부분은 밑줄 친 부분입니다. 또한 thinkphp5.0 전체 개발 매뉴얼에서는 우리가 이해해야 할 기본 디렉토리의 개발 사양을 볼 수 있습니다.
b: 모델 만들기: (이 부분은 개발 매뉴얼에도 자세히 설명되어 있습니다.)
<?php namespace app\admin\model; use think\Model; class User extends Model { } ?>
In 대부분의 경우 모델의 속성과 메서드를 정의하지 않고도 기본 작업을 완료할 수 있습니다. 모델은 자동으로 데이터 테이블과 일치합니다. 사양은 데이터베이스 접두사 + 현재 모델 클래스 이름(네임스페이스 제외)입니다. 모델 클래스 이름은 카멜 표기이므로 실제 데이터 테이블을 얻을 때 자동으로 소문자 + 밑줄로 명명된 데이터 테이블 이름으로 변환됩니다. 데이터 테이블과 동일한 이름을 가진 A 모델을 생성해야 합니다. 데이터 테이블의 이름이 tp_user와 같은 접두사와 밑줄로 지정되지 않은 경우 모델에서 데이터 테이블을 지정할 수 있습니다.
<?php namespace app\admin\model; use think\Model; use think\Db; class Swe extends Model { // 设置完整的数据表(包含前缀) protected $table = 'swe'; }
설명하기 위한 예는 다음과 같습니다.
먼저 admin 모듈에 다음과 같은 파일을 생성하고, 컨트롤러에 User.php를 생성하고, 컨트롤러에 User.php를 생성합니다. 모델 보기 아래에 사용자 폴더를 만들고 사용자 폴더
아래에 user.html을 만들고 ID, 클릭 이름, 이메일, 생일
필드가 포함된 사용자 테이블을 만듭니다. # 🎜🎜#
User.php under 컨트롤러<?php namespace app\admin\controller; use think\Controller; use app\admin\model\User as UserModel; class User extends Controller { // // 创建用户数据页面 // public function create() // { // return $this->fetch('user');//加载模板,会自动找到view下的user的user.html并显示 // } // 创建用户数据页面 public function create() { return view('user');//加载模板,会自动找到view下的user的user.html } // 新增用户数据 public function add() { $user = new UserModel; if ($user->allowField(true)->save(input('post.'))) {//input('post.'))为表单提交的数据 return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功'; } else { return $user->getError(); } } // model的助手函数新增用户数据 public function add3() { // 使用model助手函数实例化User模型 $user = model('User'); // 模型对象赋值 $user->data([ 'nickname' => 'SWE', 'email' => 'thinkphp@qq.com' ]); if ($user->save()) { return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功'; } else { return $user->getError(); } }User.php under Model
<?php namespace app\admin\model; use think\Model; class User extends Model { }user.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>创建用户</title> <style> </style> </head> <body> <h2>创建用户</h2> <FORM method="post" class="form" action="{:url('admin/user/add')}"> 昵 称:<INPUT type="text" class="text" name="nickname"><br/> 邮 箱:<INPUT type="text" class="text" name="email"><br/> 生 日:<INPUT type="text" class="text" name="birthday"><br/> <input type="hidden" name="__token__" value="{$Request.token}" /> <INPUT type="submit" class="btn" value=" 提交 "> </FORM> </body> </html>#🎜 🎜#url : user.php에서 create 메소드 실행
localhost/tp5/public/index.php/admin/user/create
return $this->fetch('user') //템플릿을 로드하고 자동으로 user.html을 찾습니다. user under view And display
user.html 데이터를 add 메소드에 제출
Model 클래스 $user->allowField(true)->save( input('post.'))데이터베이스에 데이터 제출
관련 질문이 더 필요하시면 PHP 중국어 웹사이트를 방문하세요:
PHP 비디오 튜토리얼위 내용은 PHP - thinkphp5의 자세한 소개와 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!