导航:首页 > 编程语言 > php响应式模板

php响应式模板

发布时间:2023-02-03 11:33:13

⑴ 如何利用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语言的网站改成响应式网站 需要做什么很麻烦吗

php不需要做什么,php只负责数据,改的话就该前端,推荐使用bootstrap

⑶ phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变

楼主你好

不改变PC的布局到移动端是不可能的,把PC的界面放到移动端如果不变布局,显示肯定得缩小,只会看不清,做自适应是不错的选择,可以实现同一个URL地址,在不同的设备上显示不同的样式,像这个网站(www.zacseo.cn)一样,在PC端显示和移动端都是同一个URL,但界面展示的信息会有所不同,你看下就知道了。

另外,还有一个办法就是在content模块中加入判断,位置是 phpcms\moles\content 下的index.php文件,可以动手写一个函数,在 include template('content','index',$default_style); 的地方判断不同的设备调用不同的模板。

希望可以帮到你。 林羽凡

⑷ thinkphp切换PC端和手机端模板的问题

电脑端和手机端页面不一样,可能情况响应式布局,通过不同的分辨率显示不同的css样式就是两套模板,只是根据pc端和手机端的访问模式进行判断,然后选择是用哪个模板。如果想pc端和手机端样式相同的话,那就是css样式写一套,不要响应式布局。而你说的背景缺失的话还是跟css的代码优化有关。

⑸ 响应式前端框架有哪些

  1. Twitter BootStrap (Apache v2.0;响应式)
    时髦、直观并且强大的前端框架,让Web开发变得更加容易。
    2. Foundation (MIT;响应式)
    最先进的响应式前端框架。
    3. 960gs(GPL&MIT;响应式)
    960gs提供了一个简单的网格系统,适合快速开发。
    4. Skeleton(MIT;响应式)
    非常漂亮的Web模板,适合响应式、移动友好的开发。
    5. 99lime HTML KickStart(Free)
    适合网站快速开发的极简HTML构建模块。
    6. Kube(Free;响应式)
    面向专业人员的CSS框架。
    7. Less Framework(MIT;响应式)
    自适应的CSS网格系统。
    8. Flameinwork(Free)
    适合懒人开发者的前端微框架。
    9. G5 Framework(Free)
    (x)HTML5、CSS、PHP前端开发框架。
    10. Easy Framework(Free)
    Easy Framework是一个一体化前端解决方案,分structural、 presentational、interactive三层。
    11. Blueprint(Free)
    一个旨在减少开发时间的前端框架。
    12. YAML(Creative Commons)
    (x)HTML+CSS框架,适合开发现代化浮动布局。
    13. BlueTrip(Free)
    一个功能全面、并且美丽的CSS框架,适合于Blueprint搭配使用。
    14. YUI3:Grids CSS(BSD)
    YUI Grids CSS是最着名的CSS框架之一,是由Yahoo开发小组开发而成。 YUI Grids CSS为开发者提供了预先设置的四种不同页面宽度,六种不同的模板。
    15. 52framework(Creative Commons)
    对HTML5支持非常好,简单易用。
    16. elastiCSS(MIT)
    一个基于Web接口和印刷布局的简单CSS框架。
    17. Emastic(Free)
    一个与众不同的CSS框架。
    18. Fluid 960 Gride System(GPL/MIT)
    Fluid 960 Grid System的模版是根据Nathan Smith之前的作品而创建的。即960 Grid System:传承了MooTools和jQuery JavaScript libraries的效果。
    19. xCSS(MIT)
    一个面向对象的CSS框架,能让你的工作流更加简洁。xCSS基于CSS,可以在开发复杂样式时,提供面向对象的工作流。
    20. EM CSS Framework(MIT/GPL)
    EM CSS Framework提供了一个960px宽 + 12 列网格系统 + CSS的通用样式。

    21.Ant Design

    22.Element UI

⑹ 想建一个心愿墙网站,瀑布流,php

html5响应式瀑布流网站与php无关,不知道是否有这样的建站工具,不支持html5响应式瀑布流也无所谓,数据出来,自己将html5响应式瀑布流的css及js加上就行了。
【软件668】-专注软件定制服务。

⑺ phpcms怎么生成静态网站

