TP框架 命名空间 与第三方类】的更多相关文章

命名空间 相当于虚拟目录 所有类文件都放在虚拟目录 功能:实现自动加载类 TP框架的命名空间要更复杂 内容=> 命名空间中定义和使用 都用\1初始命名空间 相当于 根目录 如:Library文件夹 初始命名空间下包含根命名空间 根命名空间:1.LIbrary目录下面的所有 文件夹2.程序目录下模块名 定义命名空间 写法:从根开始写,写到本类的该目录下为止使用命名空间 从根开始写,写到类名为止 TP框架下每个类文件都要加命名空间,namespace ########################…
命名空间:相当于虚拟的目录在tp里面主要为了实现自动加载类 TP框架下有一个初始命名空间(相当于根目录)初始命名空间:ThinkPHP\Library 在初始命名空间下又包含很多根命名空间这些根命名空间主要分两类:1.TP核心类里面的根 在Library下所有的文件夹都是根 2.APP里面的根 APP里面的根是以模块名命名的 在写命名空间的时候,从根开始写.…
关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. 但是 序号的数字不一定是挨着的 你自己也可以 根据打开文件的先后次序来判定 p和n, 如果打开当前文件后, 再打开第二个文件, 那么第二个文件就是 后next文件, 当前文件就是previous文件. 所以 , 在第二个文件编辑的时候, 要回到当前文件, 就要用 bp.. 关于路由? 首先要明确,…
TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. Model模型怎样使用呢??? 要使用Model模型层访问数据库的话,需要做配置,因为必须把数据库的一些参数配置好之后,才能连接,所以找到Config.php 配置文件,打开 这些是关于数据库的配置, 要把这些粘贴到config.php 进行修改. config.php配置文件(修…
TP框架----命名空间 命名空间,起什么作用??? [1]命名空间是一个虚拟的目录,这个文件有可能存在这个电脑里的任何一个地方,但是如果要把这个文件它的命名空间全部写成同一个那么这些文件就相当于在同一个文件夹下,命名空间相当于一个虚拟的目录,用来管理文件的,用来管理程序文件的: [2]它使用命名空间来自动加载类,也就是说,只需要use Think\Controller;就可以把Controller这个类,加载到页面来: [3]命名空间的作用:就相当于虚拟的路径,相当于虚拟的目录. 来分析一下T…
作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 Public公用目录   里面放公用的东西比如css js ThinkPHPtp框架核心文件夹.Thinkphp核心文件夹里分为如下 ThinkPHP.php是tp框架的核心类 Common里面存放tp框架里面的函数方法 Conf文件夹里面要注意*代表配置文件特别是convention 文件tp框架…
输出: array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["user"]=> string(6) "鏄悧" ##乱码 说明: PHPstudy集成环境中的nts(非线性安全)下,在window本地是禁止路由的,但是PHP5.6版本以下,中文输出会乱码. http://www.tp.com/index.php/Home/User/model 例如上面的ur…
1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public function xianshi() { $c = D("chinastates"); $shuliang = $c->count(); //查询总条数 $page = new \Home\libs\Page($shuliang,15); //实例化分页类并传参数 $xinxi = $…
1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function diaoyong() { //跨控制器或跨模块调用用方法 //1.造对象调用 /*$sc=new IndexController(); $sc->index();*/ //2.使用TP框架的快捷方法A来创建控制器对象 //$sc=A("Admin/Main"); //前面的Admin是文件…
命名空间,相当于虚拟目录 实现自动加载类的机制 初始命名空间:Library文件夹 初始命名空间下面有很多根命名空间: 1.Library里面的文件夹 2.APP的模块文件夹 在tp框架中,只有这两个地方存放类 在定义的时候: 在写命名空间的时候需要从根写起,写到该文件所在的文件夹结束 用的时候:从根开始写,写到类名结束 例如: Home就是这个命名空间的根,所以写的时候写home下面的controller, 它是继承父类的controller,父类的controller的根是think,所以写…
tp框架开发常用到第三方的接口,这时候需要引入第三方的sdk.例如:微信扫码支付sdk,阿里大于的淘宝sdk等等 首先到官网上下载对应php的sdk文件,通常会有至少一个实例代码. 1 新建一个控制器,把实例代码粘贴到某个方法中,(例如index方法). 2 根据实例代码中实例化的类,在构造函数中将对应的文件引用过来,同时将引用的sdk的类文件,放在\ThinkPHP\Library\Vendor\(自定义新建文件夹) 中 ,之后运行脚本,一般会报错(某个类没有找到),此时将对应的类文件放入文件…
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController extends HomebaseController { public function judge(){ ...... $this->display("xxxxxxx"); } } 1.这是调用了父类的display方法,看一下HomebaseController有没有此方法,发现有, cl…
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很…
php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费…
TP框架主要文件夹注释 common -> 函数库目录 conf -> 配置文件目录lang -> 语言包librang -> 核心资源库 behacior -> 行为目录 org -> 功能类目录 think -> 核心程序文件目录 controller.class.php -> 操作控制器的类 model.class.php -> 操作模型模板的类 view.class.php -> 操作视图的类 image.class.php ->…
上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这个方法我还是写在了HomeController.class控制器文件中 (1.1)写了一个方法shouye() public function shouye() { $n = M("nation"); //数据库中的表 $arr = $n->select(); //查询表中的所有数据…
1.Model模型层是用来做什么的呢? 主要是用来做操作数据库访问的.也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. 2.Model模型怎样使用呢? 要使用Model模型层访问数据库的话,需要做配置,因为必须把数据库的一些参数配置好之后,才能连接,所以找到Config.php.    如何修改配置呢? 1)打开下图路径中的Convention.php文件 2)复制convention.php中的下图内容到Home/Conf/config.php中 3)修改配置,将自己的数据…
1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的" //$this->assign("a","world"); //$this->show(); var_dump(get_defined_constants());//获取系统常量信息.里面加上参数true,就会按照类把所有的信息显示出来. } 系统信…
[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: >系统常量信息里经常用到的是user里的路径 > APP_PATH =>string'./shop/' 项目路径 > MODE_PATH 模型路径> __SELF__ 自身路径 > '__APP__'=>string'/ThinkPHP/index.php' 入口文件 > __MODULE__ =>string'/ThinkPHP/index.php/Home' 当前模块路径 &g…
[使用框架]  官网:thinkphp.cn.  目前建议使用thinkPHP3.2版本 一.结构目录>Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的 >Public是公有的文件夹,里面可以写自己的东西>Application 我们建立项目的文件夹(Public和Application里面原有自带的文件可以删除,相当于两个空的文件夹)>tp文件夹中的index.php 是所有程序的入口文件 >conf->convention.php…
extend 方法一:命名空间引入 我们只需要把自己的类库包目录放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间,例如: 我们在extend目录下面新增一个lib目录,然后定义一个\lib\Mycla类( 类文件位于extend/lib/Mycla.php)如下: namespace lib; class Mycla { public function index(){ echo "这是Mycla"; } } 我们就可以直接实例化和调用: $m…
今天在这里我们学习一下tp框架里面怎么做验证. 验证又分为两种:静态验证.动态验证 首先,我们还是先做一个html界面,名为add.html.代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://ww…
tp框架的create自动加载表单的方法可以自动根据自己定义的要求来验证表单里面的内容,但是由于是在后台执行代码,会拖慢程序运行速度,所以还是建议通过前端js来进行判断,后台只进行数据库的查询以及传值,这样运行速度会比较快. 另外,自动验证推荐用ajax来传值,因为这样可以把错误信息返回回去,就不会打到错误信息界面 1.静态验证 写一个MODEL模型,来定义要验证的内容和格式. <?php namespace Home\Model; use Think\Model; class YongHuMo…
一.ajax例子:ajaxReturn("ok","eval")->thinkphp中ajax的返回值的方法,返回参数为ok,返回类型为eval(字符串) 1.MainController.class.php <?php namespace Ajaxtest\Controller; use Think\Controller; class MainController extends Controller { public function zhuye()…
TP框架自带分页的实现方法,所以使用这个分页方案,不用再重新造轮子 1,先看效果图 2,源码 /** * TODO 基础分页的相同代码封装,使前台的代码更少 * @param $m 模型,引用传递 * @param $where 查询条件 * @param int $pagesize 每页查询条数 * @return \Think\Page */ public static function getpage(&$m,$where,$pagesize=10){ $m1=clone $m;//浅复制…
第三方类的引入,以分页类为例: 1.在控制器里新建一个分页的操作方法FenYe() 注意:第三方类Page.class.php放在Think或Home文件夹下,并新近一个文件夹,放在里面,并在其类里加上命名空间namespace Home\FenYe function FenYe() { $model=D("Nation"); $total=$model->count(); //造分页类 $page=new \Home\FenYe\Page($total,3); //参数一为总数…
外部文件引入到视图模板的方式       1,将外部文件放在Public文件夹下,用load标签引入       2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load href="__PUBLIC__/css/index.css"/> <load href="__PUBLIC__/jquery/$jquery-1.0.js"/> <load href="__PUBLIC__/js/index.js&qu…
MVC : M->Model 模型(数据层)     V->View 视图(视图层)  C->Controller 控制器(逻辑层)            M : 操作数据(连接数据库,访问数据)            V : 提供显示模板            C : 实现业务逻辑 MVC : 访问的不是页面,而是方法  (约定大于配置)            访问方式 : 找到入口文件 index.php进行操作  地址前加服务器 localhost/框架           (一)…
之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规…
什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工作量. thinkphp 3.2版本 路径:…