媒介:
不知人人是不是有如许的以为,经由一段时刻的php进修发明这门言语并非很难,而且很轻易上手。马马虎虎写个网页界面,再把数据库内容弄一弄,貌似就没什么难度了。当初的小编也是如许傻fufu的以为做个网站也就仅此而已——-just so so( ̄_, ̄ )。但是跟着进修的不断深切,蓦地发明现实并非云云,再回想当初的动机,只能默默地叹息本身too young too simple。就小编而言,一开始学的内容是PHP的入门阶段学问,简而言之就是把代码往那一堆,然后调数据库显现完胜利用就完事了。跟着想写的的功用的增添,小编逐渐发明写个设想要写20多个页面,改个代码就要半天,but小编当时还并没有框架这一观点。直到进修了java EE的Struts2框架,小编才意想到本身是云云的菜—-霎时原地爆炸。为了强化php的进修,小编就花了些时刻来研讨php浩瀚框架中的一个—>thinkPHP5。
后序 :
小编写这篇文章旨在做一个进修笔记,顺便给想要进修thinkphp5的小伙伴一个简朴地浅易地引见,置于数据库的操纵小编就不引见了,由于真的许多,不过开辟手册上有较为细致的诠释,写的不好的处所请大神改正。另外小编个人以为tp5的疾速入门手册也是值得一看的(付费)。
1.什么是thinkphp5框架?
在引见thinkphp5之前,我们先来谈一谈什么是框架。简言之,他人帮你建好了屋子但还没有装修,你须要在他人设想好的户型里去装修,省去你搬砖的重复性操纵。(关于框架的深切明白人人能够自行百度)。
ThinkPHP是一个疾速、简朴的基于MVC和面向对象的轻量级PHP开辟框架,遵照Apache2开源协定宣布,自2006年降生以来一向秉持简约有用的设想准绳,在坚持精彩的机能和至简代码的同时,特别注意开辟体验和易用性,而且具有浩瀚的原创功用和特征,为WEB运用和API开辟供应了强有力的支撑。(关于初学者而言相识观点小编以为并没什么用,还不如直接在做项目中感受一下)
2.前期准备工作
(1)编程东西的挑选:开放东西:phpStorm + 服务器东西:phpStudy
关于东西的挑选主要看个人的喜欢,但最好挑选主流的编辑东西。
phpstrom 下载及装置教程地点:http://www.ki4.cn/xiazai/gongju/122
phpStudy下载及装置教程地点:http://www.ki4.cn/xiazai/gongju/845
假如没有用过phpstudy能够链接上面的地点去进修一下phpsyudy的基本操纵要领
*下面这一步临时用不到
搭建PhpStorm+PhpStudy开辟环境:https://blog.csdn.net/u012861467/article/details/54692236
(2)下载装置thinkphp5
下载地点:http://www.thinkki4.cn/donate/download/id/1155.html
装置要领:将压缩包解压放phpStudy/ww的在项面前目今就能够
输入网址:localhost/thinkphp_5/public/ 涌现下面界面则装置胜利
(3)进修thinkphp5所要具有的学问
php入门阶段的学问+php面向对象的程序设想(==》定名空间那部份能够先看看)+mvc设想形式
3.thinkphp5的基本运用要领
(1)参考资料: thinkphp5完全开辟手册: https://www.kancloud.cn/manual/thinkphp5/118003 开辟手册内容有许多没有必要直接看下来,关于首次打仗tp5的小伙伴而言,你须要用到哪部份学问就去查找哪部份。
(2)目次构造:(大抵相识即可)
tp5的目次文件有许多,这里我们着重讲一下划线的部份,其他部份人人能够参考开辟手册。首先说一下application,简朴地说这个部份就是我们编写代码的处所。如上图所示,index模块为前端,而我们平常会本身竖立admin模块及后端管理员。
index模块和admin模块下是我们熟习的MVC,datebase.php为设置数据库的文件,application下的config.php是影响悉数模块的设置文件,而index和admin的config.php只影响本身模块下的文件。public下的static是放静态资本的文件,index.php为进口文件,即只能经由过程这一文件接见。
(3)MVC
Model(模子)是运用程序中用于处置惩罚运用程序数据逻辑的部份。
一般模子对象担任在数据库中存取数据。
View(视图)是运用程序中处置惩罚数据显现的部份。
一般视图是根据模子数据竖立的。
Controller(掌握器)是运用程序中处置惩罚用户交互的部份。
一般掌握器担任从视图读取数据,掌握用户输入,并向模子发送数据。
Model(模子)
a: 数据库的设置:
翻开database.php,平常要修改的就是划线部份。另外在thinkphp5.0完全开辟手册中,我们在基本目次下能够看到开辟范例,这是我们须要相识的。
b: 竖立模子:(这部份在开辟手册中也有更细致的解读)
<?php namespace app\admin\model; use think\Model; class User extends Model { } ?>
大多情况下,我们无需为模子定义任何的属性和要领即可完成基本的操纵。模子会自动对应一个数据表。范例是:数据库前缀+当前的模子类名(不含定名空间)由于模子类定名是驼峰法,所以猎取现实的数据表的时刻会自动转换为小写+下划线定名的数据表称号,所以只需竖立一个与数据表同名的model就能够。假如你的数据表不是像tp_user如许以前缀加下划线定名能够在model中指定数据表。
<?php namespace app\admin\model; use think\Model; use think\Db; class Swe extends Model { // 设置完全的数据表(包括前缀) protected $table = 'swe'; }
下面用一个例子来诠释:
首先在admin模块下竖立以下几个文件,在controller下竖立User.php ,Model下竖立User.php ,在view下竖立user文件夹,在user文件夹下竖立user.html
并竖立user表 字段有id,clickname,email,birthday
代码以下:
controller下的User.php
<?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(); } }
Model下的User.php
<?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:localhost/tp5/public/index.php/admin/user/create
实行user.php下的create要领
return $this->fetch(‘user’); //加载模板,会自动找到view下的user的user.html并显现
user.html提交数据到add要领
实例化Model类 ,$user->allowField(true)->save(input(‘post.’))提交数据到数据库
跟多相干题目请接见ki4网:PHP视频教程
以上就是PHP——thinkphp5的详解引见与运用的细致内容,更多请关注ki4网别的相干文章!