获取系统常量信息

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

var_dump(get_defined_constants());

<?php
namespace Admin\Controller;
use Think\Controller;
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框架里有一个初始命名空间 (相当于根目录)

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

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

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

1.TP核心类里面的根

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

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

2.APP里面的根

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

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

APP里面的模块名就是根

例子:

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

例子:

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

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

\Think\DBDA.class.php

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

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

例子:

分析这句代码

$n = new \Admin\model\NationModel();

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

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

这个ThinlPHP框架挺神奇的

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

  1. ThinPHP命名空间,连接数据库是要修改的配置文件,Model数据模型层,跨控制器调用,如何获取系统常量信息,

    一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名 ...

  2. 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询

    [系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

  3. TP系统常量信息

    [系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

  4. Linux sysinfo获取系统相关信息

    Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h& ...

  5. android 获取系统硬件信息

    一,首先设置权限访问: <uses-permission android:name="android.permission.READ_PHONE_STATE" />  ...

  6. 获取系统相关信息 (CPU使用率 内存使用率 系统磁盘大小)

    引言 在软件开个过程中,对于软件的稳定性和使用率也是我们需要关注的 .  使用sigar来监控,简单方便!  使用说明:下载sigar jar及配合sigar的dll文件来用,需要将dll文件放到JD ...

  7. thinkphp 的 Action 控制器中的系统常量总结

    THINK_PATH // ThinkPHP系统目录 APP_PATH // 当前项目目录 APP_NAME // 当前项目名称 CONTROLLER_NAME // 当前控制器名称 MODULE_N ...

  8. 通过java的Runtime.getRuntime()和System.getProperties()来获取系统的信息

    第一种,通过Runtime.getRuntime()来获取系统信息. 通过java来获取系统以下的信息: 主机名: OS 名称:         OS 版本: OS 制造商: OS 配置: 独立工作站 ...

  9. Revit二次开发-根据Element获取系统族信息

    Element element = doc.getElement(elementId); Autodesk.Revit.DB.Parameter familyType = element.get_Pa ...

随机推荐

  1. Nginx反向代理WebSocket

    http { upstream websocket { server 192.168.1.1:8010; } server { listen 8020; location / { proxy_pass ...

  2. 微软BI 之SSRS 系列 - 如何在 MDX 查询中获取有效的 MEMBER 成员属性作为参数传递

    这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX ...

  3. 简单JNI使用demo

    android中使用JNI的小例子,直接上代码. 首先是Java类JniClient,定义native方法,User实体类就不上代码了,就简单定义了三个属性,name.age.sex. package ...

  4. Android studio3.1.3 打包jar,混淆

    最近公司需要将数据进行打包提供给用户,需要我们提供数据解析的jar给用户,为了防止数据格式的泄露,需要进行混淆.这里记录一下封装jar并混淆的过程. 1.创建module 之后创建了几个需要演示混淆的 ...

  5. easyui-switchbutton js判断是否启动

    <input class="easyui-switchbutton" id="statusId" name="status" onTe ...

  6. 为OLED屏添加GUI支持6:进度条控件

    为OLED屏添加GUI支持6:进度条控件 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:MDK5.13 MCU:S ...

  7. docker的swarm介绍

    转载自:https://blog.csdn.net/karamos/article/details/80132082 另外一篇:https://www.jianshu.com/p/9eb9995884 ...

  8. 基于mindwave脑电波进行疲劳检测算法的设计(3)

    这一节我将讲解thinkgear.h 里面的函数和宏定义.这一些都可以在MindSet Development Tools\ThinkGear Communications Driver\docs\h ...

  9. 【转】Django中使用POST方法获取POST数据

    1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型: xmlhttp.setRe ...

  10. maven 如何引入本地jar包

    比如我下载了 一.怎么添加jar到本地仓库呢?步骤:1.cmd命令进入该jar包所在路径2.执行命令:mvn install:install-file -Dfile=lucene-queryparse ...