TP 框架 常识

来源:互联网 发布:c语言需要掌握 编辑:程序博客网 时间:2024/06/05 07:25

总结: TP框架常识和难点: 1.每个文件夹的作用【MVC】+config文件  是常用的

                          ①应用程序目录【这个可以修改配置后直接运行配置文件系统自己生成(包括内部的文件)】

①控制器:(存放类文件)控制器的命名格式【控制器名字+Controller.class.php】②视图文件:内部由对应控制器的名字命名的文件夹  存放HTML文件【HTML代码的名字为格式:控制器中得方法名.HTML】③模块:【类文件夹】用于连接数据库,文件名字组成 【表名+Model.class.php】

                            2.文件的命名格式

                            3.修改配置文件

TP框架

TP 框架显示控制器错误   原因: 1.代码出错   2.名字格式错误     3. 修改下面--->页面属性-->标题/编码-->编码签名   到这里把选项取消掉就可以了

一:===========================================================

1.修改配置【入口文件】,运行入口文件【运行完后会自动创建指定的文件】,

2.TP 框架 内部的 初始的 文件夹名字 能不改就不该; 【应用程序目录和内部的home模块可以根据修改配置内容建立自己的新文件】

3. 文件名字格式 不能改【驼峰样式】

4.   

再控制器文件下写 控制器【子类,子类里面加方法,这里命名格式要注意,1驼峰2.方法名+Controller.class.php】 控制器的名字 就是 View 下面文件夹的名字

控制器下面的方法【方法的名字首字母小写但是后面依然保持驼峰样式,方法名字就是 view 里面 HTML文件的名字】

 

 

 

 

 贰: 引用类 【命名空间】

 //放在同一个文件里面 $zhuyao = A("Main"); echo  $zhuyao->zhuyao(); $zhuyao = new MainController();   echo $zhuyao->zhuyao();   //放在同一个 初始命名空间下面 $kua = A("Rhome/Main");   echo $kua->zhuyao();      $zhuyao = new \Rhome\Controller\MainController();//这里的地址注意一下命名空间   echo $zhuyao->zhuyao();   echo R("Rhome/Main/zhuyao");   echo R("Main/zhuyao");======================以上只可以调用放在同一个初始命名空间下的类 出下面的特殊$zhuyao = new \Rhome\Controller\MainController();//这里的地址注意一下命名空间   echo $zhuyao->zhuyao();这个可以访问不同初始命名空间的类 根据 路径的不同找到文件

 5. 访问的页面不存在的情况 在控制器里面设置一个空方法【系统默认调用该方法】

public function _empty()// 单下划线开头{echo "页面不存在";}

 6.访问的控制器不存在的情况【重新设置一个空的控制器,命名要注意】

 

<?phpnamespace Home\Controller;use Think\Controller;class EmptyController extends Controller{        public function _empty()        {          echo "你访问的控制器文件不存在";        }}

 叁: 命名空间

命名空间相当于虚拟目录实现自动加载类的机制初始命名空间:ThinkPHP和Library初始命名空间下面有很多根命名空间:1.Library里面的文件夹2.APP的模块文件夹在定义的时候:从根写起,写到该文件所在的文件夹结束用的时候:从根开始写,写到类名结束命名空间里面用反斜杠new  的时候  要从初始命名空间开始的(\)见上面例子

  肆:链接数据库

 1.链接数据库首先要设置配置

/* 数据库设置 */    'DB_TYPE'               =>  '',     // 数据库类型    'DB_HOST'               =>  '', // 服务器地址    'DB_NAME'               =>  '',          // 数据库名    'DB_USER'               =>  '',      // 用户名    'DB_PWD'                =>  '',          // 密码    'DB_PORT'               =>  '',        // 端口    'DB_PREFIX'             =>  '',    // 数据库表前缀    'DB_PARAMS'             =>  array(), // 数据库连接参数        'DB_DEBUG'      =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志    'DB_FIELDS_CACHE'       =>  false,        // 启用字段缓存

 2.获取数据库的数据

           $nh = new \Home\Model\activeModel();//这种方法太麻烦  只针对那种对数据进行修改时 使用   在Model模块下建立activeModel.class.php[表名+Model]      //==============================     $nh = D("score");//这种方法创建子类 返回一个对象【每个元素都进行介绍】      //M 方法是我们常用的  只需建立一个父类对象  进行简单的增删改操作   $nh = M('score'); //不需要建 Model类就可以直接定义//造父类对象   var_dump($nh->select()); //返回二维数组可用   

  3.数据查询

$info = M("Info");//var_dump($info);//查询数据(所有)//$arr = $info->select();               //查多条数据//$arr = $info->select("p001,n011");//()内部是主键值,中间用逗号隔开//查一条数据//$arr = $info->find("p001");//条件查询//$arr = $info->where("code='p001'")->select();//切换数据表//$arr = $info->table("nation")->select();//$arr = $info->table("nation")->where("code='n001'")->select();//选择操作的字段,查询输出指定列的值//$arr = $info->field("name,sex,birthday")->select();//排序//$arr = $info->order("code desc")->select();//分页//$arr = $info->limit("4,2")->select();//跳过4条数据输出两条数据//$arr = $info->page("3,2")->select();//跳过3页输出两条数据,每页2条数据//分组//$arr = $info->table("car")->field("max(price)")->group("brand")->select();//$arr = $info->table("car")->field("max(price)")->group("brand")->having("max(price)>60")->select();//连接查询//$arr = $info->field("info.code as '代号', info.name as '姓名',nation.name as '民族'")->join("nation on info.nation=nation.code")->select();//去重//$arr = $info->table("car")->distinct(true)->field("brand")->select();var_dump($arr);

  4.

  

 

0 0
原创粉丝点击