ThinkPHP

先把百度百科上对这个框架的介绍粘贴过来:

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。[1]

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

OK说了那么多,可以简单理解成,Think PHP 是一个写好的PHP框架,里面封装了很多东西,并且实现了很多特性,同时也是遵循MVC的设计理念。开发的时候,直接用这一套,我们直接在上面添加自己的功能性东西业务逻辑以及视图,然后根据具体情况改改配置文件就可以了。增大开发效率。

使用Think PHP

Think PHP的细节很多,也有专门的使用文档:http://www.thinkphp.cn 这上面有文档和最新版本TP。

因为有官方开发文档,所以也没必要再去说每个细节。直接去看上面网址里的开发文档即可,这里只是说些基本的东西。

1.使用ThinkPHP (阿帕奇)

去上面官网上下载最新版本TP。(核心版本或者完整版本,目前是两个压缩包。)

我刚刚看到的官网最新版本是thinkphp_5.0.7_core,thinkphp_5.0.5_full。

不需要安装,解压后就可以直接使用。比如咱们直接在www目录下创建一个文件夹。D1,然后把完整版本解压放到里面:

然后说下默认的目录结构内容:

├─application     应用目录

├─extend          扩展类库目录(可定义)

├─public          网站对外访问目录

├─runtime         运行时目录(可定义)

├─vendor          第三方类库目录(Composer)

├─thinkphp        框架核心目录

├─build.php       自动生成定义文件(参考)

├─composer.json   Composer定义文件

├─LICENSE.txt     授权说明文件

├─README.md       README 文件

├─think           命令行工具入口

├─thinkphp 框架系统目录

│  ├─lang               语言包目录

│  ├─library            框架核心类库目录

│  │  ├─think           think 类库包目录

│  │  └─traits          系统 traits 目录

│  ├─tpl                系统模板目录

│  ││  ├─.htaccess          用于 apache 的重写

│  ├─.travis.yml        CI 定义文件

│  ├─base.php           框架基础文件

│  ├─composer.json      composer 定义文件

│  ├─console.php        控制台入口文件

│  ├─convention.php     惯例配置文件

│  ├─helper.php         助手函数文件(可选)

│  ├─LICENSE.txt        授权说明文件

│  ├─phpunit.xml        单元测试配置文件

│  ├─README.md          README 文件

│  └─start.php          框架引导文件

入口文件在这里

从右侧可以看出来,定义应用的路径是application。

..\application\index\controller\index.php 是控制器入口文件:里面是:


比如现在访问链接:

http://127.0.0.1/D1/public/index.php

也可以http://127.0.0.1/D1/public/

再看下start.php

然后改下控制器入口文件:application\index\controller\index.php

这里面的index() 就跟C++ 的main一样,可以理解成是或者模块的入口函数。

最后记得资源可以放在public目录下,其他不需要提供访问权限的东西不能放在这里。

2.Think PHP 的调试

Think PHP 的错误显示细节很详细的,开关在这个位置,记得发布的时候一定要关闭调试开关:

测试下:

3.控制器

可以理解成是C++的main函数。

application/index/controller/Index.php

<?php

namespace app\index\controller;

class Index

{

public function index()

{

return 'Hello,World!';

}

}

可以为操作方法定义参数,例如:

<?php

namespace app\index\controller;

class Index

{

public function index($name = 'World')

{

return 'Hello,' . $name . '!';

}

}

4.视图

Hello.html

<html>

<head>

<title>hello {$name}</title>

</head>

<body>

hello, {$name}!

</body>

</html>

然后控制器里:

<?php

namespace app\index\controller;

use think\Controller;

class Index extends Controller

{

public function index($name = 'World')

{

return 'Hello,' . $name . '!';

}

public function hello($name = 'thinkphp')

{

$this->assign('name', $name);

return $this->fetch();

}

}

最后访问:

http://127.0.0.1/D1/public/index.php/index/index/hello

输出:

hello, thinkphp!

5.访问数据库

然后可以这样查询数据:

<?php

namespace app\index\controller;

use think\Controller;use think\Db;

class Index extends Controller

{

public function index()

{

$data = Db::name('data')->find();//data是列名

}

}

剩下的Think PHP还有很多,可以在网上找开发文档自己慢慢了解。这里只是简单入个门,让大家知道有这个东西,这个东西比较方便,平时开发可以尝试使用。

