tp命名空间】的更多相关文章

namespace   Home\Controller;  命名空间   根命名空间下的类所在的文件夹use Think\Controller; 使用   根命名空间下的controller类 顶头写写在最上面 命名空间:虚拟目录目的:自动加载类 初始命名空间:Library(公用的,为了保证他的完整性,一般不往这里面写) 根命名空间:    1.Library下的所有文件夹    2.应用程序的模块名(home) 命名空间的写法(反斜杠):\    从根命名空间开始写,写到该类所在的文件夹为止…
tp的命名空间其实就是虚拟目录,目的是为了自动加载类(不是管理文件) tp命名空间包含两部分: (1)初始命名空间:Library (2)根命名空间: a)Library文件下的所有文件夹,只含一级文件   b) 应用程序模块名(红色标注的是模块名) tp框架里所有的类文件里都要写上命名空间!!! 怎么写? namespace Admin\Controller; 从根开始写,写的该文件所在的目录为止. 怎么用? 第一种: use Think\Controller;  从根开始写,写到类名为止.…
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是文件…
命名空间:相当于虚拟的目录在tp里面主要为了实现自动加载类 TP框架下有一个初始命名空间(相当于根目录)初始命名空间:ThinkPHP\Library 在初始命名空间下又包含很多根命名空间这些根命名空间主要分两类:1.TP核心类里面的根 在Library下所有的文件夹都是根 2.APP里面的根 APP里面的根是以模块名命名的 在写命名空间的时候,从根开始写.…
命名空间 相当于虚拟目录 所有类文件都放在虚拟目录 功能:实现自动加载类 TP框架的命名空间要更复杂 内容=> 命名空间中定义和使用 都用\1初始命名空间 相当于 根目录 如:Library文件夹 初始命名空间下包含根命名空间 根命名空间:1.LIbrary目录下面的所有 文件夹2.程序目录下模块名 定义命名空间 写法:从根开始写,写到本类的该目录下为止使用命名空间 从根开始写,写到类名为止 TP框架下每个类文件都要加命名空间,namespace ########################…
命名空间,相当于虚拟目录 实现自动加载类的机制 初始命名空间:Library文件夹 初始命名空间下面有很多根命名空间: 1.Library里面的文件夹 2.APP的模块文件夹 在tp框架中,只有这两个地方存放类 在定义的时候: 在写命名空间的时候需要从根写起,写到该文件所在的文件夹结束 用的时候:从根开始写,写到类名结束 例如: Home就是这个命名空间的根,所以写的时候写home下面的controller, 它是继承父类的controller,父类的controller的根是think,所以写…
访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function _empty() { echo"网址输入错误"; //空方法的处理办法 } } 访问控控制器解决方法->创建一个名为EmptyController.class.php的控制器文件,在该…
获取系统常量信息: public function ShowInFo() { var_dump(get_defined_constants(true)); //如果参数为true,则分类显示 } 在这里我们先说一下几个调用方法: A方法(可跨模块调用):实例化控制器对象A("模块/控制器"); R方法(可跨模块调用):R("模块/控制器/方法"); U方法可以在任何一个地方生成任何一个模块下任何控制器里边的任何一个方法的路径. 开始演示: 创建一个MainContr…
什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色.具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件.另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.txt.…
1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public function xianshi() { $c = D("chinastates"); $shuliang = $c->count(); //查询总条数 $page = new \Home\libs\Page($shuliang,15); //实例化分页类并传参数 $xinxi = $…
一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名空间(相当于根目录)ThinkPHP\Libray*在初始命名空间下又包含很多根命名空间,这些根命名空间主要分两类:1.TP核心类里面的根(系统文件)        在Libray下,有几个文件夹就有几个根(所有的文件夹都是根)2.APP里面的根(自定义文件)        APP里面的根是以模块名…
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写…

tp

ThinkPHP php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4.…
ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的.只要按照规范定义,都可以实现自动加载. 类库存放位置:Think目录:系统核心类库Org目录:第三方公共类库demo:1.在ThinkPHP/Library/..下2.添加My文件夹.并进入3.写(放入)一个类文件(注意TP类文件是以.class.php 为结尾):    举例是One.class.php           namespace My;       class One{           sta…
由于最近玩了PHP,我向来有个原则,学一门服务端语言至少得玩两个框架,前段时间用PHP写了些demo+小项目,看见身边有人在使用TP,于是乎鼓捣学习学习.如何学,无非也就是做个小demo:就目前看来现在都PHP框架都是以一个index.php文件作为入口,其他基本上就是路由加映射. 前期准备创建数据库与表: # ************************************************************ # Sequel Pro SQL dump # Version…
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController extends HomebaseController { public function judge(){ ...... $this->display("xxxxxxx"); } } 1.这是调用了父类的display方法,看一下HomebaseController有没有此方法,发现有, cl…
PHP 5.3 及以上版本中引入了命名空间 的概念. notes: 1. 在 PHP 中,命名空间用来解决在编写 类库 或 应用程序 时创建 可重用 的 代码如 类 或 函数 时碰到的两类问题: ① 用户编写的代码与 PHP 内部的 类 / 函数 / 常量 或 第三方类 / 函数 / 常量 之间的名字冲突: ② 为很长的标识符名称 ( 通常是为了缓解第一类问题而定义的 ) 创建一个别名(或简短)的名称,提高源代码的可读性. 2. 如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间.…
一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以空操作有两种解决方案: ①     在对应的控制器里边制作一个方法,名称为”_empty”,这个控制器的空操作都会自动执行该方法.(推荐使用) function _empty() //解决方案一 { echo "网页不存在,请检查浏览器信息!"; } ②     给空操作的名称制作一个同名…
TP开发小技巧原文地址http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/ http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/ 一.前端1.开发时间段禁止js,和css缓存,使用模板引擎在固定后缀加版本号或随机数 /* 模板相关配置 */'TMP…
1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Home/Main/login http://网址/index.php/Home/Main/hello  空操作 出现页面: 显示的错误信息过于详细,为安全以及优化页面起见,实行空操作 1.做一个_empty()方法.要在子类里面写,不要再父类里(推荐使用) function _empty() { ech…
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很…
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟的就是tp 打上目录后回车,就会出来tp的主页面,如图 再随便打上一个没有的操作方法,如 打出的这个页面,暴露了很多信息,不太安全,所以我们要控制住,. 像这种操作本来没有的,叫做空操作 要改变这种,我们可以提供一种方法 从这个目录下找 可以在这个文件中查找双下划线打头的call方法 在这个位置搜到…
操作数据库,进行增删改数据 一.对数据表添加数据(方法:add()) (1)上一篇已经讲过链接数据库了,继续进行对数据库的操作,还是用控制器文件中的HomeController.class文件 看下数据库表中的现有数据,然后在进行添加数据 添加数据有三种方法 其中第一种和第二种的添加数据方法不用判断语句,直接找到表然后进行编写就可以 public function tianjia() { $n = M("nation"); //下面就是第一种和第二种添加的方式 } 1.使用数组方式添加…
上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (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-----命名空间 2-----调用其他控制器的方法 3-----U()函数 一命名空间 ①看做是虚拟目录 --ThinkPHP/Library 初始命名空间 --在Library文件夹下的所有文件夹都称作根命名空间,由两部分构成 |--1.Library目录下的所有文件夹 |--2.应用程序目录里面的模块名 ②定义当前类的命名空间 --namespace  为当前创建的类指定命名空间  例如 namespace Home\Controller; 从文件所在的根开始写,写到他所在的文件夹为止,…
模型类的自动验证? 分为自动验证, 和 动态验证(手工验证), 前者的验证规则是定义在模型类中的, 所以要自己创建 扩展的/继承的模型类, 同时用 D方法实例化模型类 而动态验证是 先调用 validate($rules)方法,然后调用create方法, 不依赖于模型类,所以可以用M方法创建实例$User=M('user'); if(!$User->validate($rules)->create() { exit($User->getError()); } else {...} ) t…
杂项 系统中的电感线圈元件, 虽然不消耗电能, 但是会 占用系统的容量(相当于占用资源但是不做事), 会使系统 的发电量的使用效率降低, 线路损耗增大, 发出同样有功用电量所需的设备容量扩大 将感性元件和容性元件串接在一起的好处是: 感性负载电流 的相位 落后 系统电压(这个是作为参考电压使用的) 90度(理解: "电场先被线圈铁芯吸收, 转变为磁能 然后才有电流, 所以 电感电流的相位更落后"), 而容性负载电流的相位比 系统电压 提前 90 度, 所以 两者如果串联的话, 刚好抵消…
获取系统常量信息 随便一个方法里加上这句话都能获取到系统常量信息!! var_dump(get_defined_constants()); <?php namespace Admin\Controller; use Think\Controller; class DengLuController extends Controller { public function test(){ //$this->show(); //echo "hello"; //获取系统常量信息 /…
new Image(宽度,高度) $(image).attr('src', ...).load(function(){....}) load表示浏览器从服务器下载(装载)对象完成, 这个load方法很重要, 可以由浏览器自动判断一个对象, 或者一个节点是否装载.下载完成了 new Image的时候, 内存缓存中 的图像 如何装载进来, 要加入到文档的某个节点中来才能 生根,才能显示?? 使用 ajax事件:浏览器系统会自动检查 ajax的(全局)开始和结束, 以及每一次ajax请求的开始和结束,…