一、安装
ThinkPHP无需任何安装,直接拷贝到你的电脑或者服务器的WEB运行目录下面即可。
如:我使用的是XAMPP集成环境,将框架解压缩到htdocs目录下即可。
 
二、目录结构
1、初始目录结构
www  WEB部署目录(或者子目录)
├─index.php       入口文件
├─README.md       README文件
├─Application     应用目录
├─Public          资源文件目录
└─ThinkPHP        框架目录
说明:
1)ApplicationPublic目录下面都是空的。
2)Application目录默认是空的,但是第一次访问入口文件会自动生成。
3)上面的目录结构和名称是可以改变的,这取决于入口文件和配置参数。
4)除了应用入口文件和Public资源目录外,其他文件都放到非WEB目录下面,具有更好的安全性。
 
2、框架目录ThinkPHP的目录结构
├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
│  ├─Common       核心公共函数目录
│  ├─Conf         核心配置目录
│  ├─Lang         核心语言包目录
│  ├─Library      框架类库目录
│  │  ├─Think     核心Think类库包目录
│  │  ├─Behavior  行为类库目录
│  │  ├─Org       Org类库包目录
│  │  ├─Vendor    第三方类库目录
│  │  ├─ ...      更多类库目录
│  ├─Mode         框架应用模式目录
│  ├─Tpl          系统模板目录
│  ├─LICENSE.txt  框架授权协议文件
│  ├─logo.png     框架LOGO文件
│  ├─README.txt   框架README文件
│  └─ThinkPHP.php 框架入口文件
 
三、入口文件
ThinkPHP采用单一入口模式进行项目部署和访问 ,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。
默认情况下,在初始目录结构下已经自带了一个入口文件,可以根据实际情况更改目录:
 
在浏览器输入url(http://localhost/ThinkPHP-3.2.3/index.php)访问入口文件,即可看到如下页面:
 
四、自动生成
第一次访问应用入口文件后,自动生成了一个默认的应用模块Home。原来空的Apps(相当于默认的Application)目录下面,自动生成了公共模块Common、默认的Home模块和Runtime运行时目录的目录结构:
说明:
1) 如果不是调试模式的话,会在Runtime目录下面生成common~runtime.php文件(应用编译缓存文件)。
2)目录安全文件: 为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,在自动生成目录结构的同时,在各个目录下面生成空白的index.html文件,这是ThinkPHP自动生成的目录安全文件。
      如果环境足够安全,不希望生成目录安全文件,可以在入口文件里面关闭目录安全文件的生成:
define('BUILD_DIR_SECURE', false);
     如果想更改安全文件的名称,可以在入口文件中添加:
define('DIR_SECURE_FILENAME', 'default.html');     // 将index.html改为default.html
 
五、模块
一个应用目录下面可以有多个模块目录结构, 每个模块是相对独立的,可以方便的卸载和部署,并且支持公共模块。
Application      默认应用目录(可以设置)
├─Common         公共模块(不能直接访问)
├─Home           前台模块
├─Admin          后台模块
├─...            其他更多模块
├─Runtime        默认运行时目录(可以设置)
每个模块(如Home、Admin等)的目录结构如下:
├─Module         模块目录
│  ├─Conf        配置文件目录
│  ├─Common      公共函数目录
│  ├─Controller  控制器目录
│  ├─Model       模型目录
│  ├─Logic       逻辑目录(可选)
│  ├─Service     Service目录(可选)
│  ... 更多分层目录可选
│  └─View        视图目录
 
六、控制器
在自动生成的Application/Home/Controller目录下面找到一个 IndexController.class.php 文件,这是默认的Index控制器文件。
默认的欢迎页面其实就是访问的Home模块下面的Index控制器类的index操作方法。
控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller
控制器文件的命名方式是:类名+class.php(类文件后缀)
 
