导航:首页 > 编程语言 > php移动框架

php移动框架

发布时间:2023-02-17 19:28:31

php常用的框架有哪些

PHP常用框架有:

1.thinkphp: 国人开发, 文档比较全,中文文档。 入门比较简单。 写法快。

2. laravel : 国外人写的, 入门门槛高。英语文档 ,社区比较活跃。

3. symfony: 国外人写的。 门槛比较高, 英语文档。

4. yii: 国内人写的,门槛较低。

想学习这些框架,可以去黑马程序员看视频,有thinkphp、laravel的框架学习视频。

⑵ php有哪些框架

PHP的框架有很多,这里说一部分供大家参考:

国内框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。

国外着名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。

小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。

⑶ php开发需要框架吗

什么是PHP开发框架?
有太多的原因使得PHP成为世界上最受欢迎的脚本语言——高度灵活、简单易用——不过写PHP(或者任何这种语言)代码时,人们常常陷入单调重复而令人生厌的体力活动的窘境。而这正是PHP开发框架大显身手的地方。
通过提供一个开发Web程序的基本架构,PHP开发框架把PHPWeb程序开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。这些框架还通过确保正确的数据库操作以及只在表现层编程的方式帮助初学者创建稳定的程序。PHP开发框架使得你可以花更多的时间去创造真正的Web程序,而不是编写重复性的代码。
PHP开发框架背后的思想被称为“模型—视图—控制器”(MVC)。MVC是这样一种架构模式,它隔离了业务逻辑与UI,允许其一改变而另一者不受影响。(也可以说是关注点的隔离)在MVC中,模型负责数据,视图负责表现,控制器则是程序主体或者说是负责业务逻辑。从本质上说,MVC拆分了一个程序的开发过程,这样你就可以修改独立的每一部分,而其他部分不受影响,这是十分重要的,它使得编写PHP代码更为快捷简单。
为什么要使用PHP开发框架?
开发者可能出于不同的考虑而使用PHP开发框架,不过首当其冲的原因是为了加速开发过程。相似工程之间的代码重用能够节省开发者大量的时间和精力。PHP开发框架内置了预建的模块,免去了冗长又令人厌烦的编程工作。这样开发者就能够把时间活在开发实际程序上,而不是每一次都要为每一个项目重建基础模块。
稳定性是开发者使用框架的另一个重要原因。尽管简单是PHP最大的资本,也是许多人喜爱这个脚本语言的原因,它也是PHP的“潘多拉之盒”,尤其是那些初学者而言,PHP是如此的简单以至于他们会完全没有意识地写出低质量的代码。这样的PHP程序可能在大多数时间内仍正常工作,但你可能已在代码中留下了巨大的安全漏洞,使其易受攻击。要时刻牢记PHP是一门很宽松的语言十分重要,因此确保不在代码中遗留任何安全漏洞是重中之重——即使程序看起来工作正常。
最后一点,PHP开发框架是可扩展的,并且有许多框架可供选择。你也可以创造你自己的,不过许多开发者决定从那些流行的知名的开发框架中做选择,因为它们往往有着庞大的支持团队,以及相关的论坛/社区方便你与其他使用同一个框架的开发者相互交流。注意,你应当事先检验你的项目是否需要使用框架,这里提供一份简单的列表以供参考:使用框架能否节省你(和其他任何会使用它的人)的时间和精力?是否能够让程序得到更好的表现?能否提高稳定性?如果你对上面任何一个问题的回答是肯定的,那么使用PHP开发框架对于这个项目就可能是正确的选择。
何时使用PHP开发框架?
这是开发者,无论初学者还是经验丰富的专家,常常询问的问题,但又真的没有直截了当的答案。对于许多初学者而言,框架提供了良好的稳定性和简洁性,所以他们认为只要能用就应该用框架。它能够减少低质量代码的产生,并加快项目进度。
另一方面,许多经验丰富的PHP程序员把框架视为那些不懂得如何写出高质量的清晰的代码的“初级”程序员而设计的工具。这句话对错与否有待商榷,但事实上PHP开发框架的确是用来节省时间和提高编程效率的工具。
在忙于接近最后期限的工程时,使用PHP开发框架将带来巨大的效益,因为它能够极大地加快编程进度。所以如果你时间紧迫,使用PHP开发框架是极其正确的。应当把PHP开发框架列入考虑范围的另一个例子是当你忙于一个有大量重复代码的项目时,因为它有助于减少重复工作量。
在PHP开发框架中应当关注什么?
去搜索PHP开发框架的人将会看到各式各样的选择,你甚至可以创建你自己的,尽管只推荐PHP专家们这么做。在寻找最适合你需求的PHP开发框架时,你要时刻想着谁会使用和/或彻头彻尾地修改它,这点很重要。如果会有许多人使用这个程序,最好用一个大多数开发者都熟悉的框架。另一方面,如果你想要一个自己使用的Web程序,你最好选择一个你觉得最舒服的PHP开发框架——管它是流行还是不受欢迎呢。
在寻找PHP开发框架时应该考虑多种因素:简单易用,敏捷开发/性能,在其它开发者中间的流行程度,强大的特性,以及支持/论坛。我推荐你先尝试几款不同的PHP开发框架,从中找出一个最适合你需求的,各种框架之间有些微的差异,有着不同的优势和劣势。就拿Zend Framework来说,V3版本之后就带有了丰富的功能,再加上一个可扩展的支持系统,这一切都是因为它存在了足够久。作为对照,CakePHP是另一个比Zend Framework年轻的PHP开发框架,它的支持系统的规模就略微小些(尽管对这个框架的支持正在飞速增长),但CakePHP更加用户友好且简单易用。
如你所见,每种PHP开发框架都有它自己的有点,所以最好先做一些尝试,捕捉一些错误以便找出哪个框架能最好地服务于你的需求。另一种很好的选择框架的方式是咨询你那些身处开发者社区的同事,问问他们喜欢哪个。那些真正用过某个框架的人会告诉你它是否易用,特性,可用的支持,框架周边的社区所涉及的领域,他们还可能告诉你它的缺点。
使用PHP开发框架时最常见的错误
任何一种类型的编程都会出现错误,不过PHP开发框架能够极大地限制这些错误的产生,因为它从开发过程的一开始就提供了经过验证的正确代码。而且看来重复的代码编写会增加错误出现的概率,而框架彻底解决或至少减少了那个问题。
这就是说,使用PHP开发框架仍然又需要注意的问题。例如,除非你是个PHP专家,否则你应该选择一个流行些的框架,它们有着丰富的支持和一定的活跃用户基数(下面会列举一些流行的PHP开发框架)。有许多框架只有少得可怜的支持甚至没有支持,并且/或者是由对PHP了解有限的人创建的。这些框架会导致你的程序不能正常工作,更坏的情况下会导致你的网站出现灾难性的安全问题。
另一种常见的错误是没有确保数据库和网站服务器兼容特定的框架。例如Seagull PHP Framewor推荐如下配置:
PHP: PHP 4.3.0 是最低配置,之后的版本也支持,PHP 5.1.1 及更高版本也可以。请避免任何 5.0.x 系列的东西。
MySQL: MySQL 4.0.x, 4.1.x 和 5.0.x 都支持,你也可以使用 3.23.x。
Apache: Seagull 在 1.3.x and 2.x 系列的 Apache 中工作得很好。
如果你不能满足这些要求,你就不能得到所选择框架可能的最佳性能。就算你是PHP专家,也应该在尝试框架之前阅读其文档以确保兼容性。
和上面这个错误比较类似的,不按照推荐安装步骤去安装你的PHP开发框架也会给你带来令人头痛的烦恼。仍然用Seagull作为例子——Seagull的Wiki上有一份详细的框架安装流程,其中有几个关键步骤有时候常常被粗心或者没有戒心的开发者轻易地忽略了。关键是你一次就把框架装好会让你在接下来的实际开发中节约不必要的时间开销。

