ThinkPHP框架 3.2.2 获取系统常量信息 连接数据库 命名空间的理解

获取系统常量信息

随便一个方法里加上这句话都能获取到系统常量信息!!

  var_dump(get_defined_constants());  

 

 

 

 

<?php
namespace AdminController;
use ThinkController;
class DengLuController extends Controller {
    public function test(){
        //$this->show();
        //echo "hello";
        //获取系统常量信息
        //var_dump(get_defined_constants(true));
        
        //方法一
        //造对象调用
        $m = new MainController();//调那个控制器名
        $m->test_diao();//调他里面的方法
        
        //方法二
        //快捷函数 A
        //$m = A("Main");
        //$m->test_diao();
        
        //使用快捷函数 A 调另一个表里的方法
        //$m = A("文件名/控制器);
        //$m->那个控制器里的方法();
        $m = A("Home/Index");
        $m->testt();
        
        
        //方法三
        //快捷方法 R
        //R("文件夹名/控制器/里的方法");
        R("Home/Index/testt");

      //U方法
     //U方法可以在任何一个地方任何一个方法里生成路径显示出来 !

     echo U();
 
        
    }
    
    
    public function _empty(){
        $this->display("Empty/empty");
        //echo "你输入的这个控制器里没有这个方法!!";
    }
}

 

 

 

 

 

 

使用ThinkPHP框架链接数据库

将Thinkphp框架默认的ThinkPHP文件夹下Conf文件夹下里的convention.php文件不要在这里面修改

 将下面这些链接数据库里的代码复制到自己自定义的模板下里的Conf文件夹下的config.php文件里修改填写!

<?php
return array(
    //'配置项'=>'配置值'
    'SHOW_PAGE_TRACE'=>true,   //显示trace信息
     /* 数据库设置 */
    'DB_TYPE'               =>  'myspl',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'text1',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '*****',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  '',    // 数据库表前缀
    'DB_PARAMS'              =>  array(), // 数据库连接参数    
    'DB_DEBUG'              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  false,        // 启用字段缓存true(开启)  false(不开启)
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
    'DB_DEPLOY_TYPE'        =>  0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'DB_RW_SEPARATE'        =>  false,       // 数据库读写是否分离 主从式有效
    'DB_MASTER_NUM'         =>  1, // 读写分离后 主服务器数量
    'DB_SLAVE_NO'           =>  '', // 指定从服务器序号
    
);

 

调用数据库里的表!

public function ShuJu(){
        //使用 D 方法访问数据库
        $n = D("login");
        var_dump($n);
//使用 M 方法访问数据库 $n = M("login"); var_dump($n); }

 

关于命名空间的说法和理解!!

命名空间相当于一个虚拟的目录

在tp框架里面主要为了实现自动加载类!

在TP框架里有一个初始命名空间 (相当于根目录)

其对应的初始命名空间目录就是系统的类库目录:ThinkphpLibrary

在ThinkphpLibrary文件夹目录里,初始命名空间下又包含很多根命名空间

这些根命名空间主要分两类:、

1.TP核心类里面的根

  在Linbrary文件夹里所有的文件夹都是根  

  自己在里面创建一个文件夹也是根

 

2.APP里面的根

   APP里面的根是以模块名命名的

   在自定义的应用空间里它的根就是模块名

 

 

APP里面的模块名就是根

例子:

 

 

在写命名空间的时候,从根开始写,从Think开始写

例子:

 

 

 

如果想导入自己封装的一个类文件  比如DBDA.class.php,

我需要用到use 从系统的根命名空间Think 找到DBDA.class.php

ThinkDBDA.class.php

这个反斜杠代表的是初始命名空间      (就相等于我们目录里面的根一样)

从初始命名空间找到命名空间Think然后找到DBDA.class.php

 

例子:

分析这句代码

 $n = new AdminmodelNationModel(); 

从 反斜杠初始命名空间开始写在写上Admin命名空间文件夹 下的model文件夹里的Nationmodel();这个类!

相当于用根路径来找到这个文件位置

 

这个ThinlPHP框架挺神奇的

 

原文地址:https://www.cnblogs.com/zc290987034/p/6204206.html