热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP——thinkphp5的详解介绍与使用

本文为大家简单介绍了thinkphp5的使用及实例
此文章适用于刚学过php但还没接触过框架的小伙伴。

前言

不知大家是否有这样的感觉,经过一段时间的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 下载及安装教程地址:https://www.php1.cn/xiazai/gongju/122

phpStudy下载及安装教程地址:https://www.php1.cn/xiazai/gongju/845

如果没有用过phpstudy可以链接上面的地址去学习一下phpsyudy的基本操作方法

*下面这一步暂时用不到

搭建PhpStorm+PhpStudy开发环境:https://blog.csdn.net/u012861467/article/details/54692236

(2)下载安装thinkphp5

下载地址:http://www.thinkphp1.cn/donate/download/id/1155.html

安装方法:将压缩包解压放phpStudy/ww的在项目下就可以

b: 建立模型:(这部分在开发手册中也有更详细的解读)

       

大多情况下,我们无需为模型定义任何的属性和方法即可完成基础的操作。模型会自动对应一个数据表。规范是:数据库前缀+当前的模型类名(不含命名空间)因为模型类命名是驼峰法,所以获取实际的数据表的时候会自动转换为小写+下划线命名的数据表名称,所以只要建立一个与数据表同名的model就可以。如果你的数据表不是像tp_user这样以前缀加下划线命名可以在model中指定数据表。

        

下面用一个例子来解释:

首先在admin模块下建立以下几个文件,在controller下建立User.php ,Model下建立User.php ,在view下建立user文件夹,在user文件夹下建立user.html

并建立user表 字段有id,clickname,email,birthday

代码如下:

controller下的User.php

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

user.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社区 其它相关文章!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
author-avatar
xhl583337984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有