随笔分类 - thinkphp
摘要:容器和门面是tp框架的精髓所在 涉及容器与门面之前我们先链接几个简单的设计模式 单例模式 反射机制 构造自己的容器类 tp5中的容器类,Container.php 门面模式 门面为容器中的类提供了一个静态调用接口 相对于传统的静态方法调用,带来了更好的可测试性和扩展性 门面模式其实就是通过静态的方式
阅读全文
摘要:前言 tp5的配置种类包含四个分类 惯例配置 核心框架内置的配置文件(thinkphp/convention.php),无需更改。 应用配置 每个应用的全局配置文件(项目根目录下app/config目录下的文件)。 模块配置 每个模块的配置文件(相同配置参数会覆盖应用配置。)比如index模块app
阅读全文
摘要:前言 tp5想必大家都不陌生,但是大部分人都停留在应用的层面,我将开启系列随笔,深入剖析tp5源码,以供大家顺利进阶。本章将从类的自动加载讲起,自动加载是tp框架的灵魂所在,也是成熟php框架的必备功能 入口 base.php 主角Loader.php autoload_static.php 总结:
阅读全文
摘要:样式: a{ text-decoration: none; color: inherit; } .out-cp{ width:100%; text-align: center; } .c-page{ display:inline-block; height:42px; margin:50px 0 ;
阅读全文
摘要:问题背景: 在router.php路由配置文件设置了二级域名和路由设置 use think\Route; Route::domain('www','index'); Route::domain('admin','admin'); Route::domain('m','m'); Route::rule
阅读全文
摘要:两个步骤:1,通过header头信息告诉浏览器,我给你回应的是一个附件请接收 2,通过php读取下载的文件的内容并返回 前端 后端
阅读全文
摘要:同步: 前台页面: 后台页面: 异步: 前台页面: 后台页面:
阅读全文
摘要:不带参数: $rs = Db::name('admin')->order(['id'=>'desc'])->paginate(1); 带参数传递: $rs=Db::name('admin')->where($where)->order(['id'=>'desc'])->paginate(10,fal
阅读全文
摘要:/*创建*/ create database conpany charset=utf8; /*选择数据库*/ use conpany; /*创建导航表*/ create table user( id int not null auto_increment primary key, name varc
阅读全文
摘要:上回已经说到,商品被分为spu商品和sku商品 , 难点一 商品列表页的展示 由于spu商品没有价格,所有商品列表展示页,我们决定展示sku商品 难点二 商品详情页的展示 我们采用sku和spu的组合展示 即 : sku基于spu ,spu生成sku 比如用户点击商品列表的某个sku商品, 前台逻辑
阅读全文
摘要:先开个坑 WHERE篇 1, 模糊查询 where['keyword'] = [ 'like' , '%test%'] 2, 不等于,大于 ,小于 EQ 等于(=)NEQ 不等于(<>)GT 大于(>)EGT 大于等于(>=)LT 小于(<)ELT 小于等于(<=) where['id'] = ['
阅读全文
摘要:在此之前,先了解下关于SPU及SKU的知识 SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。 例如,iphone4就是一个SPU,N97也是一个SPU,这个与商家无关,与颜色、款式、套餐也无关。
阅读全文
摘要:标题可能不是很清晰,我们看实例: 简单来说就是需要实现sku的功能。。。一件商品可以有多个属性, 一个属性可以有多个值 。 最后以json格式存到数据库 难点一: 如何实现input输入框的弹性使用 初始化是一个input,input下面有个a菜单,每次点击,触发jquery, 在a菜单之前增加一个
阅读全文
摘要:商品分类,使用无限分类 即: 如何创建数据表 pid 父级分类id,如果是顶级分类则为0 path 1,用户分类的排序 。 排序示例: 实现逻辑:获取type表的所有分类,order by path , 得到了type列表,然后path有几个逗号就加几个 , 这样,父级分类下就是子级分类,子级分类下
阅读全文
摘要:需要生成 SELECT * FROM `goods` WHERE ( `goodstype_id` = 2 or `goodstype_id` = 3 ) $where['goodstype_id'] = [ ['=','3'], ['=',4] ,'or']; Goods::where($wher
阅读全文
摘要:html前台文件,上传到控制器,thinkphp处理它 前台 后台
阅读全文
摘要:thinkphp 验证器一般是验证表单,验证通过就执行操作,不通过就通过json返回错误信息。比一个个验证正则很方便
阅读全文

浙公网安备 33010602011771号