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无法拒绝的求职信