如果是合格的phpcms模板本身就是带标题的。 你打开pc原模板的header.html,把title的代码复制到你的模板就行了。
运行CMD后使用dir命令,加一个/b,会生成一个简单的文件名列表,不包括其它信息,这种方法可以用来提取文件夹和文件名列表。比如要提取D盘下ABC文件夹里的文件名列表:dir d:\abc /s /b >d:filelist.txt这样就会在D盘生成一个filelist.txt的文本...
先在扩展里面设置URL规则, 然后在栏目设置里面设置 这些都可以根据需求设置
首页第一步你要编辑自己的静态规则,如果对系统自带的满意的话可以忽略。 即找到扩展——>URL规则管理,再修改相应的生成静态规则的规则,如果不想在原有的基础上修改,可以自己添加,这个很简单,生成什么样的目录你自己说了算,看示例就会 了。 ...
你好! 手机门户没有生成静态页面一说的,应该是php写的动态页面。 现在都是html5的时代了,建议开发html5响应式网站,兼顾PC、平板、移动显示效果。 希望我的回答能够帮到你,望采纳
我来回答吧:) 1. 进入后台-->网站频道 2.到这个时候,你网站的所有频道都会在"右窗口"显示出来. 3.找到你需要修改的频道,点击其右侧管理操作的"修改"链接... 4.转入的这个页面就是此频道的详细信息,分别有"基本信息"."权限设置"."上传选项"."生成...
你好! 生成了很多多余的目录可能跟你的内容页URL规则设置有关系。如图: 个人觉得phpcms生成静态文件是多余的,完全可以用伪静态来实现。易于维护和管理,实现也较容易。 希望我的答案对你有所帮助,记得采纳哦~
更新URL更新缓存这是phpcms使用问题的万能药膏,我问了很多不同的问题,都是这样的回答,并且都不能解决问题
后台-内容-内容管理-栏目管理-选择某个栏目-修改-生产html选项 勾完以后更新一下栏目缓存
两个都可以访问的,生成静态后,访问的静态地址页面,服务器就不会去执行数据库; 比如,你有10篇文章,动态的话,你每访问一篇文章都要在数据库里去找出这张篇文章,而静态的话,10篇文章就是10个静态页面,不用查找数据库,直接显示的。 这样...如果还有不明白的话,你也可以去后盾人平台看看php基础教学视频看看,也是不错的选择,希望能帮到你,给个采纳吧谢谢(^_^)

⑻ php个人博客响应式源码

不太清楚呢!我弟好像也在学这个!不过是在后盾ren自学的呢!学的挺好的!你也可以去看看!

⑼ 讲真,二当家的官网上下载的php整站源码可以直接修改一下上线用不比如一些图片什么的怎么修改呢

是可以呢,我用的就是,二当家的提供的网站模板、JS特效、PHP源码还是相当不错的,比较适合初学者和计算机毕业设计呢。

⑽ php的cms系统哪个好

1.cms系统

1)知名cms
dedecms:
优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、模版素材多。
缺点:功能集成扩展性不好不够灵活、漏洞多不够安全、对PHP版本兼容性不够好、速度偏慢。

phpcms:
优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、模版素材多。
缺点:安全性比dedecms好、扩展性也不好、不易二次开发、速度略好于dedecms。

帝国cms(EmpireCMS):
优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、模版素材多。
缺点:安全性还行、扩展性比前两款好、方便二次开发、速度比前者快。

Pageadmin:
优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、模版素材多。
缺点:安全性比较好、扩展性次于帝国cms、速度也是比较慢。

2)小型cms网站系统
模版标签、前后台分离、响应式后台、简介、小程序app服务接口、多套模板素材
易优youCMS:
模版标签、前后台分离、简单上手、多套模板素材。
易思CMS:
模版标签、前后台分离、简单上手、多套模板素材。
织梦 cms系统

阅读全文

与php响应式模板相关的资料

热点内容
javatif转jpg 浏览:165
java设置按钮的位置 浏览:686
互联网商业模式pdf 浏览:440
cmdcopycon命令 浏览:933
pdf火车 浏览:77
幻世九歌怎么选服务器 浏览:163
ubuntu反编译工具使用方法 浏览:910
stc20脚单片机 浏览:352
pdf吉他独奏 浏览:484
phpsort排序 浏览:917
三种条件编译指令 浏览:945
怎么知道app扣的啥费用 浏览:320
没有服务器地址测试微信接口 浏览:392
51单片机报警器 浏览:431
python任意范围猜数字游戏 浏览:567
程序员打电话搞笑视频 浏览:129
完美校园app怎么销假 浏览:902
多开宏命令 浏览:884
战地1如何匹配官方服务器 浏览:382
武汉金税系统服务器地址 浏览:844