修改index方法:
再次访问应用入口文件(http://localhost/ThinkPHP-3.2.3/index.php) , 浏览器会显示:hello,world!
说明:
1)namespace Home\Controller;
开头是命名空间定义,表示当前类是Home模块下的控制器类,命名空间和实际的控制器文件所在的路径是一致的,如果改变了当前的模块名,那么这个控制器类的命名空间也需要随之修改。
即:Home\Controller\IndexController类对应的控制器文件位于应用目录下面的Home/Controller/IndexController.class.php
 
2)use Think\Controller;
表示引入 Think\Controller 类库便于直接使用。
 
3)写法
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
等同于使用
namespace Home\Controller;
class IndexController extends \Think\Controller
 
以下原理不明,尚需在后续学习中探索:

url还可以写成http://localhost/ThinkPHP-3.2.3/home/index/index,home对应模块,第一个index对应类,第二个index对应方法:
如果在IndexController中添加第二个方法echoStr( ):
则url写为http://localhost/ThinkPHP-3.2.3/home/index/echoStr

ThinkPHP 3.2.3(一)基础的更多相关文章

  1. thinkphp系列:类的自动加载是如何设计的

    在使用框架开发时,可以发现框架有很多核心类,却很少看到显示的引入某个文件的代码,这是因为框架都采用了类的自动加载机制,即使用到类时,框架会自动找到该类所在文件的位置并引入该文件.为了更容易看出代码思路 ...

  2. node.js上除了Express还有哪些好用的web开发框架

    老司机都有体会, 开发本身没有多难, 最纠结其实是最初的技术和框架选型, 本没有绝对的好坏之分, 可一旦选择了不适合于自己业务场景的框架, 将来木已成舟后开发和维护成本都很高, 等发现不合适的时候更换 ...

  3. sanchi

    修炼之路阶段1能简单处理html+css+js前端页面,可实现管理后台前端页面 熟练安装php的web运行环境,并调整配置,会自行安装php扩展 熟练数据库操作,清楚为何使用pdo而不使用mysql等 ...

  4. ThinkPHP框架基础

    ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...

  5. 6月13 ThinkPHP框架基础

    ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...

  6. ThinkPHP -- 基础入门

      ThinkPHP文件结构说明: |——ThinkPHP.php    框架入口文件    |——Common            框架公共文件目录    |——Conf              ...

  7. ThinkPHP框架基础知识二

    一.空操作和空控制器处理 空操作:没有指定的操作方法:空控制器:没有指定控制器,例如: http://网址/index.php/Home/Main/login  正常 http://网址/index. ...

  8. ThinkPHP 5.1 基础知识

    ==========================================//模板中的默认标题{$title|default='默认标题'}========================= ...

  9. 《ThinkPHP 5.0快速入门》 基础和路由

    一.基础: 创建项目:conposer create-project topthink/think tp5 --prefer-dist 创建项目模块:php think build --module ...

  10. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

随机推荐

  1. CSS零基础学习笔记.

    酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...

  2. 20161013001 DataGridView 数据转 DataTable

    DataTable dt2 =  GetDgvToTable(Form_CY_ProjectRequirements_D);    MessageBox.Show( dt2.Rows.Count.To ...

  3. [TCPIP] IP路由表及选路 Note

    TCP/IP IP路由表及选路 1.路由表信息 路由表一般包含信息:目的IP地址.下一站路由器的IP地址.标志. 为数据报传送指定的一个网络接口. 查看路由表信息mac-abeen:~ abeen$ ...

  4. (转载)The One Sign You Will Be Rich-(by Brian de Haaff Founder and CEO Aha! -- world's #1 product roadmap software)

    When I was studying Philosophy at Berkeley, a friend told me that she could tell who was going to be ...

  5. Android 图形总结

    1.9patch图 2.按钮自定义 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:a ...

  6. kali安装java1.7

    1.先去这里下载你需要的版本 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 我 ...

  7. Selenium碰到的异常记录

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...

  8. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  9. Mysql 5.7.12 配置

    打算用express+mysql写一个博客.本来在公司电脑已经配置好了的,但是为了方便在家里也能修改,所以在自己的电脑里也安装好环境. 公司电脑是win7系统32位的,安装的是5.5的mysql,用的 ...

  10. 微软图表控件MsChart使用

    assemblies节点下:<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, ...