前言

TP 的手册相当多,其实不必再出这样的贴子,论技术,我也是菜鸟一个,同时也在学

习当中。看到论坛上多了不少新朋友,不少在抱怨手册看不懂,那我就姑且抛砖引玉,尝试

与新朋友们更简单地、手把手地进入TP 的应用中去。讲解过程中有错的地方,大家帮忙指

正。

这个系列,初步定下的目标为,从零开始,以TP示例中心中的Form为例进行讲解,以实践

为主,理论为辅,将TP 的最基本内容逛一遍,至少让我们一起学会如何进行最简单的对数

据进行查、增、改、删操作并输出到模板。

由于我们说的是循序渐进,所以我用步骤式来说明,只要一步一步跟着做,相信聪明的你在

使用过程中就会明白TP 的应用了。

注意:以下的步骤,仅仅是TP灵活的布署方式其中一种,实际开发中可以根据自己的情况

去另行设定。至于为什么那样做,我们会在最后再作总结,我觉得先实操然后再进行说明比

较容易明白。以下不再重复解释。

一 快速开始一个项目

名词解释:

项目:你要开发的系统,称之为项目。

入口文件:你可以理解为这个项目的唯一的一道门,以后所有的操作都会通过这道门去执行

处理。不必理会什么意思,你甚至可以先把它看成是index.php就是入口文件

TP: ThinkPHP框架的简称

1 下载TP1.5正式版

2 拟好你的项目名称,我们这里以 Myapp 为项目名称

3 在www根目录下,将TP框架所有文件全部复制过去,文件夹名称是ThinkPHP

4 与ThinkPHP 同级新建一个文件夹,起名为 Myapp,也就是项目名称

5 在www根目录下,创建一个PHP文件,起名index.php,这就是入口文件

入口文件index.php代码:

// 定义ThinkPHP 路径

define('THINK_PATH','./ThinkPHP');

// 定义项目名称

define('APP_NAME','Myapp');

// 定义项目路径

define('APP_PATH','./Myapp');

// 加载入口文件

require(THINK_PATH.'/ThinkPHP.php');

// 实例化这个项目

$App = new App();

// 执行初始化

$App->run();

?>

就这么简单几行,然后打开浏览器,输入/

一个TP项目就这样构建出来了。你会看到

^_^ Hello,欢迎使用ThinkPHP!

这行字。并自动为你创建好项目的目录。接下来,我们这个项目添砖加瓦。

二 简单认识项目里的各个文件夹

名词解释:

Action:模块控制器类,你暂时可以理解为一个Action文件代表着一个应用模块,Action

文件中的每一个方法(function)代表着一个操作,操作分为有输出到模板的操作和只具执行

不需要输出的操作。对于有输出的操作,则代表了你的项目中一个展示给用户应用的web

页面。 (注意:这不是正统的术语解释)

Model:数据表相对应的Model类,可以理解为一个Model文件对应着你项目数据库的其中

一个表。命名关系请参看这里:/Article/10

在添砖加瓦之前,我们有必要认识一下各个文件夹的用途。

打开Myapp文件夹,里面TP 已让你很省心地构建了最基本的目录。其中:

Cache文件夹:项目自动生成的模版缓存会出现在这里

Common文件夹:你的项目中要用到的自己写的函数,可以在这个文件夹下创建一个名为

common.php文件,在这个文件中书写函数,这些函数可以用在你项目的各个类,同时也可

以在模板变量中使用,TP框架会自动加载。

Conf文件夹:项目的运行配置文件config.php将放在这个文件夹里,(还有路由配置,调

试配置等,请先忽略)

Data文件夹:TP会把项目的数据库表字段生成到这里,另外。。。那些先不必理会。

Lang文件夹:项目的语言设置目录,先不必理会。

Lib文件夹:应用类库目录,在这文件夹内还有两个文件夹:Action和Model,Action 目录

放置命名为xxxAction.class.php 的控制器文件,Model 目录放置对应数据库表的命名为

xxxModel.class.php 的类文件。

Logs文件夹:项目中自动产生的日志文件会存放在这里。暂不必理会。

Temp文件夹:数据缓存目录,存放项目中自动生成的项目运行缓存文件等,以及使用文件

方式时的缓存文件等

Tpl文件夹:模板文件目录,内有一个default文件夹,也就是默认的风格

项目生成的目录结构就

