为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
快速入门ThinkPHP框架—理论篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP框架—理论篇

Donsen PHP开发工程师
难度中级
时长 3小时51分
  • 自定义配置项 User.php
    查看全部
  • thinkphp运行机理
    查看全部
  • 1.实例化框架基础模型(在 ThinkPHP/Library/Think/Model.class.php 中) $user=new Model('admin’); //参数表:表名、表前缀、数据库连接信息 ;省略的参数会直接调用配置文件中配置的相关数据 $user=M("pro"); //M()方法会直接跳过应用中的模型(不论应用的模块的 Model文件夹 中是否有同名模型类文件[proModel.class.php] ),而去实例化框架基础模型 $data==$user->select(); //数据库查询 dump($data); 2.实例化用户自定义模型(在 Application/模块(Home)/Model 中) $user=new adminModel(); //参数表:表名、表前缀、数据库连接信息 ;省略的参数会直接调用配置文件中配置的相关数据 $user=D("admin");//先找用户自定义模型,找不到会自动切换成M()方法去查找框架基础模型 echo $user->getinfo(); //调用自定义模型类中的方法 3.实例化公共模型(建议在 Application/模块(Home)/Model 中建立,且 公共模型 继承 框架基础模型 ,然后[有需要的]其他用户自定义模型 再继承 此公共模型 , 这样 此公共模型中定义的方法 就可以被 继承他的子模板 共用) $user=new CommonModel(); //公共模型 echo $user->strmake("aaa"); //公共模型->方法 $user=D("User"); //继承公共模型的子模型 /echo $user->strmake("abc"); //子模型->公共模型的方法 4.实例化空模型(方便使用原生的SQL语句) $model=M(); //实例化一个空框架基础模型 $sql="select * from imooc_admin"; $data=$model->query($sql); //query()方法最好只用于读取数据 $model->execute($sql); //execute()方法最好只用于写入数据 update,insert,delete等 [execute()方法返回值为数据表被影响行数,所以不能用来做查询]
    查看全部
    0 采集 收起 来源:实例化模型

    2018-03-22

  • 框架基础
    查看全部
  • 框架是程序结构代码的集合,而不是业务逻辑代码。集合中包含了许多类、函数和功能类包。这个集合石按照一定标准组成的功能体系。体系有很多设计模式,比如MVC等。
    查看全部
    0 采集 收起 来源:框架简介

    2017-06-04

  • MVC
    查看全部
    0 采集 收起 来源:MVC简析

    2017-06-04

  • //TP框架内置了一个抽象的数据库的访问层,这个访问层把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。使我们可以更专业与逻辑代码的编写 //--数据库参数配置,需要在应有层进行配置( Application/Common/Conf/config.php 中进行配置)—— 'DB_TYPE'=>'muysql',//数据库类型 'DB_HOST'=>'localhost,localhost1,localhost2',//数据库服务器地址 'DB_NAME'=>'mooc',//数据库名 'DB_USER'=>'root',//数据库用户 'DB_PWD'=>'',//数据库用户密码 'DB_PORT'=>'3306',//数据库端口(默认3306),可以不配置 'DB_PREFIX'=>'mc_',//数据库表前缀 //数据库配置好后,并非立即连接,TP数据库连接是一种惰性连接,所以并不是在实例化的时候就连接数据库,而是在有实际的数据操作的时候才会去连接数据库. //开启主从读写分离,读操作使用从服务器,写操作使用主服务器,这样就能给数据库进行负载均衡 'DB_RW_SEPARATE'=>true, //主从分离开启 //说明主服务器数量 'DB_MASTER_NUM'=>'2', //则 'DB_HOST' 前面设置的前两个为主数据库服务器( localhost,localhost1为主服务器 ),剩下的为从服务器( localhost2为从服务器 ) //——如果某模块需要调用其他服务器的数据,则在模块中单独设置服务器配置信息 然后在单独调用—— //具体参看 ThinkPHP3.2 完全开发手册/模型/链接数据库
    查看全部
    1 采集 收起 来源:连接数据库

    2018-03-22

  • TP调试方法: 1.在入口文件中开启调试模式 define('APP_DEBUG',true); //开启调试模式 系统会自动加载框架下ThinkPHP/Conf/debug.php 2.在应用目录下的位置文件夹( Application/Common/Conf )中建立debug.php配置文件;在调试模式下其检测到应用目录中的配置目录( Application/Common/Conf )中有 debug.php 文件存在 其优先级高于 config.php (即 debug.php 中的配置项将覆盖 同目录下的 config.php 中的同名配置项) 在 debug.php 中配置'SHOW_PAGE_TRACE'=>true,显示页面trace信息 当关闭调试模式后 define('APP_DEBUG’,false) TP将停止加载框架下的(ThinkPHP/Conf/) debug.php 文件 与 应用目录下( Application/Common/Conf )的 debug.php 文件 3. 调用trace()方法(在 1,2 配置文成条件下才能使用 trace()方法 ) trace('变量','标签','级别','是否记录日志') 变量: 要显示的变量 标签: 显示变量值时的提示标签 级别: 显示位置(在调试界面的那个选项卡中显示;默认在调试选项卡中显示) 如: $info = '测试信息'; trace($info,'提示’,’SQL’); 则在SQL选项卡中显示 “提示:测试信息” 老师的代码是: trace(‘name’,C(‘name’)); //C(‘name’) 的值为: Donsen@debug 所以在调试选项卡中显示 “Donsen@debug:name” 4. 调用G()方法,获取代码段执行时间(毫秒) (不需要开启调试状态也可以使用) G('run'); for($i=0;$i<100000;$i++){ $count += $i; } echo G('run','end'); //统计从 G('run') 标记的位置到 G('run','end') 标记的位置所用的运行时间和内存占用情况 5.格式化输出变量内容: dump(变量); //是 TP 对 php 内置函数 var_dump() 的改进.
    查看全部
  • 1 不推荐使用if判断标签(原因是condition属性使用php语法),尽量用其他标签替代。 2 实在不行就用php原生语法, <php>php语法</php> (原因异步方式使用的都是php原生语法) <foreach name='person' item='data'> <br /><!-- 比较标签 --> <egt name='data.age' value='18'>{$data.name}已成年<else />{$data.name}未成年</egt> </foreach> <br /> <foreach name='person' item='row' > <!-- {$person[1]['age'] >= 18?"yes":"no"} 二维数组--> {$row['age'] >= 18?"成年":"未成年"} <br/> <!-- 三目运算符 --> </foreach> <php>echo $person[1]['name']</php> <!-- 模板中使用PHP -->
    查看全部
  • 模板之三元运算符 很简单跟php语法一样,如下 {$num>11?'大于11':'不大于11'}
    查看全部
  • 1.in notin between notbetween range 2.<in name='变量' value='1,2,3'>在1,2,3里面<else>不在这里面</in>//判断变量是否在1,2,3里 3.<motin name='变量' value='1,2,3'>不在1,2,3里面<else>在这里面</in>//判断变量是否不在1,2,3里 4.<between name='变量' value='1,10'>在1-10区间<else>不在这区间</in>//判断变量是否在1-10之间 5.<notbetween name='变量' value='1,10'>不在1-10区间<else>在这区间</in>//判断变量是否不在1-10之间 6.<range name='变量' value='1,11,12' type='in'>在1,11,12里的一个数字<else></else>没有这个数</range>//判断变量在或者不在1,11,12里,type只能是in和notin的,不能是between和notbetween
    查看全部
  • eq(=), neq(!=), gt(>), egt(>=), lt(<), elt(<=), heq(===), nheq(!==) <比较标签 name="变量名" value=“比较值”>输出内容</> 1、<eq name="num" value="10">num = 10</eq> 2、<neq name="num" value="10">num !=10 <else/> num = 10</neq> 3、<compare name="num" value="10" type="eq">num=10<else/>num!=10</compare> else后面一定要带'/'来表示结束!
    查看全部
  • 在模板中: <switch name="name"> <case value="laoshi">小明,滚出去</case> <case value="xiaohong|xiaohuang">小红,滚出去</case> <default/>小明,自己滚出去了 </switch> </default>默认输出 value='xiaohong|xiaohuang' name属性 的值等于 xiaohong 或者 xiaohuang 时运行;多条件用 ‘|’分隔
    查看全部
  • 在模板中使用IF <if condition='$num lt 10'> num小于10 <elseif condition='$num gt 10'></elseif> num 大于 10 <else></else> num 等于 10 </if> 一定要注意elseif 和 else 后面的结束 /,否则就像php,C,C++等语言中 switch—case 没有break一样
    查看全部
  • 缩写的含义:eq(=), neq(!=), gt(>), egt(>=), lt(<), elt(<=), heq(===), nheq(!==) <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" > </for> 开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt(<); name的默认值是i,步进值的默认值是1,举例如下: <for start="1" end="100"> {$i}<br/> </for> 效果等同于: <?php for ($i=1;$i<100;$i+=1){ echo $i."<br/>"; } ?>
    查看全部

举报

0/150
提交
取消
课程须知
1、PHP基础语法 2、MYSQL常用的SQL语句 3、面向对象开发思想
老师告诉你能学到什么?
1、理解框架的概念 2、熟练掌握tp框架的基础用法 3、简单的使用tp框架进行相关开发
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!