初探tp
现在对前端的要求越来越高了 基本上身为一个前端人员需要会一种后台语言,于是选择了当下流行的php。因为是自学对我这个不怎么懂代码的人来说还是有点难度的。
1.先看看thinkphp的目录结构

1 ├─ThinkPHP.php 框架入口文件 (注:这个文件是不能直接执行的只有在项目入口文件中调用才能运行 = =想我当初还对着它点啊点)
2 ├─Common 框架公共文件
3 ├─Conf 框架配置文件
4 ├─Extend 框架扩展目录
5 ├─Lang 核心语言包目录
6 ├─Lib 核心类库目录
7 │ ├─Behavior 核心行为类库
8 │ ├─Core 核心基类库
9 │ ├─Driver 内置驱动
10 │ │ ├─Cache 内置缓存驱动
11 │ │ ├─Db 内置数据库驱动
12 │ │ ├─TagLib 内置标签驱动
13 │ │ └─Template 内置模板引擎驱动
14 │ └─Template 内置模板引擎
15 └─Tpl 系统模板目录

2.调用thinkphp入口文件index.php
1 <?php
2 require '/ThinkPHP框架所在目录/ThinkPHP.php'; //之前提到过的调用入口文件
3.在文件夹app下运行index.php。由于调用了thinkphp.php所以自动生成文件目录。

1 ├─index.php 项目入口文件
2 ├─Common 项目公共文件目录
3 ├─Conf 项目配置目录
4 ├─Lang 项目语言目录
5 ├─Lib 项目类库目录
6 │ ├─Action Action类库目录
7 │ ├─Behavior 行为类库目录
8 │ ├─Model 模型类库目录
9 │ └─Widget Widget类库目录
10 ├─Runtime 项目运行时目录
11 │ ├─Cache 模板缓存目录
12 │ ├─Data 数据缓存目录
13 │ ├─Logs 日志文件目录
14 │ └─Temp 临时缓存目录
15 └─Tpl 项目模板目录

4.入口文件移动到app目录的外面.修改代码如下。
1 <?php
2 define('APP_NAME','app'); //定义项目名
3 define('APP_PATH','./app/');//项目目录
4 require '/ThinkPHP框架所在目录/ThinkPHP.php';
这个是最基本的入门知识。一天学一点 总会有效果的!
初探tp的更多相关文章
- 动态dp初探
动态dp初探 动态区间最大子段和问题 给出长度为\(n\)的序列和\(m\)次操作,每次修改一个元素的值或查询区间的最大字段和(SP1714 GSS3). 设\(f[i]\)为以下标\(i\)结尾的最 ...
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- ListView初探
一.ListView介绍 在Android开发中ListView是比较常用的控件,常用于以列表的形式显示数据集及根据数据的长度自适应显示. ListView通常有两个主要功能点: (1)将数据集填充到 ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- tp框架实现验证码
今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...
随机推荐
- SVN版本控制——SVN 合并的六种方式
合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动,如果工作副本是分 ...
- 面向对象(static关键字的特点)
static关键字的特点 * a:随着类的加载而加载 * b:优先于对象存在 * c:被类的所有对象共享 * 举例:咱们班级的学生应该共用同一个班级编号. * 其实这个特点也是在告诉我们什么时候使用静 ...
- 15、springboot访问html文件
在pom.xml加入 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ...
- Differences between write through and write back
https://stackoverflow.com/questions/27087912/write-back-vs-write-through
- DICOM简介
背景: DICOM分为两大类(这里只是从DICOM相关从业者日常工作角度出发来分类的):1)DICOM医学图像处理,即DCM文件中具体数据的处理,说图像可能有些狭隘,广义上还包括波形(心电).视频(超 ...
- 如何解决“There is no locally stored library”的问题
今天我在用pyCharm开发网页的时候,用cdn引入js文件,但是程序报错,说“there is no locally stored library”.于是我上网找到了解决方案,特整理如下: 在你报错 ...
- spring代理例子
---------------------------------------------------------- 先来看一下目录结构 显然service里面有两个java文件,UserDao是接口 ...
- xcrun: error: invalid active developer path (/Applications/Xcode.app/Contents/Developer)解决办法
背景 mac下卸载了xcode,使用git等命令时就提示错误.invalid active path(Applications/Xcode.app/Contents/Developer),这种情况可以 ...
- Oracle 查看锁情况
/*查看锁(lock)情况*/ SELECT ls.osuser os_user_name, ls.username user_name, decode(ls.type, 'RW', 'Row wai ...
- C++虚函数原理
类中的成员函数分为静态成员函数和非静态成员函数,而非静态成员函数又分为普通函数和虚函数. Q: 为什么使用虚函数 A: 使用虚函数,我们可以获得良好的可扩展性.在一个设计比较好的面向对象程序中,大多数 ...