获取系统常量信息

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

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. Html5游戏框架createJS组件--EaselJS

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验. 掌 ...

  2. JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践

    任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层, ...

  3. 如何制作initrd.img文件

    2008-11-12 16:02:37    initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件.镜像中是一个微型系统.在安装系统时,将initrd.img展开 ...

  4. sed 简明教程 (转)

    sed 简明教程 2013年2月20日   awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林妹妹跳了个Topless,他的哥哥sed ...

  5. html5 required属性的注意事项

    实例 带有必填字段的表单: <form action="demo_form.asp" method="get"> Name: <input t ...

  6. PHP 扩展开发之Zephir

    最近对代码进行性能分析后,发现两个耗时的地方:自动加载文件数太多:参数验证函数调用超过1000次.这也是许多php语言框架面临的问题,所以发展出来诸如Yaf,Swoole,Phalcon这些C语言扩展 ...

  7. 第三部分:Android 应用程序接口指南---第二节:UI---第十二章 自定义组件

    第12章 自定义组件 Android平台提供了一套完备的.功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和 ViewGroup这两个基础布局类为基础.平台本身已预先实现了多种用于构建界 ...

  8. 如何取消Visual Studio Browser Link

    VS2013.2015新建MVC网站并浏览后,页面默认自动启用Browser Link功能 解决方法,只需要在web.config中添加配置节点即可 <appSettings> <a ...

  9. Android Studio原生库创建示例

    [时间:2017-07] [状态:Open] [关键词:Android,Android Studio,gradle,native,c,c++,cmake,原生开发] 0 引言 最近在工作中遇到了升级A ...

  10. 如何快速学习Scala

    大数据学习过程中,会学习非常多的技术,但SCALA无疑是必不可少,那我们在大数据技术的学习过程中,如何快速的认识scala,并且学习它,感谢科多大数据公司的余老师提供的详细素材,本人整理成章,希望对你 ...