前言 


  在做javaweb开发时,我们创建一个项目,MyEclipse会自动为我们生成相应的目录结构,我们在此结构上才进行web开发,在使用TinkPHP框架做PHP开发时,一样,我们如何生成一个标准的目录呢?其实,ThinkPHP已经为我们实现,我们只需要做几个页面并请求一下,就可以来做PHP开发了。首先看一下我使用的环境。

  •  WIN7 64BIT
  • wamp2.1
  • php5.3.3
  • MySql 5.5.8
  • Apache2.2.17
  • ThinkPHP3.2.3完整版

一、ThinkPHP目录结构


  我们去ThinkPHP官网下载时,会发现TinkPHP核心板、示例版等。我们做开发时只需要下载其核心版即可。上面那个完整版其实就是被修改了BUG的核心板。先看一下ThinkPHP的目录结构。

  我们下载的ThinkPHP3.2.3解压开来如下所示

  

  上面的目录中有用的就只有TinkPHP,因为它就是核心库,其它的都不需要,我们后面会做出修改。

  先来看看TinkPHP中的东西,图中提示可以部署在非web目录即www目录下是为了提高安全性

  

  

二、搭建工程


  TinkPHP引入了MVC+模块化的思想.MVC我们都比较熟悉了,模块化就是应用的隔离。比如我们开发一套简单的云计算加密系统。我们应用名称就是CloudCrypt,那么这个应用下一般来说应该有两个模块——用户模块和管理员模块。具体来说就是两个目录Home和Admin。下面我们就简单操作一下。

在做web开发时,我们一般分为两个部分,分别是前台和后台,前台是给用户使用,而后台是给管理员管理系统的。下面我们就通过TinkPHP来生成这两个系统。

  生成后的结果,Admin存放后台页面,Home目录存放前台页面。Public目录存放公共的资源,如css,js等,这个目录是手动创建的。

  目录解释

  

  实际效果

  

  其中的Publc是放公共的css,js图片之类的东西

  • 生成应用

  创建index.php并编辑如下:

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
//定义应用名称
define('APP_NAME', 'CloudCrypt');
// 定义应用目录位置
define('APP_PATH','./CloudCrypt/'); // 引入ThinkPHP入口文件
require '../../ThinkPHP/ThinkPHP.php';

修改完成后我们开启服务器并通过浏览器来访问该php脚本文件,那么TinkPHP会自动为我们生成一个CloudCrypt目录,并且底下也生成一些文件。

  •  index.php路径  E:\wamp\www\           如果让该项目使用独立的虚拟主机则将index.php直接放在其根目录下
  • ThinkPHP路径  E:\wamp 这里我将框架直接拷出来了
  • 后台目录

  在刚生成的文件中有个Home目录,我们对其进行备份并重命名就是可以作为我们的后台模块了

  当然为了安全起见,TinkPHP不要放在www目录下,因为该目录下的文件用户是可以随意访问的。我们应该将其放在一个安全的地方(比如我放在了wamp的根目录,这样用户绝对访问不到)。我们的生成我们的应用时,只要把核心文件的位置写对即可。

开发手册网址

另一种方式

如果没有使用独立虚拟主机,现在根目录(E:/wamp/www)下创建一个应用目录(如CloudCrypt)

然后将index.php放在该目录下:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +---------------------------------------------------------------------- // 应用入口文件 // 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True); // 引入ThinkPHP入口文件
require '../../ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单

访问localhost/CloudCrypt/也能生成相应的文件夹

ThinkPHP之项目搭建的更多相关文章

  1. Intellij IDEA Java web 项目搭建

    Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...

  2. 项目搭建系列之一:使用Maven搭建SpringMVC项目

    约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件. 1.Eclipse 2.maven 3.Eclipse 需要安装maven插件.url:maven - http://do ...

  3. maven项目搭建

    一.Maven简介 Maven是基于Java平台的项目构建(mvn clean install).依赖管理(中央仓库,Nexus)和项目信息管理的项目管理工具. Maven是基于项目对象模型(POM) ...

  4. maven3常用命令、java项目搭建、web项目搭建详细图解

    http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常用命令-- ...

  5. Java web 项目搭建

    Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...

  6. requirejs + vue 项目搭建2

    上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ...

  7. requirejs + vue 项目搭建

    以前都是支持 司徒正美 的,毕竟咱们也是跟着 司徒正美 一起走进了前端的世界.所以一般MVVM都是用avalon的,当然也是考虑到项目需要支持IE6,7,8的考虑.当然在用的时候也有一些小坑和bug, ...

  8. Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建(转)

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 如果还没有搭建好环境( ...

  9. freemarker + spring mvc + spring + mybatis + mysql + maven项目搭建

    今天说说搭建项目,使用freemarker + spring mvc + spring + mybatis + mysql + maven搭建web项目. 先假设您已经配置好eclipse的maven ...

随机推荐

  1. OpenXml入门----给Word文档添加表格

    下面将展示如何使用Openxm向Word添加表格. 代码中表头和数据我用的同一个TableRow来添加,其实可以通过TableHeader来,其实都一样.后面教程我会给出如何设置单元格样式.表头那一行 ...

  2. Jetson TK1刷机+配置Mini PCI-e无线网卡

    最近买了台4K电视,觉得可以当显示器用,但没主机,不知怎的想到了Jetson TK1,于是一冲动买了.因为没网线,而Jetson TK1没有无线网卡,所以也折腾了一番,记录一下,给万一也有像我一样没有 ...

  3. HDU 4777 Rabbit Kingdom --容斥原理+树状数组

    题意: 给一个数的序列,询问一些区间,问区间内与区间其他所有的数都互质的数有多少个. 解法: 直接搞有点难, 所谓正难则反,我们求区间内与其他随便某个数不互质的数有多少个,然后区间长度减去它就是答案了 ...

  4. AutoIT删除Internet临时文件

    搜集了几个超赞的方法: 1.删除临时文件 Temporary Internet Files:RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 2. 删 ...

  5. 转: 最值得阅读学习的 10 个 C 语言开源项目代码

    from: http://www.iteye.com/news/29665 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同 ...

  6. unix文件操作函数

    1. fopen函数 #include <stdio.h> FILE *fopen(const char *path, const char *mode) 返回:文件顺利打开后,指向该流的 ...

  7. 【转】【C#】【Thread】【Task】多线程

    多线程 多线程在4.0中被简化了很多,仅仅只需要用到System.Threading.Tasks.::.Task类,下面就来详细介绍下Task类的使用. 一.简单使用 开启一个线程,执行循环方法,返回 ...

  8. C语言 字符串操作两头堵模型

    //字符串操作两头堵模型练习 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #inc ...

  9. Opencv相关细节

    cvGetPerpective 和 cvFindHomography 前者是计算透视映射矩阵,后者是计算单应性矩阵. 当是逆透视的时候,前者可以认为是平面的单应性矩阵.     如上面的图所示: 矩形 ...

  10. Web 服务编程,REST 与 SOAP(转)

    原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...