Web应用-Thinkphp框架-开发指南
  N9D7V8EkcUNl 2023年11月02日 25 0



Thinkphp框架

  • 二级导航分类,模板继承,内置标签
  • Public 修改
  • MVC模块化 ——访问机制
  • 传参
  • 加载模版
  • 模版引入 分离
  • Runtime 缓存文件
  • 管理员添加
  • 数据验证及验证场景 控制器 validate
  • 在sql执行(敏感操作)之前验证
  • 数据模板 分页
  • 数据表连接查询
  • TP 关联查询
  • -----------------
  • 由于是3.2 版本的教程 后面会结合5.0版本进行改进 - 主要记录思路
  • 无限分类模块实现
  • 商品模块 设计
  • Session
  • 控制器初始化
  • 模板布局
  • 模板赋值
  • 请求与响应
  • 响应
  • url及路由
  • url和路由


Web应用-Thinkphp框架-开发指南_模版


Web应用-Thinkphp框架-开发指南_数组_02

二级导航分类,模板继承,内置标签

模板继承

Web应用-Thinkphp框架-开发指南_前端_03

{block name="title"}<title>网站标题</title>{/block}

Web应用-Thinkphp框架-开发指南_模版_04

{block name="title"}<title>{$web_title}</title>{/block}

Web应用-Thinkphp框架-开发指南_前端_05

{block name="include"}{include file="Public:header" /}{/block}

Web应用-Thinkphp框架-开发指南_模版_06

<html>
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
        <title>{block name="title"}标题{/block}</title> 
    </head> 
    <body> 
    {block name="menu"}菜单{/block}
    {block name="left"}左边分栏{/block} 
    {block name="main"}主内容{/block} 
    {block name="right"}右边分栏{/block}
    {block name="footer"}底部{/block} 
    </body> 
</html>

Web应用-Thinkphp框架-开发指南_模版_07

{extend name="base" /} {block name="title"}{$title}{/block}
{block name="menu"}
 	<a href="/" >首页</a>
  	<a href="/info/" >资讯</a> 
 	 <a href="/bbs/" >论坛</a> 
{/block} 
{block name="left"}
{/block} 

{block name="main"} 
{volist name="list" id="vo"}
 <a href="/new/{$vo.id}">{$vo.title}</a>
 <br/> 
 {$vo.content}
  {/volist} 
 {/block} 
 
 {block name="right"}
  最新资讯: {volist name="news" id="new"}
   <a href="/new/{$new.id}">{$new.title}</a>
   <br/> 
   {/volist}
    {/block} 
    
    {block name="footer"} 
    
    {__block__} @ThinkPHP 版权所有 
    {/block}

Web应用-Thinkphp框架-开发指南_数组_08

{block name="footer"} {__block__}@ThinkPHP 版权所有 {/block}

Web应用-Thinkphp框架-开发指南_前端_09

{extend name="Public:base" /}

Web应用-Thinkphp框架-开发指南_数组_10

{extend name="./Template/Public/base.html" /}

Web应用-Thinkphp框架-开发指南_模版_11

{block name="title"}
 <title>{$title}</title>
 {/block} 
 <a href="/" >首页</a>
  <a href="/info/" >资讯</a> 
  <a href="/bbs/" >论坛</a>

Web应用-Thinkphp框架-开发指南_数据_12




内置标签

Web应用-Thinkphp框架-开发指南_模版_13


Web应用-Thinkphp框架-开发指南_前端_14


Web应用-Thinkphp框架-开发指南_数据_15


循环输出标签

Web应用-Thinkphp框架-开发指南_数组_16

$list = User::all(); 
 $this->assign('list',$list);

Web应用-Thinkphp框架-开发指南_数据_17

{volist name="list" id="vo"}
  {$vo.id}:{$vo.name}<br/>
   {/volist}

Web应用-Thinkphp框架-开发指南_模版_18

{volist name="list" id="data"} 
 {$data.id}:{$data.name}<br/> 
 {/volist}

Web应用-Thinkphp框架-开发指南_模版_19

{volist name="list" id="vo" offset="5" length='10'} 
 {$vo.name}
  {/volist}

Web应用-Thinkphp框架-开发指南_前端_20

{volist name="list" id="vo" mod="2" } 
 {eq name="mod" value="1"}{$vo.name}{/eq} 
 {/volist}

Web应用-Thinkphp框架-开发指南_模版_21

{volist name="list" id="vo" mod="5" }
  {$vo.name} 
  {eq name="mod" value="4"}<br/>
  {/eq}
  {/volist}

Web应用-Thinkphp框架-开发指南_模版_22

{volist name="list" id="vo" empty="暂时没有数据" } 
 {$vo.id}|{$vo.name} 
 {/volist}

Web应用-Thinkphp框架-开发指南_数据_23

$this->assign('empty','<span class="empty">没有数据</span>'); 
 $this->assign('list',$list);

Web应用-Thinkphp框架-开发指南_前端_24

{volist name="list" id="vo" empty="$empty" } 
 {$vo.id}|{$vo.name} 
 {/volist}

Web应用-Thinkphp框架-开发指南_数据_25

{volist name="list" id="vo" key="k" } 
 {$k}.{$vo.name} 
 {/volist}

Web应用-Thinkphp框架-开发指南_数组_26

{volist name="list" id="vo" } 
 {$i}.{$vo.name} 
 {/volist}

Web应用-Thinkphp框架-开发指南_模版_27

{volist name="list" id="vo" }
  {$key}.{$vo.name} 
  {/volist}

Web应用-Thinkphp框架-开发指南_模版_28

{volist name=":fun('arg')" id="vo"} 
{$vo.name} 
{/volist}



