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 ...
随机推荐
- Html5游戏框架createJS组件--EaselJS
CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验. 掌 ...
- JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层, ...
- 如何制作initrd.img文件
2008-11-12 16:02:37 initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件.镜像中是一个微型系统.在安装系统时,将initrd.img展开 ...
- sed 简明教程 (转)
sed 简明教程 2013年2月20日 awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林妹妹跳了个Topless,他的哥哥sed ...
- html5 required属性的注意事项
实例 带有必填字段的表单: <form action="demo_form.asp" method="get"> Name: <input t ...
- PHP 扩展开发之Zephir
最近对代码进行性能分析后,发现两个耗时的地方:自动加载文件数太多:参数验证函数调用超过1000次.这也是许多php语言框架面临的问题,所以发展出来诸如Yaf,Swoole,Phalcon这些C语言扩展 ...
- 第三部分:Android 应用程序接口指南---第二节:UI---第十二章 自定义组件
第12章 自定义组件 Android平台提供了一套完备的.功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和 ViewGroup这两个基础布局类为基础.平台本身已预先实现了多种用于构建界 ...
- 如何取消Visual Studio Browser Link
VS2013.2015新建MVC网站并浏览后,页面默认自动启用Browser Link功能 解决方法,只需要在web.config中添加配置节点即可 <appSettings> <a ...
- Android Studio原生库创建示例
[时间:2017-07] [状态:Open] [关键词:Android,Android Studio,gradle,native,c,c++,cmake,原生开发] 0 引言 最近在工作中遇到了升级A ...
- 如何快速学习Scala
大数据学习过程中,会学习非常多的技术,但SCALA无疑是必不可少,那我们在大数据技术的学习过程中,如何快速的认识scala,并且学习它,感谢科多大数据公司的余老师提供的详细素材,本人整理成章,希望对你 ...