⑷ 国内常用的PHP框架有哪些

有以下几种:Canphp,KYPHP,SpeedPHP

⑸ 什么是php框架是跟织梦CMS,phpCMS,帝国一样么

框架就是一个半成品,帮助我们完成了项目的一部分,框架里面有我们需要的类文件,要什么功能我们只需要调用这个方法就行了。比如验证码功能,我直接掉用框架里面的验证码的这个类就行了,不需要自己去写了。但是具体的功能还是没有完成,你的自己写,框架只是完成大体的结构性的部分剩下70%的具体功能是自己写的。但是CMS就是很完善的,就是光剩下模板没有换了。所以我觉得还是有本质区别的。

⑹ PHP 微型框架有什么好的推荐吗

1. Cake PHP
\

CakePHP是一个拥有极大灵活性的开发,维护和部署的快速开发框架。使用非常常见的MVC和ORM设计模式,及其配置规则帮助大家简化开发过程而无须开发过多的代码

和ZF类似,CakePHP不要求配置。使用简单。在IRC上拥有非常友好的社区#cakePHP,用来帮助新的用户快速开始学习。基于MIT License,拥有最佳实践,例如,安全,认证和session处理。拥有面对对象的方式帮助你更简单的使用。

源代码

2. Yii Framework
\

Yii是一个免费,开源的web应用开发框架,使用PHP5开发,帮助开发干净,简洁的设计并且鼓励开发开发。它帮助流水化的开发应用,并且保证高效,可扩展和易维护。性能极大的优化,非常适合开发任何类型的产品和项目。然而,它内建复杂,企业级别的应用。你拥有完整的控制,包括表现层和持久层,符合了企业级别开发的指导方针

