Thinkphp5.0第一篇

THINKphp5.0框架

mvc

moudle(数据)+view(表现层)+controller(业务逻辑)

thinkphp5.0特点

中国人开发最符合国人习惯和思维方式

开源免费面向对象轻量级的开发框架

详细的日志信息非常严谨的错误检测的安全机制

减少了核心依赖扩展更加灵活支持命令行指令扩展

支持惰性加载及路由配置和自动加载的缓存机制

重构的数据库支持模型及关联

安装thinkphp

官网(虽然官网的确让人无语,但的确是官网)

注册后才能下载

http://www.thinkphp.cn/donate/download/id/1278.html

放到你配置好的wamp lamp lnmp....的www目录下(你网站的根目录下并且解压)

如下证明安装成功

该页在application/index/controller/index.php

分享图片

thinkphp5.0目录结构

application                                           应用目录
        common         公共模块目录
        index          模块目录
                config.php                          模块配置文件
                common.php     模块函数文件
                cotroller       控制器目录
                model        模型目录
                view         视图目录
        command.php      命令行工具配置文件
        common.php       应用公共函数文件
        config.php        应用公共配置文件
        database.php       数据库配置文件
        tags.php         应用行为扩展
        route.php                                       路由配置文件
extend            扩展类库目录
public            web部署目录
        static           静态资源存放目录
        index.php         应用入口文件
        router.php         快速测试文件
        .htaccess          用于重写apache
runtime            应用的运行时目录
vendor            第三方类库目录
thinkphp           框架系统目录
        lang           语言包目录
        library          框架核心类库目录
                think         think类库包目录
                traits         系统traits目录
        tpl            系统模板目录
        .htaccess         用于重写apache
        .travis.yml         ci定义文件
        base.php         基础定义文件
        composer.json      composer定义文件
        console.php        控制台入口文件
        convention.php      惯例配置文件
        helper.php         助手函数文件
        LICENSE.txt         授权说明文件
        phpunit.xml         单元测试配置文件
        README.md         readme文件
        start.php          框架引导文件
build.php            自动生成定义文件
composer.json                                    composer定义文件
LICENSE.txt                                             授权说明文件
README.md                                        README文件
think                                                       命令行入口文件

url访问

Thinkphp5.0的url访问受路由决定,如果关闭路由或者没有匹配路由的情况下,则是基于http://服务器地址/index.php

模块配置在application/config.php

入口文件

用户请求的php文件,负责处理一个请求(注意不一定是url请求)的生命周期,最常见的入口文件是index.php,有时候也会为了某些特殊的需求而增加新的入口文件例如给后台模块单独设置的一个入口文件admin.php或者一个控制器程序入口think都属于入口文件。

应用入口文件

在public /index.php

开发规范

目录和文件

类库文件统一以.php为后缀

目录命名不做要求

类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致

类名和类的文件名保持一致,统一采用驼峰法命名

函数和类,属性命名

函数的命名使用小写和下划线

方法的命名使用驼峰法,并且首字母小写

属性的命名使用驼峰法,并且首字母小写

常量和配置

常量以大写字母和下划线命名,例如APP_PATH和THINK_PATH;

配置参数以小写字母和下划线命名

数据表和字段

小写加下划线方式命名,并注意字段名不要以下划线开头,例如think_user表和user_name字段,不建议使用驼峰法和中文作为数据表字段命名。

应用类库命名空间规范

应用类库的根命名空间统一为app(可以设置app_namespace配置参数更改);例如app\index\controller\Index和app\index\model\User;?

注意事项

请避免使用php保留字作为常量,类名和方法名以及命名空间的命名。

请求信息

request对象的作用是与客户端交互,收集客户端的from,cookie,超链接,或者服务器端的环境变量

tp5的request对象由think\Request类完成

$request=Request::instance();
或者
$request=request();

获取URL信息

domain()方法(返回当前网站域名)

echo '当前的域名是:'.$request->domain().'</br>';

更多如下(来自官方开发文档)

