ThinkPHP框架 3.2.2 获取系统常量信息 连接数据库 命名空间的理解
获取系统常量信息
随便一个方法里加上这句话都能获取到系统常量信息!!
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 获取系统常量信息 连接数据库 命名空间的理解的更多相关文章
- ThinPHP命名空间,连接数据库是要修改的配置文件,Model数据模型层,跨控制器调用,如何获取系统常量信息,
一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名 ...
- 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询
[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...
- TP系统常量信息
[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...
- Linux sysinfo获取系统相关信息
Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h& ...
- android 获取系统硬件信息
一,首先设置权限访问: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ...
- 获取系统相关信息 (CPU使用率 内存使用率 系统磁盘大小)
引言 在软件开个过程中,对于软件的稳定性和使用率也是我们需要关注的 . 使用sigar来监控,简单方便! 使用说明:下载sigar jar及配合sigar的dll文件来用,需要将dll文件放到JD ...
- thinkphp 的 Action 控制器中的系统常量总结
THINK_PATH // ThinkPHP系统目录 APP_PATH // 当前项目目录 APP_NAME // 当前项目名称 CONTROLLER_NAME // 当前控制器名称 MODULE_N ...
- 通过java的Runtime.getRuntime()和System.getProperties()来获取系统的信息
第一种,通过Runtime.getRuntime()来获取系统信息. 通过java来获取系统以下的信息: 主机名: OS 名称: OS 版本: OS 制造商: OS 配置: 独立工作站 ...
- Revit二次开发-根据Element获取系统族信息
Element element = doc.getElement(elementId); Autodesk.Revit.DB.Parameter familyType = element.get_Pa ...
随机推荐
- HOW TO REPLACE ALL OCCURRENCES OF A CHARACTER IN A STD::STRING
From: http://www.martinbroadhurst.com/replacing-all-occurrences-of-a-character-in-a-stdstring.html T ...
- CentOS7 命令笔记
网络 ifconfig已经过时,查看ip地址请使用ip addr或者ip link 服务 查看系统和硬件信息 cat /etc/os-release uname -r 显示正在使用的内核版本 dmid ...
- Python中文语料批量预处理手记
手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...
- MongoDB中MapReduce介绍与使用
一.简介 在用MongoDB查询返回的数据量很大的情况下,做一些比较复杂的统计和聚合操作做花费的时间很长的时候,可以用MongoDB中的MapReduce进行实现 MapReduce是个非常灵活和强大 ...
- 在Android上启用Kiosk模式
我们的云帆机器人(上面运行的安卓程序)有一个线下场景是商场,由于商场人多,总会遇到一些用户在我们的app里乱点,然后会跳出程序进入到系统设置的一些界面,这样很不友好. 比如程序中有一些需要输入文字的地 ...
- Swift Guard 守护
前言 guard 语句和 if 语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么. guard 语句只会有一个代码块,不像 if 语句可以 if else 多个代码块. guard ...
- IT? 挨踢
中国的IT,是最憋屈的IT. 他们掌握着正常人看不懂的英文+字母+标点符号组成的各类代码语言 他们像作者一样从无到有,从空白的白纸上敲出上千上万条华丽的计算机语言 但是他们承受着正常人的鄙视: 我的需 ...
- Python中的zip()与*zip()函数详解
前言 实验环境: Python 3.6: 示例代码地址:下载示例: 本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 ...
- oracle中decode的用法(例子)
使用结构: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN ...
- 【iCore4 双核心板_FPGA】例程二:GPIO输入实验——识别按键输入
实验现象: 按键每按下一次,三色LED切换一次状态. 核心源代码: module key_ctrl( input clk_25m, input rst_n, input key, output fpg ...