源代码

3. Zend
\

Zend Framework 2 是一个使用PHP5.3+来开发web应用和服务的开源框架。使用100%的面对对象的代码并且使用PHP5.3种的新特性,例如名字空间,late static binding,lamda function和closure。Zend framewok 2 由成功的PHP框架Zend Framework 1演变而来,而Zend framework 1拥有1500万的下载量。Zend framework2拥有独特的组件结构,每一个组件都设计的尽量少和其它组件产生依赖关系。 ZF2遵循了严格的面对对象的设计原理。这种非严格的组件关系结构允许开发人员使用任何他想使用的组件。

源代码

4. Symfony
\

Smyfony是一个web应用框架,遵循了典型的MVC(model view controller)的设计结构,现在越来越受欢迎,Symfony基于MIT license,它使用一些PHP代码类的辅助类库得开发的过程简单

源代码

5. Webasyst
\

webasyst是一个开源的PHP框架用来开发平滑的多用户web应用或者复杂的网站。和其它的框架,例如,zend和symfony,比较起来,Webasyst框架更专注,并且允许更快和更高效的创建基于商业和团队使用的应用。这个框架提供了大量的现成的工具用来管理用户和授权,UI创建,移动端的访问等等

源代码

6. Laravel
\

Laravle是一个定位于优雅简单的PHP框架。变成不会变的苦闷。事实上,使用正确的工具绝对是让它成为一个让人愉悦的事情。Laravel适合所有的PHP开发人员,特别是初学者。除了完善的文章,Laravel的友好的社区一直帮助回答文档上没有涉及到的相关问题。使用Bundle来打包和分享代码绝对是一个非常棒的方式

源代码

7. Guzzle
\

Guzzle是一个帮助大家解决发送HTTP请求和创建web service 客户端中多余的步骤的框架。包含了用来创建强壮的web service客户端的工具,其中: 定义输入和输出的服务描述API,用来遍历分页资源的资源迭代,高效发送大量请求等等。

源代码

8. Phalcon PHP
\

Phalcon PHP是一个被发布成为C扩展并且提供高性能和低资源消耗的web框架。使用C书写,平台无关。作为这样的框架,PHP支持微软的windows系统, GNU/linux,Max OSX,你可以下载一个适合你的系统的二进制包或者自己编译

源代码

9. CodeIgniter
\

Codelgiter是一个强大的PHP框架,拥有非常小的体积,针对需要使用简单优雅的工具套件开发完整特性的web应用而开发。如果你需要处理共享主机账号或者客户时间有限制,并且厌倦了没有文档的大型框架的话,Codeignier可能非常适合你

源代码

10. Fuel PHP
\

Fuel是一个简单,灵活,社区驱动的PHP5.3 web框架,基于其它框架中的好的想法而开发一个框架。在Apache,,IIS和Nginx上测试过。Fuel使用另外一种方式实现,和其它框架不同,它努力成为社区驱动的框架。刚成立不到6个月,已经有30多个开发人员贡献了代码和文档。

⑺ PHP框架的PHP框架TOP10