$request = Request::instance();
// 获取当前域名
echo 'domain: ' . $request->domain() . '<br/>';
// 获取当前入口文件
echo 'file: ' . $request->baseFile() . '<br/>';
// 获取当前URL地址 不含域名
echo 'url: ' . $request->url() . '<br/>';
// 获取包含域名的完整URL地址
echo 'url with domain: ' . $request->url(true) . '<br/>';
// 获取当前URL地址 不含QUERY_STRING
echo 'url without query: ' . $request->baseUrl() . '<br/>';
// 获取URL访问的ROOT地址
echo 'root:' . $request->root() . '<br/>';
// 获取URL访问的ROOT地址
echo 'root with domain: ' . $request->root(true) . '<br/>';
// 获取URL地址中的PATH_INFO信息
echo 'pathinfo: ' . $request->pathinfo() . '<br/>';
// 获取URL地址中的PATH_INFO信息 不含后缀
echo 'pathinfo: ' . $request->path() . '<br/>';
// 获取URL地址中的后缀信息
echo 'ext: ' . $request->ext() . '<br/>';

设置/获取 模块/控制器/操作名称

$request = Request::instance();
echo "当前模块名称是" . $request->module();
echo "当前控制器名称是" . $request->controller();
echo "当前操作名称是" . $request->action();

获取请求参数

$request = Request::instance();
echo '请求方法:' . $request->method() . '<br/>';
echo '资源类型:' . $request->type() . '<br/>';
echo '访问ip地址:' . $request->ip() . '<br/>';
echo '是否AJax请求:' . var_export($request->isAjax(),true) . '<br/>';
echo '请求参数:';
dump($request->param());
echo '请求参数:仅包含name';
dump($request->only(['name']));
echo '请求参数:排除name';
dump($request->except(['name']));

获取PARAM变量

echo $request->param('name');

使用助手函数实现

input('param.name');
input('param.');
或者
input('name');
input('');

伪静态

分享图片

修改该文件

数据库

数据库配置

配置文件在(appliation/database.php)按照开发文档配置就好

对数据库增删改查操作

use think\Db;

建立好表之后Db::execute//修改

(不知道怎么建表的先去学数据库)

分享图片

$result=Db::execute( 'insert into think_data (id,name,status) values(1,"陈国松",1); ');

Db::query//查询操作

修改数据

$result=Db::execute( 'update think_data set name="陈国松",status=1 where id=1;');

删除数据

$result=Db::execute( 'delete from think_data where id=1;');

查询数据

