php写app用的框架整理
PHP开发app常用的三种框架介绍
1、ThinkPHP框架
TP框架是一共快速兼容简单的轻量级国产PHP开发框架,使用面向对象的结构和MVC模式进行开发。它可以支持Windows、Linux等服务器,并且支持MySql、Sqlite等多种数据库和PDO扩展。
其自身包含底层架构、兼容处理、基类库、数据库访问层、模版引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。适合中小型项目开发。
优势:
简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快。
缺点:
模版比较固定,导致思想容易固化。
2、Yii框架
Yii Framework是一个基于组件、用于大规模web应用开发的高性能PHP开源框架,是目前最具效率的PHP框架之一。适合大型重量型web应用开发。
优势:
1、纯OOP开发,模型使用方便
2、支持命令行工具开发,可以快速的创建一个web应用程序的代码
3、具有高度的可重用性和可扩展性
4、开发速度快,性能优异且功能丰富
5、支持composer包管理工具
缺点:
model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练。
3、Laravel框架
Laravel是一套简洁,优雅的PHP WEB开发框架。集合了PHP比较新的特性,以及各种的设计模式,是一个适合学习的框架,但要求PHP基础扎实熟练。适合大中型项目的开发。
优势:
1、支持Composer
2、框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效
3、支持处理跨站请求伪造,在进行form表单post提交时,必须传入{{ csrf_field() }}
4、Laravel 的社区很强大,具有丰富的扩展包及工具
5、具有缓存、身份验证、任务自动化、hash加密、事务等功能
6、独特的 .env环境文件,方便了系统的配置和不同平台的开发
缺点:
基于组件式的框架,相对有点臃肿。
以上就是php写app用什么框架的详细内容,更多请关注我们其它相关文章!
相关推荐
-
PHP实现的微信APP支付功能示例【基于TP5框架】
本文实例讲述了PHP实现的微信APP支付功能.分享给大家供大家参考,具体如下: 1.进行支付请求 他给的DEMO 用的时候有时候会报错 1)我遇到的情况 把 WxPay.Api.php这个文件的 postXmlCurl 这个 方法里 // curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE); // curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验 curl_setopt($ch,CURLOPT_SSL_VER
-
php写app用的框架整理
PHP开发app常用的三种框架介绍 1.ThinkPHP框架 TP框架是一共快速兼容简单的轻量级国产PHP开发框架,使用面向对象的结构和MVC模式进行开发.它可以支持Windows.Linux等服务器,并且支持MySql.Sqlite等多种数据库和PDO扩展. 其自身包含底层架构.兼容处理.基类库.数据库访问层.模版引擎.缓存机制.插件机制.角色认证.表单处理等常用的组件,并且对于跨版本.跨平台和跨数据库移植都比较方便.适合中小型项目开发. 优势: 简单易用(Model,Controller,V
-
利用python实现后端写网页(flask框架)
如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑定后端传入数据从前端获取数据 数据库连接screen创建后台查看删除后台 结束 什么是Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权.以下程序均在自己服务器上运行(在vs code利用ssh进行连接) 安装flask模块 首先使用pip进行
-
php写app接口并返回json数据的实例(分享)
第一步:conn.PHP文件,用于连接数据库并定义接口格式,代码如下: <?php header("charset=utf-8"); $servername="localhost"; $username="root"; $password="root"; $dbname="test"; $conn = mysql_connect($servername,$username,$password); if
-
如果你想写自己的Benchmark框架(推荐)
简介 使用过JMH的同学一定会惊叹它的神奇.JMH作为一个优秀的Benchmark框架带给了我们无数的欢乐.作为一个有极客精神的程序员,那么有没有想过去自己实现一个Benchmark框架呢? 在实现Benchmark框架的时候有需要注意些什么问题呢?快来一起看看吧. 八条军规 这里叫军规实际上不合适,只是借用一下军规的来彰显一下气势!大家不要太介意. 第一条军规 工欲善其事,必先利其器.想写好一个JMH当然需要深入了解JVM的运行原理,包括JIT,C1,C2编译器和他们的分层编译原理,JIT运行
-
利用PHP如何写APP接口详解
搭建PHP环境 由于本人使用的电脑是Mac,因此推荐大家使用MAMP PRO这款软件,不过是收费版,相信不想花钱的大家会有办法搞定的! MAMP PRO这款软件是集成环境软件,已经有apache.mysql.php了,具备运行解析PHP的环境了! 如果不想使用集成环境,可以自己搭建.Mac自带了apache和PHP环境的,只需要稍加配置一下就可以使用了,然后再安装一下mysql就可以了! 大家可以看一下简单版本配置:Mac配置PHP环境 这篇文章. 启动服务器 这里是以MAMP PRO软件为例,
-
winform中写app.config文件时调试情况下没有改变的原因
环境 vs2010读取很简单基本都用过 ConfigurationManager.AppSettings[""].ToString() 写config不是很常用.代码如下: 复制代码 代码如下: /// <summary>/// 修改配置文件中某项的值/// </summary>/// <param name="key">appSettings的key</param>/// <param name="
-
写简单的mvc框架实例讲解
这一章先把支持注解的功能加上,这样就不需要经常地修改配置文件了. 至于视图处理的地方,就还是先用json吧,找时间再写. 项目地址在:https://github.com/hjx601496320/aMvc . 测试代码在:https://github.com/hjx601496320/amvc-test. 怎么写呢? 因为在之前写代码的时候,我把每个类要做的事情分的比较清楚,所以在添加这个功能的时候写起来还是比较简单的,需要修改的地方也比较小. 这一章里我们需要干的事情有: 定义一个注解,标识
-
详解Python中如何写控制台进度条的整理
本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可
-
JavaScript的Backbone.js框架的一些使用建议整理
Backbone 为复杂Javascript应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视图可以声明事件处理函数,并通过RESTful JSON接口连接到应用程序. 当我们开发含有大量Javascript的web应用程序时,首先你需要做的事情之一便是停止向DOM对象附加数据. 通过复杂多变的jQuery选择符和回调函数创建Javascript应用程序,包括在HTML UI,Ja
-
Flask框架URL管理操作示例【基于@app.route】
本文实例讲述了Flask框架URL管理操作.分享给大家供大家参考,具体如下: 动态URL规则 URL规则可以添加变量部分,也就是将符合同种规则的URL抽象成一个URL模式,如"/item/1/","/item2/",假如不抽象,我们就得这样写: @app.route("/item/1/") 动态URL写法: @app.route("/item1/<id>/") def item1(id): pass 尖括号的内容是
随机推荐
- js实现适配不同的屏幕大小
- 浅析Python中的getattr(),setattr(),delattr(),hasattr()
- Python 中文正则表达式笔记
- RxJava2.x+ReTrofit2.x多线程下载文件的示例代码
- 让应用程序只运行一个实例的实现方法
- iOS如何获取屏幕宽高、设备型号、系统版本信息
- 解析 thinkphp 框架中的部分方法
- Django框架利用ajax实现批量导入数据功能
- asp之自动闭合HTML/ubb标签函数附简单注释
- mysql启动的error 2003和1067错误问题解决方法
- Smarty使用自定义资源的方法
- JavaScript中数组的排序、乱序和搜索实现代码
- 详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
- jQuery实现的自动加载页面功能示例
- js实现的的 文字自动'到google search框
- Javascript中找到子元素在父元素内相对位置的代码
- Java微信二次开发(三) Java微信各类型消息封装
- Android招聘面试题解答
- python实现随机梯度下降(SGD)
- python机器学习实战之最近邻kNN分类器