排名前 10 并且最受欢迎的 PHP 框架(排名不分先后)。
Laravel
这款可能是现在最受欢迎的 PHP 框架,Laravel 非常强大,而且很高雅,易于学习和使用。非常值得一试!
Flight
Flight 是一个快速,简单,可扩展的微型 PHP 框架,允许用户快速的构建 RESTful web 应用,同样易于学习和使用,简单但是很强大!
Yii
Yii 是个高性能的 PHP 框架,用来开发 Web 2.0 应用程序,Yii 拥有很丰富的特性: MVC,DAO/ActiveRecord ,I8N/L10N,缓存,身份认证,基于用户角色的访问控制,scaffolding和测试等等。
Medoo
Medoo 是最轻的 PHP 数据库,只包括了一个10,9kb 的文件,一个很强大的适用于简单的 web 小应用开发的微型框架。
PHPixie
这个框架源于 Kohana 框架,是我最喜欢的框架了:兼容 MVC,能快速掌握,强大,你也应该试一试!
CodeIgniter
虽然是个比较老的框架,也快被淘汰了,但是我还是很喜欢这个强大的 MVC 框架 CI,无数次在我的项目中使用它,从来也没对它失去信心,依然是我不变的选择!
Kohana
Kohana 是个开源的,面向对象的 MVC web 框架,是使用 PHP5 来构建的。这个框架是由一群志愿者队伍开发的,他们致力于迅速,安全和小。
Symfony
这个框架是在 2005 年创建,是个非常强大的 MVC 框架,在企业界是非常受欢迎的。Symfony 是收到众多的 web 应用框架启发的:Ruby on Rails,Django 和 Spring ,它可能是最完整的 PHP 框架了。
Pop PHP
很多 PHP 框架很漂亮也很复杂,Pop 的建立是考虑到所有经验层次的,提供了一系列可管理的学习曲线给初学者熟悉 PHP 的基础,同时又提供了健壮和强大的功能给有经验的 PHP 开发者。大小小于 2MB。
Phalcon
Phalcon 是一个开源的,满栈的 PHP 框架,使用 PHP 5 类似 C 扩展的语言来编写的高性能框架。用户不需要会用 C 语言,Phalcon 会提供 PHP 类。Phalcon 是松散耦合,用户可以随意使用组件来创建 web 应用。

⑻ 如何利用Thinkphp框架开发移动端接口详解

方案一:给原生APP提供api接口

使用TP框架时 放在common文件夹下文件名就叫function.php


<?php
/**
*Createdbyzhangkx
*Email:[email protected]
*Date:2015/8/1
*Time:23:15
*/

/******api开发辅助函数*******/

/**
*@paramnull$msg返回正确的提示信息
*@paramflagsuccessCURD操作成功
*@paramarray$data具体返回信息
*Functiondescript:返回带参数,标志信息,提示信息的json数组
*
*/
functionreturnApiSuccess($msg=null,$data=array()){
$result=array(
'flag'=>'Success',
'msg'=>$msg,
'data'=>$data
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具体错误的提示信息
*@paramflagsuccessCURD操作失败
*Functiondescript:返回标志信息‘Error',和提示信息的json数组
*/
functionreturnApiError($msg=null){
$result=array(
'flag'=>'Error',
'msg'=>$msg,
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具体错误的提示信息
*@paramflagsuccessCURD操作失败
*Functiondescript:返回标志信息‘Error',和提示信息,当前系统繁忙,请稍后重试;
*/
functionreturnApiErrorExample(){
$result=array(
'flag'=>'Error',
'msg'=>'当前系统繁忙,请稍后重试!',
);
printjson_encode($result);
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:过滤post提交的参数;
*
*/

functioncheckDataPost($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_POST[$k]))||(empty($_POST[$k]))){
if($_POST[$k]!==0&&$_POST[$k]!=='0'){
returnApiError($k.'值为空!');
}
}
}
unset($data);
$data=I('post.');
unset($data['_URL_'],$data['token']);
return$data;
}
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:过滤get提交的参数;
*
*/
functioncheckDataGet($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_GET[$k]))||(empty($_GET[$k]))){
if($_GET[$k]!==0&&$_GET[$k]!=='0'){
returnApiError($k.'值为空!');
}
}
}
unset($data);
$data=I('get.');
unset($data['_URL_'],$data['token']);
return$data;
}
}


查询单个果品详细信息
/**
*发布模块
*
*获取信息单个果品详细信息
*
*/
(){
//检查是否通过post方法得到数据
checkdataPost('id');
$where['id']=$_POST['id'];
$field[]='id,fruit_name,high_price,low_price,address,size,weight,fruit_pic,remark';
$releaseInfo=$this->release_obj->findRelease($where,$field);
$releaseInfo['remark']=mb_substr($releaseInfo['remark'],0,49,'utf-8').'...';
//多张图地址按逗号截取字符串,截取后如果存在空数组则需要过滤掉
$releaseInfo['fruit_pic']=array_filter(explode(',',$releaseInfo['fruit_pic']));
$fruit_pic=$releaseInfo['fruit_pic'];unset($releaseInfo['fruit_pic']);
//为图片添加存储路径
foreach($fruit_picas$k=>$v){
$releaseInfo['fruit_pic'][]='http://'.$_SERVER['HTTP_HOST'].'/Uploads/Release/'.$v;
}
if($releaseInfo){
returnApiSuccess('',$releaseInfo);
}else{
returnApiError('什么也没查到(+_+)!');
}
}