$result =Db::query('select * from think_data;');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Online Tours & Travels Management System pay.php sql injectionLine 16 of pay.php invokes a SQL query built using unvalidated input. This call could allow an attacker to modify the statement’s meaning or to execute arbitrary SQL commands.SQL
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在windwos系统搭建typecho博客+cpolar内网穿透工具将博客发布到公共网络环境,实现远程也可以访问和操作。_windows搭建typecho
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代语法,让php更加的优雅的与html生活在一起 -->请放心, 最终生成的,或者说用户最终看到的,仍然是一个html文档, php代码中的内容不会被泄漏的。-- 将php与html代码混编的时候,大括号很容易造成配对错误,最好杜绝它 -->php标签内部代码由php.exe解释, php标签之外的代码原样输出,仍由web服务器解析。-- 所以php的流程控制语句, 都提供了替代语法,用冒号代替大括号 -->php echo '百变鹏仔'?_利用php将静态页面修改为动态页面
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔记博文内容涉及 Linux network namespace 认知以及彼此通信Demo,实际中的应用理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树。_linux network namespace 多端通信 模式认知
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了一个逻辑二层(L2)网络,该网络封装在跨 Kubernetes 集群节点的现有三层(L3)网络拓扑上。使用此模型,可以为容器提供一个隔离的 L2 网络,而无需分发路由。封装网络带来了少量的处理开销以及由于覆盖封装生成 IP header 造成的 IP 包大小增加。封装信息由 Kubernetes worker 之间的 UDP 端口分发,交换如何访问 MAC 地址的网络控制平面信息。此类网络模型中常用的封装是 VXLAN、Internet 协议安全性 (IPSec) 和 IP-in-IP。_k8s网络组件对比
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。
文章浏览阅读1.3w次,点赞3次,收藏7次。尽管您可以通过 ping 命令解析出网站的 IP 地址,但是可能在浏览器中访问时仍然遇到问题,这可能是因为浏览器使用的 DNS 解析结果不同于 ping 命令使用的解析结果。可能是因为您的网络或设备上设置了防火墙,阻止了对特定网站的访问。有些国家或组织可能会对特定的域名进行屏蔽,从而阻止访问相关网站。如果您的网络使用代理服务器进行访问控制,可能会由于代理服务器的配置问题导致无法访问某些网站。即使您的网络和设备一切正常,目标网站本身可能也存在问题,例如服务器故障、维护或过载,导致无法访问。_能ping通打不开网页
文章浏览阅读839次,点赞22次,收藏19次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读2.1k次,点赞31次,收藏22次。基于微信小程序奶茶点餐外卖系统设计与实现(PHP后台+Mysql)可行性分析毕设源代码毕业设计,数据安全和系统稳定性以及团队能力和资源配备方面都具备较好的条件。因此,该项目的可行性较高。:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;微信小程序作为一种快捷、方便的移动应用形式,成为很多用户点餐外卖的首选。项目的界面和功能都可以定制,包安装运行!项目配有对应开发文档、开题报告、任务书、PPT、论文模版等。
文章浏览阅读1.8k次,点赞52次,收藏38次。本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。Lucky+Baby母婴用品网站使用 Dreamweaver、HBuilder代码编辑器、Apache服务器等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、生成订单和查看我的订单功能、在线付款功能功能的实现过程。
文章浏览阅读1.5k次,点赞45次,收藏40次。本设计主要实现集人性化、高效率、便捷等优点于一身的人事信息管理系统,完成首页、系统用户、通知公告、部门信息、员工薪资、考勤签到、员工请假、招聘信息、应聘信息等功能模块。
文章浏览阅读1k次。该错误通常出现在数据库读取结果集数据时,比如当我们写好SQL语句从数据库读取数据时,本身应该返回结果集,再给结果集中读取数据。解决思路:这种错误一般是因为echo后面输出了一个数组导致的,或者是数组作为字符串进行拼接运算时导致的。该错误直译为:警告:mysqli_fetch_assoc函数期望参数1是mysqli的结果集,但是给了一个布尔值。这种错误是PHP解析器在解析时遇到了语法错误,直译为:解析错误:语法错误,意料之外的...该错误直译为:提示:未定义的索引:username。_array to string conversion in
文章浏览阅读2.7w次。解决http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)_context deadline exceeded (client.timeout exceeded while awaiting headers)
文章浏览阅读1.3k次,点赞26次,收藏24次。复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术和交通系统等。_代理建模
文章浏览阅读2.6k次,点赞76次,收藏71次。epoll详解,事件模型,ET/LT模式,并通过三个示例进行代码实现。
文章浏览阅读3.3k次。罗拉ROLA-IP是一家来自纽约的代理IP提供商,由李嘉诚先生投资建设,韩国人工智能、自动驾驶、虚拟现实方面的领军企业World IT Show投资入股,由美国纽约大学IT管理教授团队研究开发,进入中国市场6年多,全世界设有多个分子公司。接下来,我们要检查代理和防火墙的设置,因为在绝大多数情况下,它们是导致这个错误的原因,尤其是当用户使用免费代理时。对网站的访问受阻实际上是一个非常常见的错误,它既可能是由于物理原因(硬件问题)造成的,也可能是由于软件错误引起的。检查代理设置,并确保其正确配置。_无法访问此网站,检查代理服务器和防火墙
文章浏览阅读1.1k次,点赞14次,收藏20次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。_php洗车服务预约管理系统php源码
文章浏览阅读1.1k次。桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。
文章浏览阅读936次,点赞22次,收藏17次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读822次,点赞15次,收藏14次。在整个设计过程中,要确定可能的具体解决方案,以实现每一个小的最终目标,对于每一个小目标,我们首先必须了解一些相关的需求分析信息。除了以上作品下面是2023-2024年最新100套计算机专业原创的毕业设计源码+数据库,是近期作品,如果你的题目刚好在下面可以文末领取java源码参考。springboot基于springboot的在线考试系统。springboot基于springboot的商城购物系统。springboot基于微信小程序的智慧校园设计与实现。springboot基于用户的协同过滤算法的话题推荐。