随笔分类 -  thinkphp

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