13.PHP_ThinkPHP相关推荐

  1. mahout安装测试

    Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序.Apa ...

  2. ImportError: DLL load failed: 找不到指定的模块。 TensorFlow 1.13

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhenlingcn/article/details/88647288 问题描述 问题环境 Tenso ...

  3. iPhone 14 与iPhone 13

    iPhone 14 与iPhone 13 iPhone14Pro配置曝光:感叹号+4800w像素 | 小米12Ultra 最新套壳图 距离下一代iPhone发布还有半年之久,关于iPhone14系列的 ...

  4. PyTorch 笔记(13)— autograd(0.4 之前和之后版本差异)、Tensor(张量)、Gradient(梯度)

    1. 背景简述 torch.autograd 是 PyTorch 中方便用户使用,专门开发的一套自动求导引擎,它能够根据输入和前向传播过程自动构建计算图,并执行反向传播. 计算图是现代深度学习框架 P ...

  5. 机器学习入门(13)— Affine 仿射层、Softmax 归一化指数函数层实现

    1. 一维 Affine 仿射层 我们回顾下之前为了计算加权信号的总和,使用了矩阵的乘积运算 NumPy 中是 np.dot() , 参照代码如下: In [7]: X = np.random.ran ...

  6. 读书笔记2013第13本:《怎样解题》

    <怎样解题>这本书是在看<编程大师访谈录>(中文版第12页)这本书时无意发现的,一个编程大师推荐这本书来指导编程设计,google到这本书后粗略地翻看了一遍,发现是一本教学生如 ...

  7. [14] 薪酬迅速翻倍的13条跳槽原则

    首先,真正的高级人才是不用找工作的,因为只有被工作找的份. 但是,难免有些高级人才厌倦了旧的工作环境,或者遇到天花板,没有了发展空间,或者遇到新老板上任后排除异己来提拔自己的亲信等等,如果您真打算自己 ...

  8. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  9. 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复

    乐高无限于13日例常更新,那么这次更新了什么内容呢,修复了哪些东西呢,下面就跟随小编一起去了解一下详细内容吧. 生存模式: 1.解决了在玩法模式中使用假日烟花异常的问题; 2.解决了昵称中包含部分特殊 ...

最新文章

  1. 7 papers | NeurIPS 2019获奖论文;OpenAI刀塔2论文公布
  2. 故事营销:一个具有争议的成功营销案例
  3. 【深度学习】PyTorch 中的线性回归和梯度下降
  4. 在 Go 语言中 Patch 非导出函数
  5. PL/SQL Developer 中文乱码解决
  6. ecc加解密算法 c++_ECC加密算法的基本介绍
  7. 学习手记(2021/3/19~?)
  8. java写一个外网访问的接口_Java程序员如何入门?教你写第一个程序
  9. DataX Hdfs HA(高可用)配置支持
  10. c语言分治法求众数重数_分治法求众数 - osc_twlari2q的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. MongoDB 将Json数据直接写入MongoDB的方法
  12. 计算机的3d软件家庭版,3DOne家庭版 64位
  13. hive窗口函数使用详解
  14. 核磁共振波谱数据处理与分析(以氢谱为例)
  15. zemax输出ies_ProSource光源模型分析和转换软件
  16. 计算机主机组装图,自己如何组装电脑主机?diy电脑组装教程图解详细步骤+装机心得(5)...
  17. [BZOJ4200][NOI2015]小园丁与老司机
  18. 五个小时学会Asp连接access添加,删除,修改
  19. 微信小程序总结(阶段第一次总结)
  20. HTTP中常见的状态码代表的意思比如202、303、404、505、访问网络时有时经常见的状态,也是面试题中关于HTTP经常出现的

热门文章

  1. EF-DbUpdateException解决方案
  2. 写自己的一个pdo数据库操作框架
  3. 拥抱开源IaaS云平台:360度盘点OpenStack
  4. sybase中游标的使用示例
  5. 从IT转行做网店奋斗历程
  6. unittest多线程生成报告-----BeautifulReport
  7. 数据库 - mysql内置功能
  8. poj2478 Farey Sequence (欧拉函数)
  9. 2015总结 2016展望
  10. 使用String.intern减少内存使用