PHP——thinkphp5的详解介绍与使用-php教程

资源魔 29 0
此文章实用于刚学过php但还没接触过框架的小同伴。

媒介

没有知各人能否有这样的觉得,通过一段工夫的php学习发现这门言语并非很难,并且很容易上手。马马虎虎写个网页界面,再把数据库内容弄一弄,貌似就没甚么难度了。当初的小编也是这样傻fufu的以为做个网站也就仅此罢了——-just so so( ̄_, ̄ )。但是跟着学习的一直深化,猛然发现现实并不是如斯,再回忆当初的动机,只能默默地感慨本人too young too simple。就小编而言,一开端学的内容是PHP的入门阶段常识,简而言之就是把代码往那一堆,而后调数据库显示完成性能就完事了。跟着想写的的性能的添加,小编垂垂发现写个设计要写20多个页面,改个代码就要半天,but小编过后还并无框架这一律念。直到学习了java EE的Struts2框架,小编才认识到本人是如斯的菜—-霎时原地爆炸。为了强化php的学习,小编就花了些工夫来钻研php泛滥框架中的一个—>thinkPHP5。

后序
小编写这篇文章旨正在做一个学习条记,趁便给想要学习thinkphp5的小同伴一个简略地通俗地引见,置于数据库的操作小编就没有引见了,由于真的不少,不外开发手册上有较为具体的诠释,写的欠好之处请年夜神纠正。别的小编集体感觉tp5的疾速入门手册也是值患上一看的(付费)。

1.甚么是thinkphp5框架?

正在引见thinkphp5以前,咱们先来谈一谈甚么是框架。简言之,他人帮你建好了屋子但还没有装修,你需求正在他人设计好的户型里去装修,省去你搬砖的反复性操作。(关于框架的深化了解各人能够自行baidu)。

ThinkPHP是一个疾速、简略的基于MVC以及面向工具的轻量级PHP开发框架,遵照Apache2开源协定公布,自2006年降生以来不断秉持简约适用的设计准则,正在放弃超卓的功能以及至简代码的同时,尤为重视开发体验以及易用性,而且领有泛滥的原创性能以及特点,为WEB使用以及API开发提供了强无力的支持。(关于初学者而言理解概念小编以为并没甚么用,还没有如间接正在做名目中感触一下)

2.后期预备工作

(1)编程对象的抉择:开放对象:phpStorm + 效劳器对象:phpStudy

关于对象的抉择次要看集体的爱好,但最佳抉择支流的编纂对象。

phpstrom 下载及装置教程地点:http://www.php.cn/xiazai/gongju/122

phpStudy下载及装置教程地点:http://www.php.cn/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的正在名目下就能够

20180830170621892.png

20180830181858792.png输出网址:localhost/thinkphp_5/public/ 呈现上面界面则装置胜利

20180830170942458.png

(3)学习thinkphp5所要具有的常识
php入门阶段的常识+php面向工具的顺序设计(==》定名空间那局部能够先看看)+mvc设计模式

3.thinkphp5的根本应用办法

(1)参考材料: thinkphp5齐全开发手册: https://www.kancloud.cn/manual/thinkphp5/118003 开发手册内容有不少不须要间接看上去,关于首次接触tp5的小同伴而言,你需求用到哪局部常识就去查找哪局部。

(2)目次构造:(大抵理解便可)

20180830182702639.png

tp5的目次文件有不少,这里咱们着重讲一下划线的局部,其余局部各人能够参考开发手册。起首说一下application,简略地说这个局部就是咱们编写代码之处。如上图所示,index模块为前端,而咱们普通会本人创立admin模块及后端治理员。

20180830183511106.png2018083018372174.png

index模块以及admin模块下是咱们相熟的MVC,datebase.php为设置装备摆设数据库的文件,application下的config.php是影响全副模块的设置装备摆设文件,而index以及admin的config.php只影响本人模块下的文件。public下的static是放动态资本的文件,index.php为入口文件,即只能经过这一文件拜访。

(3)MVC

Model(模子)是使用顺序顶用于解决使用顺序数据逻辑的局部。

通常模子工具担任正在数据库中存取数据。

View(视图)是使用顺序中解决数据显示的局部。

通常视图是根据模子数据创立的。

Controller(管制器)是使用顺序中解决用户交互的局部。

通常管制器担任从视图读取数据,管制用户输出,并向模子发送数据。

2018083115161754.png

Model(模子)

a: 数据库的设置装备摆设:

关上database.php,普通要改动的就是划线局部。另内在thinkphp5.0齐全开发手册中,咱们正在根底目次下能够看到开发标准,这是咱们需求理解的。

20180831152312199.png

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.’))提交数据到数据库

跟多相干成绩请拜访PHP中文网:PHP视频教程

以上就是PHP——thinkphp5的详解引见与应用的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 thinkphp5

抱歉,评论功能暂时关闭!