FOREACH标签

Web应用-Thinkphp框架-开发指南_前端_29

{foreach $list as $vo} 
 {$vo.id}:{$vo.name} 
 {/foreach}

Web应用-Thinkphp框架-开发指南_数组_30

{foreach name="list" item="vo"}
  {$vo.id}:{$vo.name}
   {/foreach}

Web应用-Thinkphp框架-开发指南_模版_31

{foreach name="list" item="vo" } 
 {$key}|{$vo} 
 {/foreach}

Web应用-Thinkphp框架-开发指南_数据_32

{foreach name="list" item="vo" key="k" } 
 {$k}|{$vo} 
 {/foreach}

FOR标签

{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" } 
 {/for}

Web应用-Thinkphp框架-开发指南_数据_33

{for start="1" end="100"} 
 {$i} 
 {/for}
for ($i=1;$i<100;$i+=1)
 {
  echo $i; 
  }

比较标签

Web应用-Thinkphp框架-开发指南_前端_34

{比较标签 name="变量" value="值"}
  内容
  {/比较标签}

Web应用-Thinkphp框架-开发指南_数据_35


Web应用-Thinkphp框架-开发指南_前端_36

{eq name="name" value="value"}
 value
 {/eq}
{equal name="name" value="value"}
value
{/equal}

Web应用-Thinkphp框架-开发指南_数据_37

{eq name="name" value="value"} 
 相等
 {else/}
  不相等
   {/eq}

Web应用-Thinkphp框架-开发指南_前端_38

{gt name="name" value="5"}value{/gt}

Web应用-Thinkphp框架-开发指南_数据_39

{egt name="name" value="5"}value{/egt}

Web应用-Thinkphp框架-开发指南_数据_40

{eq name="vo.name" value="5"}
  {$vo.name}
   {/eq}

Web应用-Thinkphp框架-开发指南_数组_41

{eq name="vo:name" value="5"} {$vo.name} {/eq}

Web应用-Thinkphp框架-开发指南_前端_42

{eq name="vo['name']" value="5"} 
 {$vo.name}
  {/eq}

Web应用-Thinkphp框架-开发指南_模版_43

{eq name="vo:name|strlen" value="5"}{$vo.name}{/eq}

Web应用-Thinkphp框架-开发指南_数据_44

{eq name="Think.get.name" value="value"}
 相等
 {else/}
 不相等
 {/eq}

Web应用-Thinkphp框架-开发指南_模版_45

{eq name="vo:name" value="$a"}{$vo.name}{/eq}

Web应用-Thinkphp框架-开发指南_数组_46

{compare name="name" value="5" type="eq"}value{/compare}

Web应用-Thinkphp框架-开发指南_数据_47

{eq name="name" value="5" }value{/eq}

Web应用-Thinkphp框架-开发指南_模版_48


条件判断

SWITCH标签

{switch name="变量" }
  {case value="值1" break="0或1"}输出内容1{/case} 
  {case value="值2"}输出内容2{/case} 
  {default /}默认情况
   {/switch}

Web应用-Thinkphp框架-开发指南_模版_49

{switch name="User.level"} 
 {case value="1"}value1{/case} 
 {case value="2"}value2{/case} 
 {default /}default 
 {/switch}

Web应用-Thinkphp框架-开发指南_模版_50

{switch name="Think.get.userId|abs"} 
 {case value="1"}admin{/case} 
 {default /}default {/switch}

Web应用-Thinkphp框架-开发指南_数组_51

{switch name="Think.get.type"}
  {case value="gif|png|jpg"}图像格式{/case} 
  {default /}其他格式 
  {/switch}

Web应用-Thinkphp框架-开发指南_数组_52

{switch name="Think.get.userId|abs"} 
 {case value="1" break="0"}admin{/case}
  {case value="2"}admin{/case}
   {default /}default
    {/switch}

Web应用-Thinkphp框架-开发指南_前端_53

{switch name="User.userId"} 
 {case value="$adminId"}admin{/case} 
 {case value="$memberId"}member{/case}
  {default /}default 
  {/switch}

Web应用-Thinkphp框架-开发指南_数据_54


Web应用-Thinkphp框架-开发指南_模版_55

{switch $User.userId}
  {case $adminId}admin{/case}
   {case $memberId}member{/case} 
   {/switch}



IF标签

{if condition="($name == 1) OR ($name > 100) "} 
 value1 
 {elseif condition="$name eq 2"/}
 value2 
 {else /} 
 value3
 {/if}

Web应用-Thinkphp框架-开发指南_数组_56

{if condition="strtoupper($user['name']) neq 'THINKPHP'"}
 ThinkPHP 
 {else /}
  other Framework 
  {/if}

Web应用-Thinkphp框架-开发指南_数组_57

{if condition="$user.name neq 'ThinkPHP'"}
 ThinkPHP 
 {else /} 
 other Framework
  {/if}

Web应用-Thinkphp框架-开发指南_数据_58

{if condition="$user:name neq 'ThinkPHP'"}
ThinkPHP
{else /} 
other Framework
 {/if}

Web应用-Thinkphp框架-开发指南_模版_59

{if condition="表达式"} 
 {if (表达式)} 
 {if 表达式}

Web应用-Thinkphp框架-开发指南_模版_60


IN和NOTIN

Web应用-Thinkphp框架-开发指南_数组_61

$id = 1; 
 $this->assign('id',$id);

Web应用-Thinkphp框架-开发指南_前端_62

{in name="id" value="1,2,3"} 
 id在范围内 
 {/in}

Web应用-Thinkphp框架-开发指南_数组_63

{notin name="id" value="1,2,3"}
  id不在范围内 
  {/notin}

Web应用-Thinkphp框架-开发指南_数组_64

{in name="id" value="1,2,3"} 
 id在范围内 
 {else/} 
 id不在范围内 
 {/in}

Web应用-Thinkphp框架-开发指南_数据_65

{in name="Think.get.id" value="1,2,3"} 
 $_GET['id'] 
 在范围内
  {/in}

Web应用-Thinkphp框架-开发指南_数据_66


Web应用-Thinkphp框架-开发指南_模版_67

{in name="id" value="$range"}
  id在范围内 
  {/in}

Web应用-Thinkphp框架-开发指南_数组_68

{in name="id" value="$Think.post.ids"} 
 id在范围内 
 {/in}

BETWEEN 和 NOTBETWEEN

Web应用-Thinkphp框架-开发指南_模版_69

{between name="id" value="1,10"} 
 输出内容1
  {/between}

Web应用-Thinkphp框架-开发指南_前端_70

{notbetween name="id" value="1,10"}
  输出内容2
   {/notbetween}

Web应用-Thinkphp框架-开发指南_前端_71

{between name="id" value="1,10"} 
 输出内容1 
 {else/} 
 输出内容2
  {/between}

Web应用-Thinkphp框架-开发指南_数据_72

{between name="id" value="1,3,10"} 
 输出内容1 
 {/between}

Web应用-Thinkphp框架-开发指南_模版_73

{between name="id" value="A,Z"} 
 输出内容1 
 {/between}

Web应用-Thinkphp框架-开发指南_数据_74

{between name="Think.post.id" value="1,5"} 
 输出内容1
  {/between}

Web应用-Thinkphp框架-开发指南_前端_75

{between name="id" value="$range"}
  输出内容1 
  {/between}

Web应用-Thinkphp框架-开发指南_前端_76

{between name="id" value="$Think.get.range"} 
 输出内容1
  {/between}

RANGE

Web应用-Thinkphp框架-开发指南_数据_77

{range name="id" value="1,2,3" type="in"} 输出内容1 {/range}

Web应用-Thinkphp框架-开发指南_模版_78


PRESENT NOTPRESENT标签

Web应用-Thinkphp框架-开发指南_前端_79

{present name="name"} name已经赋值 {/present}

Web应用-Thinkphp框架-开发指南_模版_80

{notpresent name="name"} name还没有赋值 {/notpresent}

Web应用-Thinkphp框架-开发指南_模版_81

{present name="name"}
  name已经赋值 
  {else /} 
  name还没有赋值
   {/present}

Web应用-Thinkphp框架-开发指南_前端_82

{present name="Think.get.name"}
  $_GET['name']已经赋值 
  {/present}

EMPTY NOTEMPTY 标签

Web应用-Thinkphp框架-开发指南_数据_83

{empty name="name"} 
 name为空值 
 {/empty}

Web应用-Thinkphp框架-开发指南_数据_84

{notempty name="name"} name不为空 {/notempty}

Web应用-Thinkphp框架-开发指南_数据_85

{empty name="name"} 
 name为空
  {else /}
   name不为空 
   {/empty}

Web应用-Thinkphp框架-开发指南_前端_86

{empty name="Think.get.name"} $_GET['name']为空值 {/empty}

DEFINED 标签

Web应用-Thinkphp框架-开发指南_数组_87

{defined name="NAME"} NAME常量已经定义 {/defined}

Web应用-Thinkphp框架-开发指南_数据_88


Web应用-Thinkphp框架-开发指南_模版_89

{notdefined name="NAME"} NAME常量未定义 {/notdefined}

Web应用-Thinkphp框架-开发指南_模版_90

{defined name="NAME"} NAME常量已经定义 {else /} NAME常量未定义
 {/defined}

Web应用-Thinkphp框架-开发指南_模版_91


Public 修改

  • 入口文件位置

Web应用-Thinkphp框架-开发指南_数据_92

Web应用-Thinkphp框架-开发指南_数组_93

  • tp3---->tp5根路径
  • tp5 —>public文件夹内
  • 入口重定向
    域名 重定向
    更改网站目录到public—>访问index
    hosts配置

Web应用-Thinkphp框架-开发指南_前端_94

Web应用-Thinkphp框架-开发指南_模版_95

MVC模块化 ——访问机制

application 应用模块 eg: index admin

模块里面 controller 控制器

Web应用-Thinkphp框架-开发指南_数据_96

  • 访问非索引方法 ——自己写模块

传参

Web应用-Thinkphp框架-开发指南_前端_97

Web应用-Thinkphp框架-开发指南_数组_98

加载模版

Web应用-Thinkphp框架-开发指南_前端_99

Web应用-Thinkphp框架-开发指南_数组_100

  • 没有 找到 方法fetch
  • 引入空间/引入空间类元素

Web应用-Thinkphp框架-开发指南_数组_101

  • 继承(类用类方法)用限定方法引入类也可以
  • 使用引入空间 再继承相关类也可以
  • 限定模版名称

模版引入 分离

Web应用-Thinkphp框架-开发指南_数据_102

Web应用-Thinkphp框架-开发指南_数组_103

Web应用-Thinkphp框架-开发指南_数据_104

Web应用-Thinkphp框架-开发指南_模版_105

  • 复制模版进入
  • 输出替换 --配置模版路径 tp3–>;
  • Web应用-Thinkphp框架-开发指南_前端_106

    Web应用-Thinkphp框架-开发指南_数据_107

  • 总config 和 分config之分
  • Web应用-Thinkphp框架-开发指南_数据_108

  • 模版替换
  • Web应用-Thinkphp框架-开发指南_前端_109

    Web应用-Thinkphp框架-开发指南_前端_110

  • 拼装路径

Web应用-Thinkphp框架-开发指南_数组_111

  • 静态文件 css images js

Web应用-Thinkphp框架-开发指南_数组_112

Web应用-Thinkphp框架-开发指南_数据_113

Web应用-Thinkphp框架-开发指南_数组_114

  • 模版分离(公共文件)

Runtime 缓存文件

管理员添加

Web应用-Thinkphp框架-开发指南_模版_115

Web应用-Thinkphp框架-开发指南_数据_116

Web应用-Thinkphp框架-开发指南_模版_117

Web应用-Thinkphp框架-开发指南_数据_118

  • 提交到 本文件下 即:list
  • 打印测试 与tp3.2 不同

Web应用-Thinkphp框架-开发指南_数组_119

Web应用-Thinkphp框架-开发指南_数据_120

Web应用-Thinkphp框架-开发指南_前端_121

Web应用-Thinkphp框架-开发指南_数组_122

Web应用-Thinkphp框架-开发指南_数据_123


静态方法 —insert插入传出值

Web应用-Thinkphp框架-开发指南_数组_124

  • 引入类
  • 添加一条数据
  • 批量添加 返回成功数据量

数据验证及验证场景 控制器 validate

Web应用-Thinkphp框架-开发指南_模版_125

  • 后端验证 3.2字段验证 5.0以后变化很大
  • validate创建验证文件
  • Web应用-Thinkphp框架-开发指南_数据_126

    Web应用-Thinkphp框架-开发指南_数组_127

    Web应用-Thinkphp框架-开发指南_数据_128

    Web应用-Thinkphp框架-开发指南_前端_129

  • 控制器 validate
    实例化 验证类
    数组 验证字段/规则
    传入验证字段
    执行 验证策略
    Dump 执行结果

在sql执行(敏感操作)之前验证

Web应用-Thinkphp框架-开发指南_前端_130


Web应用-Thinkphp框架-开发指南_前端_131


Web应用-Thinkphp框架-开发指南_数据_132


Web应用-Thinkphp框架-开发指南_数据_133

  • 也可以引入 继承

Web应用-Thinkphp框架-开发指南_数组_134

  • 打印调试验证规则
  • 创建 拦截器文件

Web应用-Thinkphp框架-开发指南_数组_135

  • 注意TP的namespace的根命名空间

Web应用-Thinkphp框架-开发指南_数据_136


Web应用-Thinkphp框架-开发指南_模版_137


Web应用-Thinkphp框架-开发指南_数据_138


Web应用-Thinkphp框架-开发指南_数据_139

Web应用-Thinkphp框架-开发指南_数组_140


Web应用-Thinkphp框架-开发指南_前端_141


Web应用-Thinkphp框架-开发指南_数据_142


Web应用-Thinkphp框架-开发指南_数组_143


Web应用-Thinkphp框架-开发指南_前端_144


Web应用-Thinkphp框架-开发指南_数据_145

Web应用-Thinkphp框架-开发指南_前端_146

Web应用-Thinkphp框架-开发指南_数据_147

Web应用-Thinkphp框架-开发指南_前端_148

  • 一个元素就是一个验证场景

数据模板 分页

  • 获取数据
  • Web应用-Thinkphp框架-开发指南_数据_149

    Web应用-Thinkphp框架-开发指南_模版_150

    Web应用-Thinkphp框架-开发指南_前端_151

  • 创建model
  • Web应用-Thinkphp框架-开发指南_前端_152

    Web应用-Thinkphp框架-开发指南_前端_153

    Web应用-Thinkphp框架-开发指南_数组_154

  • 分配到模板当中 名字/值
  • 循环输出 分配过来的数组数据
  • Web应用-Thinkphp框架-开发指南_模版_155

    Web应用-Thinkphp框架-开发指南_数据_156

  • 空间类元素引入
  • 完全限定名称
  • Web应用-Thinkphp框架-开发指南_数组_157

    Web应用-Thinkphp框架-开发指南_数组_158

    Web应用-Thinkphp框架-开发指南_数组_159

    Web应用-Thinkphp框架-开发指南_数据_160

    Web应用-Thinkphp框架-开发指南_模版_161

  • 分页
  • Web应用-Thinkphp框架-开发指南_模版_162

    Web应用-Thinkphp框架-开发指南_前端_163

  • 排序 默认升序

Web应用-Thinkphp框架-开发指南_模版_164


Web应用-Thinkphp框架-开发指南_数组_165

Web应用-Thinkphp框架-开发指南_数据_166

Web应用-Thinkphp框架-开发指南_数组_167

Web应用-Thinkphp框架-开发指南_模版_168

  • 查询数据 一维二维数组的区别
  • 调试查询功能结果

Web应用-Thinkphp框架-开发指南_数组_169

  • 修改数据 需要主键——判断哪一条数据
  • 隐藏域 数据表主键
  • Web应用-Thinkphp框架-开发指南_数据_170

    Web应用-Thinkphp框架-开发指南_前端_171

  • dump 一下 调试
  • Web应用-Thinkphp框架-开发指南_前端_172


  • Web应用-Thinkphp框架-开发指南_数据_173

    Web应用-Thinkphp框架-开发指南_数组_174

    Web应用-Thinkphp框架-开发指南_数组_175

  • 数组传值
  • Web应用-Thinkphp框架-开发指南_数组_176

  • 密码为空 不修改
  • Web应用-Thinkphp框架-开发指南_前端_177


  • Web应用-Thinkphp框架-开发指南_数据_178


  • Web应用-Thinkphp框架-开发指南_数据_179

    Web应用-Thinkphp框架-开发指南_数据_180

  • 验证 拦截器功能
  • Web应用-Thinkphp框架-开发指南_数据_181

Web应用-Thinkphp框架-开发指南_数组_182


  • 数组传值
  • 看一下传值
  • 查看是否解析 (还是用数组写法)
  • 初始化管理员 不可动摇
  • 助手函数 (不用引用类了) 准备好那个id
  • 写入组件/where
  • 执行成功 跳回当前控制器

  • 条件判断 来隐藏初始化管理员

Web应用-Thinkphp框架-开发指南_模版_183


Web应用-Thinkphp框架-开发指南_前端_184

Web应用-Thinkphp框架-开发指南_数组_185

Web应用-Thinkphp框架-开发指南_模版_186

  • 模型—>引入类 使用静态方法
  • 伪静态 .html可以不带


Web应用-Thinkphp框架-开发指南_数据_187

Web应用-Thinkphp框架-开发指南_前端_188

Web应用-Thinkphp框架-开发指南_数组_189

Web应用-Thinkphp框架-开发指南_数组_190

Web应用-Thinkphp框架-开发指南_数据_191

Web应用-Thinkphp框架-开发指南_前端_192

Web应用-Thinkphp框架-开发指南_前端_193

Web应用-Thinkphp框架-开发指南_数组_194

Web应用-Thinkphp框架-开发指南_数组_195

Web应用-Thinkphp框架-开发指南_数据_196

Web应用-Thinkphp框架-开发指南_数组_197

  • id以隐藏于submit

Web应用-Thinkphp框架-开发指南_数据_198


Web应用-Thinkphp框架-开发指南_前端_199


  • 控制器首字母要大写

Web应用-Thinkphp框架-开发指南_前端_200


Web应用-Thinkphp框架-开发指南_数据_201


Web应用-Thinkphp框架-开发指南_模版_202


Web应用-Thinkphp框架-开发指南_数组_203


Web应用-Thinkphp框架-开发指南_模版_204


Web应用-Thinkphp框架-开发指南_模版_205


Web应用-Thinkphp框架-开发指南_数组_206


Web应用-Thinkphp框架-开发指南_数组_207

Web应用-Thinkphp框架-开发指南_前端_208


Web应用-Thinkphp框架-开发指南_模版_209

Web应用-Thinkphp框架-开发指南_数据_210

  • 唯一性验证

Web应用-Thinkphp框架-开发指南_数组_211


Web应用-Thinkphp框架-开发指南_数组_212

Web应用-Thinkphp框架-开发指南_前端_213

Web应用-Thinkphp框架-开发指南_模版_214


Web应用-Thinkphp框架-开发指南_数组_215

Web应用-Thinkphp框架-开发指南_模版_216


Web应用-Thinkphp框架-开发指南_前端_217


Web应用-Thinkphp框架-开发指南_数据_218

Web应用-Thinkphp框架-开发指南_数据_219

Web应用-Thinkphp框架-开发指南_模版_220

  • 还是这样 重复造轮子 把上面的文档 复制 更改增加就行
  • 根据策划 数据库 来写拼搭前端页面

  • res 二维数组

  • 前端 form 表单name 对应 数据库表单

  • 调试 打印 上传图片信息
  • 调试 上传结果
  • 拼装路径


  • 关联查询

数据表连接查询

Web应用-Thinkphp框架-开发指南_数组_221

  • 生成sql查询 -->返回二维数组 ---->分配到模板

TP 关联查询

Web应用-Thinkphp框架-开发指南_模版_222

Web应用-Thinkphp框架-开发指南_数组_223

Web应用-Thinkphp框架-开发指南_数组_224


Web应用-Thinkphp框架-开发指南_数据_225

Web应用-Thinkphp框架-开发指南_数组_226

  • 主 从表关系 相对关联关系
  • 关联好了 取数据

  • 文章修改
  • Web应用-Thinkphp框架-开发指南_前端_227

    Web应用-Thinkphp框架-开发指南_模版_228

  • 编辑
  • Web应用-Thinkphp框架-开发指南_数据_229

    Web应用-Thinkphp框架-开发指南_数据_230


  • Web应用-Thinkphp框架-开发指南_前端_231

    Web应用-Thinkphp框架-开发指南_前端_232

    Web应用-Thinkphp框架-开发指南_数据_233

Web应用-Thinkphp框架-开发指南_模版_234

  • Ctrl + F5
  • Web应用-Thinkphp框架-开发指南_数组_235


  • Web应用-Thinkphp框架-开发指南_模版_236


  • Web应用-Thinkphp框架-开发指南_模版_237

  • 隐藏域标记
  • Web应用-Thinkphp框架-开发指南_数据_238

    Web应用-Thinkphp框架-开发指南_数组_239

    Web应用-Thinkphp框架-开发指南_前端_240

  • 这里调整 删除路径的
  • Web应用-Thinkphp框架-开发指南_前端_241


  • Web应用-Thinkphp框架-开发指南_数组_242

    Web应用-Thinkphp框架-开发指南_数据_243


  • Web应用-Thinkphp框架-开发指南_数组_244

    Web应用-Thinkphp框架-开发指南_数据_245


  • 验证码类 管理登录逻辑
    TP 拓展类 (下一个完整版)- composer/官网

Web应用-Thinkphp框架-开发指南_数据_246

Web应用-Thinkphp框架-开发指南_模版_247

Web应用-Thinkphp框架-开发指南_前端_248

Web应用-Thinkphp框架-开发指南_数组_249

Web应用-Thinkphp框架-开发指南_前端_250

Web应用-Thinkphp框架-开发指南_前端_251

Web应用-Thinkphp框架-开发指南_数组_252

Web应用-Thinkphp框架-开发指南_数组_253

Web应用-Thinkphp框架-开发指南_数据_254

Web应用-Thinkphp框架-开发指南_数组_255

Web应用-Thinkphp框架-开发指南_数据_256

Web应用-Thinkphp框架-开发指南_数组_257

Web应用-Thinkphp框架-开发指南_前端_258

Web应用-Thinkphp框架-开发指南_数组_259

Web应用-Thinkphp框架-开发指南_数据_260

Web应用-Thinkphp框架-开发指南_数组_261

Web应用-Thinkphp框架-开发指南_前端_262

Web应用-Thinkphp框架-开发指南_数组_263

Web应用-Thinkphp框架-开发指南_前端_264

  • model 模型 处理数据
  • 验证完 就执行
  • 登陆跳转
  • 写入session

  • 清除 session

  • 验证码配置放在公用 config内
  • 样式对齐
  • 字符提取 重置 点击刷新
  • 验证验证码

Web应用-Thinkphp框架-开发指南_数组_265

  • 复用功能代码 拆分 到public 控制器
  • 代码继承
  • base class 继承Controller 且 公用base 已经继承 think本身controller

Web应用-Thinkphp框架-开发指南_数据_266

  • 科学权限认证 公用机制

  • 前端页面调用

    前端后台控制器 变量接收 获得数据库 二维数组数据 写入模板
    并 排序

Web应用-Thinkphp框架-开发指南_前端_267

  • 导航 链接 跳转 传参-当前栏目id
  • 伪静态
  • 加载模板
  • header 加载导航变量 引导页面
    也要 添加需要的数据 -助手函数很方便(不用引用类)

Web应用-Thinkphp框架-开发指南_数据_268

  • 其他页面 的操作方法
    分配页面数据
  • Web应用-Thinkphp框架-开发指南_前端_269

  • - 控制器复用 直接继承
    构造初始化方法 调试
  • Web应用-Thinkphp框架-开发指南_数据_270

  • 继承
  • Web应用-Thinkphp框架-开发指南_模版_271

  • 前端 base 复用方法

Web应用-Thinkphp框架-开发指南_数组_272


Web应用-Thinkphp框架-开发指南_数据_273

  • 根据id 查询并分页
  • 数据 循环显示
  • 更改分页 查询
  • 调整样式

Web应用-Thinkphp框架-开发指南_数组_274

Web应用-Thinkphp框架-开发指南_数据_275

Web应用-Thinkphp框架-开发指南_模版_276


Web应用-Thinkphp框架-开发指南_数组_277

  • 跳转到 文章页 分配

  • 内容补全

  • 时间戳变换

Web应用-Thinkphp框架-开发指南_数据_278


Web应用-Thinkphp框架-开发指南_前端_279

Web应用-Thinkphp框架-开发指南_模版_280


Web应用-Thinkphp框架-开发指南_前端_281


  • 推荐 数据 查找 分配

Web应用-Thinkphp框架-开发指南_数据_282


Web应用-Thinkphp框架-开发指南_模版_283

Web应用-Thinkphp框架-开发指南_数组_284

  • 首页 数据 分配

Web应用-Thinkphp框架-开发指南_前端_285


Web应用-Thinkphp框架-开发指南_前端_286


Web应用-Thinkphp框架-开发指南_数组_287


Web应用-Thinkphp框架-开发指南_前端_288

  • 右侧栏 拆分

Web应用-Thinkphp框架-开发指南_前端_289


Web应用-Thinkphp框架-开发指南_数据_290


Web应用-Thinkphp框架-开发指南_前端_291


Web应用-Thinkphp框架-开发指南_模版_292


Web应用-Thinkphp框架-开发指南_前端_293

Web应用-Thinkphp框架-开发指南_数据_294

  • 有一些图片 链接地址 更改

  • 标签 关键字 字符替换
  • 保证写进数据库 的是 英文“ ,” 分割方便

Web应用-Thinkphp框架-开发指南_数据_295


  • 相关文章调用
  • 数组合并
  • 重复 匹配了 处理
  • 去掉 数组里的 重复
  • 打印调试
  • 去重 数组变换


  • 搜索功能 及分页

Web应用-Thinkphp框架-开发指南_数据_296

Web应用-Thinkphp框架-开发指南_前端_297

Web应用-Thinkphp框架-开发指南_模版_298


Web应用-Thinkphp框架-开发指南_模版_299


Web应用-Thinkphp框架-开发指南_数据_300


Web应用-Thinkphp框架-开发指南_前端_301


Web应用-Thinkphp框架-开发指南_前端_302

  • input 数据 查询 分配到模板
  • 载入模板

Web应用-Thinkphp框架-开发指南_数组_303


Web应用-Thinkphp框架-开发指南_数组_304

  • 关键词 匹配逻辑 完整性
  • Web应用-Thinkphp框架-开发指南_模版_305


  • Web应用-Thinkphp框架-开发指南_模版_306

  • 分页
  • Web应用-Thinkphp框架-开发指南_数据_307

    Web应用-Thinkphp框架-开发指南_数据_308

  • model 处理分页查询问题
  • Web应用-Thinkphp框架-开发指南_数据_309

    Web应用-Thinkphp框架-开发指南_模版_310

  • 标签 也联系搜索
  • Web应用-Thinkphp框架-开发指南_数据_311


  • 传参问题处理

Web应用-Thinkphp框架-开发指南_数据_312

  • 关键词 加亮
  • Web应用-Thinkphp框架-开发指南_模版_313

  • 后台 tag管理
  • Web应用-Thinkphp框架-开发指南_数据_314

  • 数组拆分 数据调用
  • Web应用-Thinkphp框架-开发指南_前端_315

Web应用-Thinkphp框架-开发指南_数组_316

Web应用-Thinkphp框架-开发指南_前端_317


Web应用-Thinkphp框架-开发指南_数据_318


Web应用-Thinkphp框架-开发指南_前端_319


Web应用-Thinkphp框架-开发指南_模版_320


Web应用-Thinkphp框架-开发指南_数据_321

  • 控制器
  • Web应用-Thinkphp框架-开发指南_数组_322

    Web应用-Thinkphp框架-开发指南_模版_323

    Web应用-Thinkphp框架-开发指南_模版_324

    Web应用-Thinkphp框架-开发指南_数组_325

    Web应用-Thinkphp框架-开发指南_数组_326

    Web应用-Thinkphp框架-开发指南_模版_327

    Web应用-Thinkphp框架-开发指南_数据_328

  • 公用base 设定
  • Web应用-Thinkphp框架-开发指南_模版_329

    Web应用-Thinkphp框架-开发指南_数组_330

    Web应用-Thinkphp框架-开发指南_前端_331

    Web应用-Thinkphp框架-开发指南_数组_332

    Web应用-Thinkphp框架-开发指南_前端_333

  • 类似于这种MVC架构的
    可以写博客 CMS 或者公司宣传官网都可以

-----------------

由于是3.2 版本的教程 后面会结合5.0版本进行改进 - 主要记录思路

Web应用-Thinkphp框架-开发指南_模版_334

Web应用-Thinkphp框架-开发指南_模版_335

  • 环境搭建
  • SVN服务器 版本控制
  • 服务器端VisualSVN 客户端 TortoiseSVN
  • 导入账号

Web应用-Thinkphp框架-开发指南_前端_336

  • 前后台分离 操作同一个数据库
  • 创建一个WWW下的网站地址 存放源码
  • 工作拷贝
  • 复制 后台框架
  • 配置前后台 apache虚拟命名

Web应用-Thinkphp框架-开发指南_模版_337

  • 前后台模板搭建
  • 单独后台
  • 无限分类模块设计
  • 测试数据库
  • 遍历表中内容select

无限分类模块实现

  • 字段排序
  • sql连接函数 取别名
  • 结果遍历

Web应用-Thinkphp框架-开发指南_前端_338


调试一下

Web应用-Thinkphp框架-开发指南_前端_339

  • 取值 重新命名
    再调试
  • Web应用-Thinkphp框架-开发指南_数据_340


  • Web应用-Thinkphp框架-开发指南_模版_341


  • Web应用-Thinkphp框架-开发指南_数据_342


  • Web应用-Thinkphp框架-开发指南_前端_343


  • Web应用-Thinkphp框架-开发指南_模版_344


  • Web应用-Thinkphp框架-开发指南_前端_345

    Web应用-Thinkphp框架-开发指南_模版_346

  • 添加 前台提交
  • 添加方法


  • 数据库操作
  • AJAX 无限分类
  • js写的
  • 通过AJAX到数据库 取值

  • public 取数据 需要的字段 返回数组
    变为json对象格式
  • 传过去Id
  • 信息传回 ajax
    后台 删除方法

商品模块 设计

Web应用-Thinkphp框架-开发指南_数据_347


Web应用-Thinkphp框架-开发指南_模版_348

Web应用-Thinkphp框架-开发指南_数据_349

Web应用-Thinkphp框架-开发指南_数组_350


Web应用-Thinkphp框架-开发指南_数组_351

Web应用-Thinkphp框架-开发指南_数据_352


Web应用-Thinkphp框架-开发指南_数据_353

Web应用-Thinkphp框架-开发指南_前端_354

  • 图片上传 异步处理
  • 添加商品
  • Web应用-Thinkphp框架-开发指南_数组_355

  • 测试数据
  • Web应用-Thinkphp框架-开发指南_前端_356


  • Web应用-Thinkphp框架-开发指南_数据_357

  • 准备模板
  • Web应用-Thinkphp框架-开发指南_数组_358

Session

Web应用-Thinkphp框架-开发指南_前端_359

Web应用-Thinkphp框架-开发指南_模版_360


Web应用-Thinkphp框架-开发指南_数组_361


Web应用-Thinkphp框架-开发指南_数组_362


Web应用-Thinkphp框架-开发指南_前端_363


Web应用-Thinkphp框架-开发指南_模版_364


Web应用-Thinkphp框架-开发指南_模版_365


Web应用-Thinkphp框架-开发指南_前端_366


Web应用-Thinkphp框架-开发指南_数据_367


Web应用-Thinkphp框架-开发指南_前端_368


Web应用-Thinkphp框架-开发指南_前端_369


Web应用-Thinkphp框架-开发指南_前端_370


Web应用-Thinkphp框架-开发指南_前端_371


Web应用-Thinkphp框架-开发指南_数组_372


Web应用-Thinkphp框架-开发指南_数据_373


Web应用-Thinkphp框架-开发指南_数据_374


Web应用-Thinkphp框架-开发指南_前端_375

控制器初始化

Web应用-Thinkphp框架-开发指南_数组_376

Web应用-Thinkphp框架-开发指南_数组_377


Web应用-Thinkphp框架-开发指南_数据_378


Web应用-Thinkphp框架-开发指南_数组_379

模板布局

Web应用-Thinkphp框架-开发指南_前端_380


Web应用-Thinkphp框架-开发指南_前端_381


Web应用-Thinkphp框架-开发指南_模版_382


Web应用-Thinkphp框架-开发指南_模版_383


Web应用-Thinkphp框架-开发指南_模版_384


Web应用-Thinkphp框架-开发指南_数组_385


Web应用-Thinkphp框架-开发指南_数据_386


Web应用-Thinkphp框架-开发指南_数组_387


Web应用-Thinkphp框架-开发指南_数据_388


Web应用-Thinkphp框架-开发指南_前端_389


Web应用-Thinkphp框架-开发指南_数据_390

Web应用-Thinkphp框架-开发指南_数据_391

Web应用-Thinkphp框架-开发指南_前端_392

模板赋值

Web应用-Thinkphp框架-开发指南_模版_393


Web应用-Thinkphp框架-开发指南_模版_394


Web应用-Thinkphp框架-开发指南_模版_395


Web应用-Thinkphp框架-开发指南_模版_396


Web应用-Thinkphp框架-开发指南_模版_397

请求与响应

Web应用-Thinkphp框架-开发指南_数据_398

Web应用-Thinkphp框架-开发指南_数组_399

Web应用-Thinkphp框架-开发指南_前端_400

Web应用-Thinkphp框架-开发指南_模版_401

Web应用-Thinkphp框架-开发指南_前端_402

Web应用-Thinkphp框架-开发指南_前端_403

Web应用-Thinkphp框架-开发指南_数组_404

Web应用-Thinkphp框架-开发指南_数组_405

Web应用-Thinkphp框架-开发指南_模版_406

Web应用-Thinkphp框架-开发指南_数组_407

Web应用-Thinkphp框架-开发指南_前端_408

Web应用-Thinkphp框架-开发指南_数组_409

Web应用-Thinkphp框架-开发指南_数据_410

Web应用-Thinkphp框架-开发指南_前端_411

Web应用-Thinkphp框架-开发指南_数组_412

Web应用-Thinkphp框架-开发指南_模版_413

Web应用-Thinkphp框架-开发指南_前端_414

Web应用-Thinkphp框架-开发指南_数据_415

Web应用-Thinkphp框架-开发指南_数组_416

Web应用-Thinkphp框架-开发指南_前端_417

Web应用-Thinkphp框架-开发指南_数据_418

Web应用-Thinkphp框架-开发指南_模版_419

Web应用-Thinkphp框架-开发指南_数组_420

Web应用-Thinkphp框架-开发指南_前端_421

Web应用-Thinkphp框架-开发指南_数组_422


Web应用-Thinkphp框架-开发指南_前端_423

Web应用-Thinkphp框架-开发指南_数组_424


响应

Web应用-Thinkphp框架-开发指南_数组_425

Web应用-Thinkphp框架-开发指南_数组_426

Web应用-Thinkphp框架-开发指南_数组_427

Web应用-Thinkphp框架-开发指南_数组_428

Web应用-Thinkphp框架-开发指南_模版_429


Web应用-Thinkphp框架-开发指南_数组_430

Web应用-Thinkphp框架-开发指南_前端_431

Web应用-Thinkphp框架-开发指南_数据_432

Web应用-Thinkphp框架-开发指南_模版_433

Web应用-Thinkphp框架-开发指南_数据_434

Web应用-Thinkphp框架-开发指南_模版_435

Web应用-Thinkphp框架-开发指南_模版_436

Web应用-Thinkphp框架-开发指南_前端_437

url及路由

Web应用-Thinkphp框架-开发指南_数组_438

url和路由

Web应用-Thinkphp框架-开发指南_模版_439

Web应用-Thinkphp框架-开发指南_模版_440


Web应用-Thinkphp框架-开发指南_数据_441

Web应用-Thinkphp框架-开发指南_模版_442

  • 参数调用
  • Web应用-Thinkphp框架-开发指南_模版_443

    Web应用-Thinkphp框架-开发指南_模版_444

    Web应用-Thinkphp框架-开发指南_前端_445

    Web应用-Thinkphp框架-开发指南_数组_446

  • 命名规范
  • Web应用-Thinkphp框架-开发指南_模版_447

    Web应用-Thinkphp框架-开发指南_前端_448

    Web应用-Thinkphp框架-开发指南_模版_449

    Web应用-Thinkphp框架-开发指南_前端_450

    Web应用-Thinkphp框架-开发指南_数据_451

    Web应用-Thinkphp框架-开发指南_模版_452

    Web应用-Thinkphp框架-开发指南_前端_453

    Web应用-Thinkphp框架-开发指南_模版_454

    Web应用-Thinkphp框架-开发指南_模版_455

    Web应用-Thinkphp框架-开发指南_模版_456

    Web应用-Thinkphp框架-开发指南_模版_457

    Web应用-Thinkphp框架-开发指南_数组_458

    Web应用-Thinkphp框架-开发指南_数组_459

    Web应用-Thinkphp框架-开发指南_模版_460

    Web应用-Thinkphp框架-开发指南_数据_461

    Web应用-Thinkphp框架-开发指南_前端_462

    Web应用-Thinkphp框架-开发指南_数组_463

    Web应用-Thinkphp框架-开发指南_前端_464

    Web应用-Thinkphp框架-开发指南_数组_465

    Web应用-Thinkphp框架-开发指南_数据_466

    Web应用-Thinkphp框架-开发指南_模版_467

  • 定义路由
  • 路由 + 传参
    SEO不友好 搜索引擎收录不到 抓不到三层

    比较友好 收录
  • 定义路由

  • 生成Url地址



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xaeiTka4h8LY   2024年04月26日   41   0   0 split数组字符串
N9D7V8EkcUNl