findRelease()方法的model
/**
*查询一条数据
*/
publicfunctionfindRelease($where,$field){
if($where['status']==''||empty($where['status'])){
$where['status']=array('neq','9');
}
$result=$this->where($where)->field($field)->find();
return$result;
}


app端接收到的数据(解码json之后)
{
"flag":"success",
"message":"",
"responseList":{
"id":"2",
"fruit_name":"苹果",
"high_price":"8.0",
"low_price":"5.0",
"address":"天津小白楼水果市场",
"size":"2.0",
"weight":"2.0",
"remark":"急需...",
"fruit_pic":[
"http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png",
"http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"
]
}
}


app端接收到的数据(原生json串)
代码如下:

{"flag":"success","message":"","responseList":{"id":"2","fruit_name":"u82f9u679c","high_price":"8.0","low_price":"5.0","address":"","size":"2.0","weight":"2.0","remark":"u6025u9700...","fruit_pic":["http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png","http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"]}}

方案二:另外我们还可以通过ThinkPHP实现移动端访问自动切换主题模板,这样也可以做到移动端访问

ThinkPHP的模板主题机制,如果只是在PC,只要需修改 DEFAULT_THEME (新版模板主题默认是空,表示不启用模板主题功能)配置项就可以方便的实现多模板主题切换。

但对于移动端与PC端,也许你会设计完全不同的主题风格,且针对不同的来路提供不同的渲染方式,其中一种比较流行的方法是“响应式设计”,但就本人经历而言,要实现完全的“响应式设计”并不是那么容易,且解决兼容问题也是个难题,假设是大型站点,比如:淘宝、网络、拍拍这些,响应式设计肯定是满足不了需求的,而是需要针对手机访问用户提供单独的手机网站。

ThinkPHP 完全能够实现,而且非常的简单。与TPM的智能模版切换引擎相同,只要对来路进行判断处理就行了。

一、将 ismobile() 加入到{项目/Common/common.php}

functionismobile(){
//如果有HTTP_X_WAP_PROFILE则一定是移动设备
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
returntrue;

//此条摘自TPM智能切换模板引擎,适合TPM开发
if(isset($_SERVER['HTTP_CLIENT'])&&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
returntrue;
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if(isset($_SERVER['HTTP_VIA']))
//找不到为flase,否则为true
returnstristr($_SERVER['HTTP_VIA'],'wap')?true:false;
//判断手机发送的客户端标志,兼容性有待提高
if(isset($_SERVER['HTTP_USER_AGENT'])){
$clientkeywords=array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
);
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){
returntrue;
}
}
//协议法,因为有可能不准确,放到最后判断
if(isset($_SERVER['HTTP_ACCEPT'])){
//如果只支持wml并且不支持html那一定是移动设备
//如果支持wml和html但是wml在html之前则是移动设备
if((strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==false)&&(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===false||(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')<strpos($_SERVER['HTTP_ACCEPT'],'text/html')))){
returntrue;
}
}
returnfalse;
}

二、在{项目/Lib/}创建一个 CommonAction.php,假设你的项目已公共控制器,则无需创建,直接加在里面就行了。

{
Publicfunction_initialize(){
//移动设备浏览,则切换模板
if(ismobile()){
//设置默认默认主题为Mobile
C('DEFAULT_THEME','Mobile');
}
//............你的更多代码.......
}
}

阅读全文

与php移动框架相关的资料

热点内容
服务器显示error1什么意思 浏览:708
python代码精简 浏览:457
文件加密了怎么找到了 浏览:193
jellyfin插件怎么选择主服务器 浏览:836
asp用户注册源码 浏览:48
什么是照片压缩文件 浏览:392
java调用js代码 浏览:979
昆山市民app怎么修改身份信息 浏览:779
php登陆次数 浏览:744
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:376
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:517
源码论坛打包 浏览:558
php怎么做成word 浏览:692
python批量生成密钥 浏览:492
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:814
android银行卡识别 浏览:756
怎么在app投放广告 浏览:11