一、安装
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. 【转】eclipse 创建struts2

    转载地址:http://blog.163.com/sean_zwx/blog/static/169032755201091595558378/ 今天我用Ecipse搭建Struts框架,并且使用Str ...

  2. asp之缓存 cachestate

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  3. Unity3D心得分享

    本篇文章的内容以各种tips为主,不间断更新 系列文章 =========================== "Unity测试系列"文章索引 Unity-Animator深入系列 ...

  4. er

    电子锁管理 设备管理 设备管理 信息编辑;回收 电子锁发放 电子锁初始化,发放 记录车辆在发车时使用的电子锁 电子锁开锁联系人管理 电子锁开锁联系人管理 根据订单路线中的投点,设置每个投递点的开锁联系 ...

  5. eaysui 利用datagrid 实现左右移除数据

    效果图 $(function () { var logBussnessAgentData = []; var logInspectionEngineerData = []; //选中 $(" ...

  6. Android Listview

    方法一: xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...

  7. win7垃圾路径

    @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._m ...

  8. windows系统中WIN键的快捷组合

    1.WIN+E    打开我的电脑(计算机) 2.WIN+D      返回桌面 当你在用聊天工具与朋友聊天时,旁边突然出现某位小伙伴,快速按下WIN+D返回到桌面就可以很好的保护你的聊天内容啦! 3 ...

  9. 新课程开始的第二天,HTML基础制作

    天正式开始学习HTML的基础制作,有简单的指令开始入手. 第一天的学习,因为基础,所以觉得还算简单,主要是对网页背景.图片.文字.表格等的编辑,和一部分链接的使用. 由下面的的一个事例,通过所学的简单 ...

  10. Jekyll教程——精心收藏

    以前总想搭建一个自己的个人网站,由于不懂php后台,所以在点点网开过自己的博客,后来慢慢向程序员转变,点点网的博客已经不能满足这个职业特定的需求,于是用worldpress搭建了自己的第一个网站,鼓捣 ...