手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
PHP
Java
Java SE
Python
NumPy
C#
C&C++
Ruby
VB
asp.Net
Go
Perl
netty
gRPC
Django
Delphi
Jsp
.NET Core
Spring
Flask
Springboot
SpringMVC
Spring Cloud
Lua
fastadmin
Laravel
Mybatis
Asp
Groovy
ThinkPHP
Yii
swoole
编程之家
ThinkPHP
ThinkPHP门面源码解析
本文主要描述了门面的使用和实现过程以及源码的深度解析。框架门面解析前言一、简单认识一下在框架中的门面的好处二、学习框架中facade的使用三、优化在框架中facade的使用四、门面类源码解析五、static关键字六、总结前言使用框架的伙伴应该都知道在5.1时框架新增了一个特性那就是本文将编写的门面,也就是facade这个特性。使用过这个特性的都明白其中的好处,那就是方法调用可以直接静态进行调用,不用再使用关键字static来定义。接下来咔咔将会从以下几个方面带着大家探索属于门面的故事。一、简.
作者:咔咔- 时间:2021-08-06
ThinkPHP框架执行流程源码解析
本文主要介绍框架的执行流程前言如果不清楚框架是怎么执行的,那么看在多的代码都是只是认识代码而已,阅读源码是为了学习其框架的设计思想和代码模式。而执行流程则是将我们学习的东西串联在一起,从而更好地理解。咔咔也会给大家把执行流程用思维导图的方式画出来。只要大家在本文学习到一点点的知识点,咔咔也是心满意足的。一、框架执行流程...
作者:咔咔- 时间:2021-08-06
ThinkPHP源码阅读最佳工具debug_backtrace
本文给大家介绍一个代码调试神器debug_backtrace前言在阅读源码时咔咔一直是借用编辑器进行代码代码追踪,但是有时候回退的时候就有点问题。即使编辑器给提供了代码追踪的回退路线,但是有时候还是会花一点时间去查看。在无意间咔咔发现了一个PHP调试函数debug_backtrace。这个函数可以很清晰的看到代码的执行路线(前提是在对代码进一定程度的改变)。接下来咔咔将对这个函数进行简单的说明和改版,达到属于自己的开发利器。一、debug_backtrace 使用说明下图是咔咔在调试检测.
作者:咔咔- 时间:2021-08-06
ThinkPHP路由源码解析一
路由是项目开发中比较重要的一个环节,每个项目都会使用路由进行管理接口,接下来本文会从源码方面带大家一起学习路由。框架路由解析前言一、路由初识化简单分析二、路由定义前言使用框架写过项目的肯定都使用过路由,使用路由来进行接口的管理,那么为什么要使用路由呢!使用路由会保护项目的真实请求路径。使请求地址更加规范和简洁,在开发过程中方法名有时候会很长,就可以直接使用路由进行简洁处理。可以统一对请求请求进行拦截并且进行权限检查的操作。并且在5.1版本支持了注解路由,方便在开发的过程中进行调试。方便直.
作者:咔咔- 时间:2021-08-06
ThinkPHP路由源码解析二
路由是项目开发中比较重要的一个环节,每个项目都会使用路由进行管理接口,接下来本文会从源码方面带大家一起学习路由。框架路由解析前言一、路由参数和变量规则前言由于文章篇幅的原因,执行在新开一篇文章进行写。在上一篇中给大家讲解了以下内容。路由初识化简单分析通过定义路由再谈门面路由定义rule方法中的$this->group到底执行了什么路由规则预处理解析生成路由标识的快捷访问但是在路由这块还有很多的内容要来讲解,接下来就会针对以下内容进行解析。路由参数变量规则资源路由路.
作者:咔咔- 时间:2021-08-06
ThinkPHP路由源码解析三
本文接着上文继续来解读路由源码,如果你看到本文可以先看一下之前写的路由文章,共计俩篇。ThinkPHP路由源码解析前言一、检测路由-合并分组参数、检查分组路由二、检测URL变量和规则路由是否匹配前言经过前俩篇路由源码的解读,相信大家对路由已经有了一定了了解了。本文会接着ThinkPHP路由源码解析(二)继续讲解,也是路由这块内容的收尾了。关于路由,咔咔感觉是整个框架中源码阅读最吃力的一个核心点,也耗费了很多时间。因为在其中有很多类的嵌套,何不按照常理出牌,例如$this->group的.
作者:咔咔- 时间:2021-08-06
ThinkPHP源码解析之控制器
本文会对控制器的执行顺序还有实现过程、源码解析给出解析,ThinkPHP源码解析之控制器前言一、实例化控制器二、关于ArrayAccess和直接执行魔术访问返回实例的区别三、执行控制器中的方法前言在上文中对路由进行了特别的详解,也从应用初始化开始解析一直到路由调度返回给路由检测这一环节。路由检测获取到的值如下图,也就是路由调度最终返回的值。使用的路由规则为Route::get('hello/:name', 'index/index/:name');从上图可以看出重要数据都是在dispat.
作者:咔咔- 时间:2021-08-06
老司机竟然在判断返回结果上翻车了(ThinkPHP)
本文属于基础内容,看到的同学检查一下自己的代码有没有出现同样的问题聊一下关于查询判断的那点事前言一、问题重现二、解决问题三、扩展四、总结前言小Q又带着问题来了,今天的问题估计是大多数同志都会犯的问题。问题是在使用ThinkPHP时查询返回的结果判断是否为空。是不是很自信,这有什么不知道的,不就是empty嘛!如果你是这样认为的,那还是把文章简单的看完哈!这个问题的缘由就是对框架查询数据库返回的结果是什么类型不明确,知道了类型就是一个非常简单的问题。一、问题重现数据库很简单就一张表u.
作者:咔咔- 时间:2021-08-06
ThinkPHP数据库查询之模型深度解
在上文聊到了数据库查询Db方式,今天来简单的聊一下关于Model类的实现方式。前言Model也就是框架中提到的模型概念,这种使用方式在框架使用中占了绝大部分。接下来咔咔将会在上文的基础上再继续对模型进行深度解析,所以现在准备好小板凳嗑点瓜子来阅读本文吧!上文给大家提供的Db类的执行流程流程图也给大家放出来,可以在熟悉一下。一、简单看一眼模型的一些使用文件在模块的目录下肯定是要存在model目录的然后来到框架的底层可以看到关于模型类的文件,在这个类中使用了俩个之前咱们学习过的知识点。第.
作者:咔咔- 时间:2021-08-06
ThinkPHP数据库查询之Db类深度解析
终于快来到框架解析的结尾了,本文将会带领大家领略框架中的模型以及视图的奥秘。ThinkPHP模型以及视图层深度解析前言一、Db操作类和其它类对应关系解刨前言在日常开发过程中模型的使用是非常之多的,但是在开发过程只知道如何使用,并不知道内在是如何实现的,模型是不管接口还是后台都会使用到的东西。关于视图在前后台分离的大趋势下,框架存在视图大多数还是针对于后台开发的使用。本文也是对框架解读快到最后阶段了,接下来咔咔将带领大家一起学习关于在框架中模型以及视图的奥秘。一、Db操作类和其它类对应关系解刨.
作者:咔咔- 时间:2021-08-06
ThinkPHP缓存源码深度解析
缓存在项目的运行了一段时间都会使用的一个功能,本文将会对框架中的缓存做一个深度的解析前言在项目中缓存是必不可少的一项功能,当用户量大的时候是必须上缓存的,如何都直接查数据库那么对于用户体验来说就太差了。那么什么情况下应该使用缓存呢!热点事件,例如微博热搜不经常更新的数据,例如配置项博客平台的排行榜单社交平台的关注列表粉丝列表等等以上说的这些应用场景并不说是框架的缓存,一般在使用缓存的层面是不太使用框架的缓存的。常用的为redis,memcache等NoSQL。但是今天主要讨论的是.
作者:咔咔- 时间:2021-08-06
【TP5.1】商品列表加载
author:咔咔wechat:fangkangfk业务场景:渲染商品列表,跟用户列表和用户组是一样的,在写这篇博客是想把前台ajax那边在解释一下,所以如果有掌握的就可以不用看这篇文章在前台把静态文件给了咱们之后,不管什么,先看一下给我们的参数都是什么开始创建我们的控制器创建我们需要的模型这里有一个注意点,我在注释里边写了,注意看...
作者:咔咔- 时间:2021-08-06
【TP5.1】商品生成二维码
author:咔咔wechat:fangkangfk业务场景:给商品生成唯一二维码在我们开始做这些功能的时候,需要进行类库加载二维码:composer require endroid/qrcodeThinik图像处理:composer require topthink/think-image在goods控制器写上修改二维码的方法...
作者:咔咔- 时间:2021-08-06
【TP5.1】图片上传
author:咔咔wechat:fangkangfk图片上传是一个系统必须也是很重要的功能,下来咱们实现一下,先来一个简单的,但是不是很完美的前台代码控制器在控制器中我们先来打印一下图片信息打印出来的信息是thinkfile的一个类thinkfile这个文件只有你想不到没有他做不到的事情,我们就先看一下这个方法使...
作者:咔咔- 时间:2021-08-06
【TP5.1】数据库添加的时候自动添加时间autoWriteTimestamp
author:咔咔wechat:fangkangfk定义这俩个参数即可是自动写入时间戳autoWriteTimestamp数据库需要写入的字段creatTime
作者:咔咔- 时间:2021-08-06
【TP5.1】缩略图的生成继上篇文章图片上传
author:咔咔wechat:fangkangfk在上一篇文章我们处理了图片上传,最后还有一点点没有写完,就是依次生成不同大小的图片这里需要引入thinkimage这个类:这个包下载方法在图片上传哪里有创建albumImage服务代码不多,可以看看,还有方法参数有问题的可以看看thinkimage这个类...
作者:咔咔- 时间:2021-08-06
【TP5.1】模型软删除
author:咔咔wechat:fangkangfk创建模型引入一个类跟一个超类定义软删除字段设置默认值那个字段,我这边是没有用的,而且加上后,软删除就执行不了,后边在研究问题吧!控制器写法:第一个框是软删除写法,第二个框是返回结果值.经过软删除后的数据,是使用基本的查询方法是查询不出来的我们可以看看查询结果我们可以看到数据库是从31开始的,但...
作者:咔咔- 时间:2021-08-06
【TP5.1】数据库的字段只可以读不可更新
author:咔咔wechat:fangkangfk这是我们数据库的初始值下来我们开始创建一个模型,并且定义只读字段控制器这里需要注意的就是在使用指读字段时,必须是使用模型的操作方法,如果是使用的是数据库操作方法是无效的...
作者:咔咔- 时间:2021-08-06
【TP5.1】容器初体验
author:咔咔wechat:fangkangfk我们先来用写一个调用普通方法案例比如我们在common下有一个vessle的类现在需要在index下面的index文件调用那么我们就是在index这个文件引入cmmon下面的vessle文件的命名空间即可测试效果:我们index下面这个index类是特别依赖common下面的vessle这个...
作者:咔咔- 时间:2021-08-06
【TP5】配置单独的配置文件
author:咔咔wechat:fangkangfk需求:将不同的配置信息放置到不同的配置文件方案:将配置问件放置到extra下面即可,然后直接使用config::get('文件名即可')测试:...
作者:咔咔- 时间:2021-08-06
【TP5】模型里边使用构造函数提示没有这个属性
author:咔咔wechat:fangkangfk 问题:在模型里边设置__construct构造函数的时候的发现你这个模型里边的所有字段都会报出没有这个字段 原因:那是因为model的底层也使用了__construct这个构造函数,当你在模型里边设置构造函数后,模型的对象会发生变化,所有一直报没有这个属性,这就是问题所在 解决方案:所以在模型里边不要使用构造...
作者:咔咔- 时间:2021-08-06
【TP5】自定义命令行
author:咔咔wechat:fangkangfk之前写过tp5.1的自定义命令行,今天写一个tp5的,都是差不多的使用文件:thinkphp/library/think/console/command/make照猫画虎,复制一个model模型,跟stube下的model模板,名字起成你想要的修改里边的内容:将所有的model换成ser...
作者:咔咔- 时间:2021-08-06
【TP5】关联预载入根据条件查询
author:咔咔wechat:fangkangfk需求:需要查询视频类型下面的分类,但是分类有个全部地区跟全部年份总称,所以就需要拼接数据,这个时候就需要用到关联预加载,但是现在只想查出分类下面一级的,再根据一级查询一级的子类。问题:使用关联预加载怎么使用where查询关联模型解决方案:测试结果:主要看电影下面的分类,数据库就俩个,所以这...
作者:咔咔- 时间:2021-08-06
【TP5】在同一模型里边使用hasMany进行数据的组装
author:咔咔wechat:fangkangfk案例:vt_id是视频分类的id,vc_level是等级,vc_pid对应的是vc_id需求:需要将大陆电影,港台电影组装到全部地区下面实现方案:使用hasMany在之前的使用过程中,我们只使用了双表的一对多查询,今天我们来实现一个单表的一对多查询测试:...
作者:咔咔- 时间:2021-08-06
【TP5】form表单的action地址怎么写
author:咔咔wechat:fangkangfk 直接在action写地址会提交到写的地址如果action为空的话会提交到当前控制器
作者:咔咔- 时间:2021-08-06
【TP5】select下拉框的默认显示父级
author:咔咔wechat:fangkangfk总结:这块对于初学者有时候是有点绕,记住一点,只要条件相等就会显示对应父级的名字如果要默认显示上级,就应该在上级的option做字段匹配。判断即可数据库在做之前一定要先打印你的数据来看,可以看出,打印出来的数据vc_pid跟数据库中的vc_id是一样的,所以就以这个为条件代码...
作者:咔咔- 时间:2021-08-06
【TP5】对于error方法跳转问题
author:咔咔wechat:fangkangfk在使用tp5开发后台的时候,用的最多的跳转方法就是$this->success()跟$this->error()这是tp5给的底层方法我们要怎么使用:$_SERVER['HTTP_REFERER']就这个参数注意一下就可以了,这个参数是返回上一个页面的地址...
作者:咔咔- 时间:2021-08-06
【TP5】关联预加载只查询指定字段类的属性不存在
author:咔咔wechat:fangkangfk这个案例是获取轮播图的分类,但是只想获取分类的名字,于是就获取字段vt_name的值,但是一直报出错这是关联的模型这是获取数据出现这个问题就是在使用关联预加载的时候必须带上关联外键的主键,否则就会报出这个错所以修改后的代码,必须加上关联模型的主键测试数据:...
作者:咔咔- 时间:2021-08-06
【TP5】一个表里边有多个关联怎么使用预加载
author:咔咔wechat:fangkangfk案例:在banner表里边有个分类的关联,有一个对应视频的关联所以我们就需要使用俩次关联先在模型里边把模型关联定义好然后在使用关联预加载数据演示:...
作者:咔咔- 时间:2021-08-06
【TP5】在视图给url追加俩个参数
author:咔咔wechatLfangkangfk注意单双引号接受参数:
作者:咔咔- 时间:2021-08-06
上一页
12
13
14
15
16
17
18
19
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native