thinkphp是什么框架

发布时间 - 2019-06-29 00:00:00    点击率:

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

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

特性

简单易用

模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。

控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。

视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。

独创机制

ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。

其特点包括:

1)支持XML标签库和普通标签的混合定义;

2)编译一次,下次直接运行而无需重新编译;

3)模板文件更新后,自动更新模板缓存;

4)自动加载当前操作的模板缓存文件,无需指定模板文件名称;

5)支持编码转换和Content-Type更换;

6)模板变量输出前缀支持,避免变量名称冲突;

7)模板常量替换,无需设置模板变量;

8)支持变量组合调节器和格式化功能;

9)支持替换其它模板引擎插件使用;

10)支持获取模板页面内容。

本文来自ThinkPHP框架技术文章栏目:http://www./phpkj/thinkphp/


# thinkphp  # php  # mvc  # mysql  # 架构  # struts  # 常量  # 面向对象  # xml  # pdo  # 对象  # windows  # sqlite  # 数据库  # http  # linux  # unix  # 开源协议  # 是一个  # 开源  # 易用性  # 都是  # 年初  # 元旦  # 您的  # 使用了  # 运行环境  # 更名为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  音响网站制作视频教程,隆霸音响官方网站?  魔方云NAT建站如何实现端口转发?  昵图网官网入口 昵图网素材平台官方入口  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何批量查询域名的建站时间记录?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  用v-html解决Vue.js渲染中html标签不被解析的问题  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  JavaScript实现Fly Bird小游戏  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel如何使用Livewire构建动态组件?(入门代码)  制作旅游网站html,怎样注册旅游网站?  如何自定义建站之星模板颜色并下载新样式?  用yum安装MySQLdb模块的步骤方法  如何快速生成凡客建站的专业级图册?  网站建设保证美观性,需要考虑的几点问题!  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  新三国志曹操传主线渭水交兵攻略  专业商城网站制作公司有哪些,pi商城官网是哪个?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  制作公司内部网站有哪些,内网如何建网站?  Python3.6正式版新特性预览  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  中国移动官方网站首页入口 中国移动官网网页登录  如何打造高效商业网站?建站目的决定转化率  Bootstrap CSS布局之列表  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何使用.env文件管理环境变量?(最佳实践)  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  手机软键盘弹出时影响布局的解决方法  javascript基于原型链的继承及call和apply函数用法分析  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  如何为不同团队 ID 动态生成多个非值班状态按钮  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel如何升级到最新版本?(升级指南和步骤)  如何在VPS电脑上快速搭建网站?  简单实现Android文件上传  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel Docker环境搭建教程_Laravel Sail使用指南  BootStrap整体框架之基础布局组件  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信