通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写…
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很…
在上篇随笔中我们已经知道了tp框架的四种访问方式,那么当在地址栏输入不存在的操作方法.控制器会怎么样呢? 先看一下定义: 空操作:一个对象(控制器)调用本身不存在的方法 空控制器:在实例化控制器对象的时候,没有找到指定的类 首先,在Application文件下新建Ceshi模块,并在Ceshi模块下按照Home模块建立相同的文件夹,如下图: 1)在Controller文件夹下新建Login控制器: <?php namespace Ceshi\Controller; use Think\Contr…
---恢复内容开始--- [空操作和空控制器处理] 空操作:就没有指定的操作方法 空控制器:没有指定控制器 http://网址/index.php/Home/User/login http://网址/index.php/Home/User/hello   空操作,没有hello方法 http://网址/index.php/Home/beijing/login   空控制器,没有beijing控制器 空操作: 一般网站处于安全考虑不给用户提示任何错误信息 “空操作”本质意思:一个对象(控制器)调用…
thinkphp5空控制器和空操作 一.总结 1.空控制器和空操作用:空控制器和空操作都是为了防止网站上的用户恶意输入,网站上线的话必须加上, 2.空操作:空操作就是在一般的控制器里面加上一个 _empty()方法 3.空控制器:空控制器就是新建一个名为Error的控制器,空控制器里面也要有空方法 4.thinkphp支持命令行:thinkphp支持命令行,命令行创建的控制器可以多几个方法,和路由一一对应 5.空控制器和空操作里面的操作:都是直接重定向到index页面 二.thinkphp5空控…
[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: >系统常量信息里经常用到的是user里的路径 > APP_PATH =>string'./shop/' 项目路径 > MODE_PATH 模型路径> __SELF__ 自身路径 > '__APP__'=>string'/ThinkPHP/index.php' 入口文件 > __MODULE__ =>string'/ThinkPHP/index.php/Home' 当前模块路径 &g…
ThinkPHP3.2 中空方法.空控制器和空模块的设置 1.空方法设置 问题: 当你访问一个不存在的方法的时候: 如: http://localhost/test/index.php/Home/User/getList 会报如下错: :( 非法操作:getList 错误位置 FILE: D:\phpStudy\WWW\test\ThinkPHP\Library\Think\Controller.class.php LINE: 170 解决: 只需要在控制器中写如下方法便OK. /** * 空操…
写在最开始:本教程适用于tp5路由的[强制模式+半pathinfo模式+pathinfo模式],通用. 比网上的[通过路由去控制空模块更强力.更全面]. PS:路由控制空模块缺点:仅仅在[强制模式下才生效,pathinfo模式下有错误] 1.这里只讲tp5(5.0.18)的空模块跳转,空控制器和空操作官网有. 来个正确的空模块处理吧: 首先找到think\App.php,备份,然后修改: 找到[throw new HttpException(404, 'module not exists:' .…
空模块 'exception_handle' => function(Exception $e){ // 参数验证错误 if ($e instanceof \think\exception\ValidateException) { return json($e->getError(), 422); } // 请求异常 if ($e instanceof \think\exception\HttpException && request()->isAjax()) { ret…
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写…
一,前言 一.1)以下代码是在TP3.0版本之后,URL的默认模式=>PATHINFO的前提下进行的.(通俗点,URL中index.php必须存在且正确) 代码和讲解如下: 1.空模块解决:http://localhost:8095/index.php/Home/index/index 输入http://localhost:8095/index.php/Home23/index/index  会报错,解决 ->>> 1)在公共配置文件添加: 'MODULE_ALLOW_LIST' …
[使用框架]  官网:thinkphp.cn.  目前建议使用thinkPHP3.2版本 一.结构目录>Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的 >Public是公有的文件夹,里面可以写自己的东西>Application 我们建立项目的文件夹(Public和Application里面原有自带的文件可以删除,相当于两个空的文件夹)>tp文件夹中的index.php 是所有程序的入口文件 >conf->convention.php…
什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工作量. thinkphp 3.2版本 路径:…
作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 Public公用目录   里面放公用的东西比如css js ThinkPHPtp框架核心文件夹.Thinkphp核心文件夹里分为如下 ThinkPHP.php是tp框架的核心类 Common里面存放tp框架里面的函数方法 Conf文件夹里面要注意*代表配置文件特别是convention 文件tp框架…
在浏览器中如果要访问操作方法的时候以什么方式来访问 有四种方式 第一种是get方式,第二种是访问路径 这四种方式我们可以通过修改配置文件来改掉url的模式 我们需要来改一下我们的配置文件 在这个路径下来改配置,打开这个文件 改什么配置呢 再打开这个路径下的文件 找到这个文件url打头的 把这句话复制一下,把它拿到我们自己的配置文件里粘贴 在这里面进行修改 这里有个数字,代表我们的访问模式,如果是0的话,就是普通方式,get方式,如果改1的话,就是路径模式,如果改2的话就是重写模式,如果是3的话就…
1.空模块处理 如果是开启了路由 可直接找到route.php文件,具体的位置看个人放置的位置,在里面新增一个语句 '__miss__' => ['portal/index/errorMsg', ['method'=> 'get']],具体跳转地址可以自己设置 如果没有开启路由 可找到根目录/thinkphp/library/think/App.php,进行修改 2.空控制器的操作 如果config.php配置文件里面 'empty_controller'        => 'Erro…
[数据添加] add() 该方法返回被添加的新记录的主键id值 两种方式实现数据添加 1. 数组方式数据添加 $goods = D(“Goods”); $arr = array(‘goods_name’=>’iphone5s’,’goods_weight’=>’109’); //注意:goods_name和goods_weight是数据表中字段名称 $goods -> add($arr); 数据注册到模板引擎中 2 .AR方式实现数据添加 a) ActiveRecord  活跃记录 b)…
public function indd(){ //调用该控制器下的某个方法 $this ->index(); //跨控制器调用 $k = A("index");// 创建控制器对象 $k -> index(); //跨模块调用 $k = A("home/index"); $k -> index(); }…
php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很好适应客…
POJO对象其实就是我们的实体,这篇博客总结一下框架对POJO对象对应数据库主键的生成策略,和一些对POJO对象的简单增删改查的操作. 一,Hibernate框架中主键的生成策略有三种方式: 1,数据库负责生成主键(代理主键) a,native:表示由设置的方言决定采用什么数据库生成主键方式,例如:在MySQL中会采用自增长的方式,主键字段必须都是整形类型:在Oracle数据库中,会采用序列的增长方式. b,sequence:表示采用数据库的序列生成主键,适用于Oracle,DB2数据库中. c…
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很好适应客户需求,牵一…
一.调试模式(入口文件:index.php) define('APP_DEBUG', true);  //调试模式 define('APP_DEBUG', FALSE);  //运行模式 开启日志信息(在模块配置文件中): 二.空控制器.空操作() 当系统找不到控制器(操作)会定位到空控制器(操作):EmptyController->_empty() 三.跨控制器调用方法 1.直接实例化 2.A() $obj->display(“Manager/ManagerTest1”) //调用的是模版…
一.空操作和空控制器处理 空操作:没有指定的操作方法:空控制器:没有指定控制器,例如: http://网址/index.php/Home/Main/login  正常 http://网址/index.php/Home/Main/hello 空操作(hello方法不存在) http://网址/index.php/Home/beijing/login   空控制器(beijing控制器不存在) 1.空操作: 一般网站处于安全考虑不给用户提示任何错误信息 “空操作”本质意思:一个对象(控制器)调用本身…
php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费…
空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化. 大理石平台价格表 现在我们把前面的需求进一步,把URL由原来的 http://serverName/index.php/Home/City/shanghai/ 变成 http://serverName/index.php/Home/shanghai/ 这样更加简单的方式,如果按照传统的模式,我们必须给每个城市定义一个控制器类,然…
上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这个方法我还是写在了HomeController.class控制器文件中 (1.1)写了一个方法shouye() public function shouye() { $n = M("nation"); //数据库中的表 $arr = $n->select(); //查询表中的所有数据…
TP框架基础 把Thinkphp框架的压缩包解压到php文件夹下----www目录下.   Thinkphp文件夹都有什么呢??? (所有用TP框架做的程序,要访问程序里面的网页.内容的话,全部要走这个页面,这是它的入口文件,全部要走入口文件)   打开ThinkPHP文件夹,里面的内容有:   打开Conf文件夹 打开路口文件-------index.php------文件中重要的内容 // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5…
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟的就是tp 打上目录后回车,就会出来tp的主页面,如图 再随便打上一个没有的操作方法,如 打出的这个页面,暴露了很多信息,不太安全,所以我们要控制住,. 像这种操作本来没有的,叫做空操作 要改变这种,我们可以提供一种方法 从这个目录下找 可以在这个文件中查找双下划线打头的call方法 在这个位置搜到…
<?php namespace Admin\Controller; use Think\Controller; class DengLuController extends Controller { public function test() { //echo "这是测试的" $this->assign("a","world"); $this->show(); } } //这里面只有test方法,如果访问空的方法时,例如在浏览…
对于空方法的两种方法: 1.建立一个empty模板(不建议,除非打算指定静态页面) 2.在控制器里面加一个empty方法 public function _empty() { echo "控制器不存在"; } 这样就可以避免输出错误信息 对于空控制器的方法 在同文件夹下建立一个EmptyController.class <?php namespace Home\Controller; use Think\Controller; class EmptyController exte…