php代码分析,THINKPHP代码分析核心.pdf相关推荐

  1. linux源码acl,Linux自主访问控制机制模块详细分析之posix_acl.c核心代码注释与acl.c文件介绍...

    原标题:Linux自主访问控制机制模块详细分析之posix_acl.c核心代码注释与acl.c文件介绍 2.4.4.6 核心代码注释 1 posix_acl_permission() int(stru ...

  2. 学习《疯狂Java讲义第4版》PDF+代码+课件+面试题分析

    学习java选择了<疯狂java讲义>最新的第四版,用了两个多月时间看完,一边阅读,一边敲代码.对Java有了不少新的认识.书中实例清晰明了,讲解也是娓娓道来.Java可以编写图形桌面系统 ...

  3. Kubernetes Service详解(概念、原理、流量分析、代码)

    Kubernetes Service详解(概念.原理.流量分析.代码) 作者: liukuan73 原文:https://blog.csdn.net/liukuan73/article/details ...

  4. 2022华数杯B题论文思路分析+完整代码(水下机器人组装计划)(一二问答案接出来和标准答案一样)(问题三四逼近正确答案)(完整论文,代码可直接跑)

    写在前面:学校最近搞数学建模竞赛培训,以2022华数杯B题作为训练题目,在查资料过程中发现网上没有哪一篇论文解出了正确答案,而我们组利用Lingo软件准确的解出了正确答案,但是在第三问时,由于决策的变 ...

  5. ws2812驱动总结(包括对时序的详细分析,代码基于STC15系列单片机)

    声明 本文版权归作者bxgj所有,未经作者授权,本文禁止以任何形式在任何平台(包括但不限于各网站.论坛.博客.微博.公众号等)部分或全部地转载,禁止二次修改后声明原创.授权转载内容请注明出处(如作者: ...

  6. Accurate, Dense, and Robust Multi-View Stereopsis论文分析与代码实现(一)

    Accurate, Dense, and Robust Multi-View Stereopsis论文分析与代码实现(一) 本文版权属于重庆大学计算机学院刘骥,禁止转载 前言 本文依据论文Accura ...

  7. PTA 统计工龄 思路分析及代码解析

    PTA 统计工龄 思路分析及代码解析v0.6 一.前导 1. 需要掌握的知识 2. 题目信息 二.解题思路分析 1. 题意理解 1. 1 输入数据 1.2 输出数据 2. 思路分析 三.具体实现 1. ...

  8. 静态代码分析工具列表分析---代码分析工具列表(30款工具)

    本文是一个静态代码分析工具的清单,共有30个工具.包括4个.NET工具.2个Ada工具.7个C++工具.4个Java工具.2个JavaScript工具.1个Opa工具.2个Packaging工具.3个 ...

  9. 易知微入选「2022爱分析·低代码厂商全景报告」|共创数字孪生未来

    随着企业数字化转型推进,数字化应用需求逐渐增多,业务变化更加敏捷,对数字化应用开发周期和功能迭代速度提出更高要求.在此背景下,低代码开发以高效快速.简单易用的方式,缩短应用开发周期,降低开发门槛,加快 ...

最新文章

  1. java负数右移_收入囊中篇---Java程序基础(二)
  2. Python中的正则表达式(分组)
  3. Memcached与Redis
  4. 怎么去掉Xcode工程中的某种类型的警告
  5. 多兼容的JS获取鼠标坐标
  6. 文件拷贝(字符、字节)
  7. 只想在老家找份工作很难吗_当您只想完成工作时,为什么公开工作会很困难
  8. Struts2文件上传超出配置大小的解决办法
  9. RTOS原理与实现07:邮箱实现
  10. Ubuntu下mysql修改字符集为utf8
  11. BP算法和RNN_RNN/LSTM BPTT详细推导以及梯度消失问题分析
  12. NB-IoT窄带物联网技术项目开发教程--技术简介(一)
  13. 数量积、向量积、混合积
  14. python编程输入名字配对情侣网名_输入名字查另一半名字,怎样用一半情侣网名查...
  15. 1 - 整洁代码 - 代码整洁之道
  16. Rimworld Mod制作教程2 创建数据定义
  17. php 商户转账到微信零钱
  18. 阿里云服务器怎么更换ip?
  19. 程序猿的自救 从零备考NSCA/CSCS 3 运动与训练的能量学
  20. Testudo:Spartan + Groth16 的R1CS ZKP证明系统

热门文章

  1. 详解CAN总线:CAN总线报文格式—帧间隔
  2. 芝加哥计算机社会科学硕士,芝加哥大学统计学研究生学费费用解读
  3. 【转帖】中国芯暗流涌动,龙芯/飞腾都在走什么样的路
  4. android 多个fragment切换报错Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f0800f
  5. threejs 绘制球体_实战:用 threejs 创建一个地球
  6. 部分网站无法打开和hosts文件修改
  7. BUUCTF:[BJDCTF2020]认真你就输了
  8. 地球币EAC电脑钱包恢复的方法
  9. c语言中char97,C语言数据类型char
  10. Java树形结构解析