ThinkPHP之项目搭建
前言
在做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之项目搭建的更多相关文章
- Intellij IDEA Java web 项目搭建
Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...
- 项目搭建系列之一:使用Maven搭建SpringMVC项目
约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件. 1.Eclipse 2.maven 3.Eclipse 需要安装maven插件.url:maven - http://do ...
- maven项目搭建
一.Maven简介 Maven是基于Java平台的项目构建(mvn clean install).依赖管理(中央仓库,Nexus)和项目信息管理的项目管理工具. Maven是基于项目对象模型(POM) ...
- maven3常用命令、java项目搭建、web项目搭建详细图解
http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常用命令-- ...
- Java web 项目搭建
Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...
- requirejs + vue 项目搭建2
上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ...
- requirejs + vue 项目搭建
以前都是支持 司徒正美 的,毕竟咱们也是跟着 司徒正美 一起走进了前端的世界.所以一般MVVM都是用avalon的,当然也是考虑到项目需要支持IE6,7,8的考虑.当然在用的时候也有一些小坑和bug, ...
- Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建(转)
这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 如果还没有搭建好环境( ...
- freemarker + spring mvc + spring + mybatis + mysql + maven项目搭建
今天说说搭建项目,使用freemarker + spring mvc + spring + mybatis + mysql + maven搭建web项目. 先假设您已经配置好eclipse的maven ...
随机推荐
- Lighttpd
一.简介 Lighttpd 是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全.快速.兼容性好并且灵活的web server环境.具有非常低的内存开销,cpu占用率 ...
- Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- AngularJS跨域请求
本文主要针对网上各种跨域请求的总结,并加入自己的验证判断,实现工作中遇到的跨域问题.所涉及到的领域很小,仅仅局限于:AngularJS CORS post 并同时需要实现json数据传送给服务器. 首 ...
- hdu1042 N!
/* N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- Quicksum-S.B.S.
quicksum Queation: Given a string of digits, find the minimum number of additions required for the s ...
- Fast RCNN 训练自己数据集 (1编译配置)
FastRCNN 训练自己数据集 (1编译配置) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ https:/ ...
- 边工作边刷题:70天一遍leetcode: day 86-2
Best Meeting Point 要点: 题本身不难理解,manhattan distance.follow up就变成weighted了(因为一个地方可以有多个住户) 注意input是grid的 ...
- Codeforces 402B --耻辱的一题
这题昨天晚上花了我1个小时50多分钟来搞,都没有搞定..后来看别人代码,直接暴力枚举第一个数的值来做..最多1000*1000的复杂度.当时怎么就没想到呢?还有为啥我的方法不对呢.. 暴力方法代码: ...
- POJ 1061 青蛙的约会【扩展欧几里德】
设跳的次数为t 根据题意可得以下公式:(x+mt)%L=(y+nt)%L 变形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c ...
- DoTween(HOTween V2) 教程
DoTween资料 官方网站:http://dotween.demigiant.com/ 下载地址:http://dotween.demigiant.com/download.php 快速开始:htt ...