ThinkPHP -- 基础入门
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 -- 基础入门的更多相关文章
- thinkphp基础入门(2)
第一节介绍了thinkphp基本路径问题,第二节将介绍thinkphp的常见用法(M层跟V层) 我们先在Controller层新建个IndexController.class.php(新建文件的格式为 ...
- thinkphp基础入门(1)
ThinkPHP目录如下,Application顾名思义就是应用的意思(我们的代码放在这里),Public就是公共文件的意思(主要放JS CSS 等前端资源文件),ThinkPHP文件是框架的核心包( ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- 「译」JUnit 5 系列:基础入门
原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...
- .NET正则表达式基础入门
这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...
- 从零3D基础入门XNA 4.0(2)——模型和BasicEffect
[题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
随机推荐
- F - Warm up HDU - 4612 tarjan缩点 + 树的直径 + 对tajan的再次理解
题目链接:https://vjudge.net/contest/67418#problem/F 题目大意:给你一个图,让你加一条边,使得原图中的桥尽可能的小.(谢谢梁学长的帮忙) 我对重边,tarja ...
- 初识PDO数据库抽象层
目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...
- python之自然语言处理入门(一)
前言 NTLK是著名的Python自然语言处理工具包,记录一下学习NTLK的总结. 安装nltk pip install nltk # 测试 import nltk 安装相关的包 import nlt ...
- 树莓派开发系列教程2--树莓派3B介绍及系统烧写、基本配置
注意:树莓派系列的3篇文章里面的图片因为博客转移过程丢失了,非常抱歉 前言 树莓派系列里涉及到需要额外电脑来协助处理的部分(如烧写系统,远程访问等等),统一在运行着Ubuntu15系统的mac air ...
- Linux 删除文件后空间不释放【原创】
删除MySQL备份文件后,查找文件所在目录发现文件已经备删除了,但是空间没有释放,还是83% 解决方法: lsof|grep -i delete 发现进程还在,杀掉进程 kill -9 5377 再次 ...
- curl错误码77 及 升级libcurl
今天碰到一个问题,curl请求返回错误码77错误 还给出了官网地址,网上查到77对应的是CURLE_SSL_CACERT_BADFILE 想起了刚默认更新了libcurl,于是有手工安装了一下c ...
- 多播知识by 陈胜君
简单的讲一下多拨的说明:一.多拨分物理多拨和虚拟多拨. 物理多拨是电信老套餐,就是一个宽带支持四个内网设备同时拨号上网,即2004年以前,允许家里四台电脑直接连LAN网口启动拨号,同时允许四拨在线.现 ...
- 转:PHP环境搭建 - Linux
本文PHP环境采用,nginx + PHP7 + mysql 5.6 一.安装mysql 5.6 参见:http://www.cnblogs.com/rslai/p/7853465.html 二.Ng ...
- scrapy爬虫
a. 配置文件 #settings.py DEPTH_LIMIT = 1 #指定“递归”的层数 ROBOTSTXT_OBEY = False #对方网站规定哪些网址可以爬,这个选项表示不遵循此规定 b ...
- spring源码解析--事务篇(前篇)
对于每一个JAVA程序员,spring应该是再熟悉不过的框架了,它的功能有多强大我就不多说了,既然他有这么强大的功能,是如何实现的呢?这个就需要从他的原理去了解,而最直接了解原理的方式莫过于源码.当然 ...