ThinkPHP文件结构说明:

|——ThinkPHP.php    框架入口文件
    |——Common            框架公共文件目录
    |——Conf                   框架配置文件目录
    |——Extend                框架扩展目录
    |——Lang                   核心语言包目录
    |——Lib                      核心库目录
    |    |——Behavior        核心行为类库
    |    |——Core              核心基类库
    |    |——Driver            内置驱动
    |    |    |——Cache      内置缓存驱动
    |    |    |——Db            内置数据库驱动
    |    |    |——TagLib      内置标签驱动
    |    |    |——Template  内置模板引擎驱动
    |    |——Template       内置模板引擎
    |——Tpl                      系统模板目录

注意:如果下载的版本是核心版本,Extend目录有可能是空的,因为ThinkPHP本身不依赖任何扩展。

   创建项目  :(以下文件皆以此为基础)

a.在项目根目录新建index.php 

 <?php
define('APP_NAME', 'tpapp'); //定义项目名称
define('APP_PATH', './app/'); //定义项目路径(相对路径)
define('APP_DEBUG', 'true'); //开启调试模式
require './tp/ThinkPHP.php'; //加载thinkphp框架(相对路径)
?>

    b.运行index.php文件,自动创建的目录结构如下:

|——tp                      ThinkPHP的目录结构
        |——index.php         项目的入口文件
        |—— app                 自动创建的目录接口
        |    |——Common     项目公共文件目录
        |    |——Conf            项目配置文件目录
        |    |——Lang            项目语言包目录
        |    |——Lib               项目类库目录
        |    |    |——Action     Action类库目录
        |    |    |——Behvior   行为类库目录
        |    |    |——Model     模型类库目录
        |    |    |——Widget    Widget类库目录
        |    |——Runtime       项目运行时目录
        |    |    |——Cache     模板缓存目录
        |    |    |——Data        数据缓存目录
        |    |    |——Logs        日志缓存目录
        |    |    |——Temp        临时缓存目录
        |    |——Tpl                项目模板目录

c.数据库连接配置文件:app/Conf/config.php

       <?php
return array(
//'配置项'=>'配置值'
// 添加数据库配置信息
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'tpapp', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'tp_', // 数据库表前缀
);
?>  

d.实例化数据库连接类并查询数据库:

     <?php
$data = M('test'); //实例化数据库连接类,test为表名(若在配置文件中定义表前缀,在此处忽略表前缀名称)
$this->data = $data->select();
?>

    一些重要基础知识:  

  • 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如DbMysql.class.php;
  • 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
  • 类名和文件名一致(包括上面说的大小写一致),例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
  • 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
  • 函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
  • 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
  • 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
  • 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
  • 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
  • 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
  • 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_;
  • 对变量的命名没有强制的规范,可以根据团队规范来进行;
  • ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,类似 _username 这样的数据表字段可能会被过滤。

FROM : http://www.cnblogs.com/peng14/archive/2012/12/11/2813279.html

http://www.cnblogs.com/renxuefei/archive/2012/10/22/2734585.html

ThinkPHP -- 基础入门的更多相关文章

  1. thinkphp基础入门(2)

    第一节介绍了thinkphp基本路径问题,第二节将介绍thinkphp的常见用法(M层跟V层) 我们先在Controller层新建个IndexController.class.php(新建文件的格式为 ...

  2. thinkphp基础入门(1)

    ThinkPHP目录如下,Application顾名思义就是应用的意思(我们的代码放在这里),Public就是公共文件的意思(主要放JS CSS 等前端资源文件),ThinkPHP文件是框架的核心包( ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  5. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  6. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  7. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  8. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  9. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

随机推荐

  1. jquery 生成二维码

    jquery的二维码生成插件qrcode,在页面中调用该插件就能生成对应的二维码 <!DOCTYPE html> <html> <head> <meta ch ...

  2. 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结

    欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取): 今天分享一篇牛客网上的一个 ...

  3. Java源码-HashMap(jdk1.8)

    一.hash方法 如下是jdk1.8中的源码 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = ke ...

  4. lspci 虚拟机网卡对应关系

    我这个办法有点笨: 到 /sys/devices/ 下去搜索网卡 eth*,找到网卡对应的PCI 总线位置,例如:05:00.0. 然后通过 "lspci -s 05:00.0" ...

  5. linux device tree源代码解析--转

    //Based on Linux v3.14 source code Linux设备树机制(Device Tree) 一.描述 ARM Device Tree起源于OpenFirmware (OF), ...

  6. PHP用imageTtfText函数在图片上写入汉字

    https://blog.csdn.net/smstong/article/details/43955705 PHP绘图,imageString()这个函数并不支持汉字的绘制.这往往会给入门者当头一棒 ...

  7. linux下使用privoxy将socks转为http代理

    此博客不在更新,我的博客新地址:www.liuquanhao.com ----------------------------------------------------------------- ...

  8. str.format() 格式化字符串函数

    语法 它通过{}和:来代替%. “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.form ...

  9. 一个好的Java时间工具类DateTime

    此类的灵感来源于C# 虽然网上有什么date4j,但是jar太纠结了,先给出源码,可以继承到自己的util包中,作为一个资深程序员,我相信都有不少好的util工具类,我也希望经过此次分享,能带动技术大 ...

  10. php返回json数据函数实例_php技巧_脚本之家

    本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考.具体方法如下: json_encode()函数用法: echo json_encode(array('a'=>'bbbb', ...