javascript - 有什么好的解决方案实现php和html的代码分离么

php中文网
发布: 2016-06-06 20:19:15
原创
1759人浏览过

前端代码和php混合在一起,现在想实现分离,不用smarty这种模版引擎,还有其他什么方法么? 提交,修改,加载更多数据部分用了ajax,但是默认的数据读取还是用php的echo。

回复内容:

前端代码和php混合在一起,现在想实现分离,不用smarty这种模版引擎,还有其他什么方法么? 提交,修改,加载更多数据部分用了ajax,但是默认的数据读取还是用php的echo。

但事实上,模板引擎就是为了解决这问题而生的啊。第一下就否决了。
目前新的技术说是用基于js的模板引擎来生成Dom,或者angular js,由js来绑定数据到Dom。即PHP输出数据成js,js进行Dom生成。

一切的数据来源都用异步请求来获取

我知道的方案有两种

立即学习PHP免费学习笔记(深入)”;

  1. 所有你需要的数据都通过ajax请求。后台提供接口。

  2. 使用模板渲染

我接触过的网站一般都是两种混合使用。因为一般网站都有大量复用的部分,因此需要使用静态模板,在服务端渲染成html。需要数据的地方,任然需要使用ajax请求。

当然听说现在已经有了比ajax请求更加高级的数据交互方案,不过我没用过

比较传统的方法

方法1.纯使用模板引擎
方法2.模板渲染和ajax混着用,ajax只用于异步处理数据

优点:逻辑清晰,简单
劣势:流量的浪费,服务端开销增大,维护的不便

比较现代的方法

  • 前后端完全分离

  • 前端只处理交互界面的逻辑(于是前端又分了很多 方法/框架 来进行页面逻辑的处理)

  • 前端只在需要数据的时候通过 ajax/pjax 获取数据并填充需要的部分

    通义灵码
    通义灵码

    阿里云出品的一款基于通义大模型的智能编码辅助工具,提供代码智能生成、研发智能问答能力

    通义灵码 304
    查看详情 通义灵码

你可以选择

  1. 所有操作均使用ajax,后端只提供json接口。这样就是angular那种做法。

  2. 查询操作渲染模板,其它操作使用ajax。这样是传统做法。

不推荐所有操作都渲染模板,体验很差。

RESTful。

PHP本来就是个模板引擎,你分离他干嘛呢?

楼主,PHP的模板引擎比较多,但主流的还是smarty,论效率论上手都不错啊,干嘛不用呢
如果走极端(你能重构整个项目),那也可以考虑纯前后端分离,用knockout angularjs这些js框架做前端,php只在后端做api。当然也要看你项目是否合适了,说白了,仅仅依靠原生php代码来做WEB,目前几乎很难看到吧

可以参考下淘宝UED的前后端分离系列文章:
http://ued.taobao.org/blog/?s=%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB
javascript - 有什么好的解决方案实现php和html的代码分离么

我是用angular来实现,基本步骤:
1、加载静态的页面框架;
2、通过ajax获取动态部分的内容;
3、通过ajax获取数据。
写了个directive标准化一下第2步:
HTML

<div dynamic-html="Page.html"></div>
登录后复制

JS

app.directive('dynamicHtml', function($compile) {
    return {
        restrict: 'EA',
        replace: true,
        link: function(scope, ele, attrs) {
            scope.$watch(attrs.dynamicHtml, function(html) {
                if (html && html.length) {
                    ele.html(html);
                    $compile(ele.contents())(scope);
                }
            });
        }
    };
});
登录后复制

想实现分离,不用模板恐怕不行。要么用现成的模板引擎,要么自己实现一个。如果只是不喜欢smarty的语法的话,可以采用支持PHP原生语法的模板引擎,比如plates。

一直使用纯原生PHP

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号