好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php模板解析类 phpxml解析

很多站长朋友们都不太清楚php模板解析类,今天小编就来给大家整理php模板解析类,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php封装一个用户类,里面有登录注册方法,这个要怎么写 2、 php中,有哪些模板 3、 php 的框架与模板 php封装一个用户类,里面有登录注册方法,这个要怎么写

第一步:login.php

//登陆方法

public function login(){

//如果用户名和密码为空,则返回登陆页面

if(empty($_POST['username']) || empty($_POST['password'])){

$data['verifycode'] = rand(1000,9999);//生成一个四位数字的验证码

//将验证码放入session中,注意:参数是数组的格式

$this->session->set_userdata($data);

//注意:CI框架默认模板引擎解析的模板文件中变量不需要$符号

//$this->parser->parse("admin/login",$data);

//smarty模板变量赋值

$this->tp->assign("verifycode",$data['verifycode']);

//ci框架在模板文件中使用原生态的PHP语法输出数据

//$this->load->view('login',$data);//登陆页面,注意:参数2需要以数组的形式出现

//显示smarty模板引擎设定的模板文件

$this->tp->display("admin/login.php");

}else{

$username = isset($_POST['username'])!empty($_POST['username'])?trim($_POST['username']):'';//用户名

$password = isset($_POST['password'])!empty($_POST['password'])?trim($_POST['password']):'';//密码

$verifycode = isset($_POST['verifycode'])!empty($_POST['verifycode'])?trim($_POST['verifycode']):'';//验证码

//做验证码的校验

if($verifycode == $this->session->userdata('verifycode')){

//根据用户名及密码获取用户信息,注意:参数2是加密的密码

$user_info=$this->user_model->check_user_login($username,md5($password));

if($user_info['user_id'] > 0){

//将用户id、username、password放入cookie中

//第一种设置cookie的方式:采用php原生态的方法设置的cookie的值

//setcookie("user_id",$user_info['user_id'],86500);

//setcookie("username",$user_info['username'],86500);

//setcookie("password",$user_info['password'],86500);

//echo $_COOKIE['username'];

//第二种设置cookie的方式:通过CI框架的input类库

$this->input->set_cookie("username",$user_info['username'],3600);

$this->input->set_cookie("password",$user_info['password'],3600);

$this->input->set_cookie("user_id",$user_info['user_id'],3600);

//echo $this->input->cookie("password");//适用于控制器

//echo $this->input->cookie("username");//适用于控制器

//echo $_COOKIE['username'];//在模型类中可以通过这种方式获取cookie值

//echo $_COOKIE['password'];//在模型类中可以通过这种方式获取cookie值

//第三种设置cookie的方式:通过CI框架的cookie_helper.php函数库文件

//这种方式不是很灵验,建议大家采取第二种方式即可

//set_cookie("username",$user_info['username'],3600);

//echo get_cookie("username");

//session登陆时使用:将用户名和用户id存入session中

//$data['username']=$user_info['username'];

//$data['user_id']=$user_info['user_id'];

//$this->session->set_userdata($data);

//跳转到指定页面

//注意:site_url()与base_url()的区别,前者带index.php,后者不带index.php

header("location:".site_url("index/index"));

}

}else{

//跳转到登陆页面

header("location:".site_url("common/login"));

}

}

}

}

第二步:User_model.php

//cookie登陆:检测用户是否登陆,如果cookie值失效,则返回false,如果cookie值未失效,则根据cookie中的用户名和密码从数据库中获取用户信息,如果能获取到用户信息,则返回查询到的用户信息,如果没有查询到用户信息,则返回0

public function is_login(){

//获取cookie中的值

if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){

$user_info = false;

}else{

$user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);

}

return $user_info;

}

//根据用户名及加密密码从数据库中获取用户信息,如果能获取到,则返回获取到的用户信息,否则返回false,注意:密码为加密密码

public function check_user_login($username,$password){

//这里大家要注意:$password为md5加密后的密码

//$this->db->query("select * from ");

//快捷查询类的使用:能为我们提供快速获取数据的方法

//此数组为查询条件

//注意:关联数组

$arr=array(

'username'=>$username,//用户名

'password'=>$password,//加密密码

'status'=>1 //账户为开启状态

);

//在database.php文件中已经设置了数据表的前缀,所以此时数据表无需带前缀

$query = $this->db->get_where("users",$arr);

//返回二维数组

//$data=$query->result_array();

//返回一维数组

$user_info=$query->row_array();

if(!empty($user_info)){

return $user_info;

}else{

return false;

}

}

第三步:其它控制器:

public function __construct(){

//调用父类的构造函数

parent::__construct();

$this->load->library('tp'); //smarty模板解析类

$this->load->helper('url'); //url函数库文件

$this->load->model("user_model");//User_model模型类实例化对象

$this->cur_user=$this->user_model->is_login();

if($this->cur_user === false){

header("location:".site_url("common/login"));

}else{

//如果已经登陆,则重新设置cookie的有效期

$this->input->set_cookie("username",$this->cur_user['username'],3600);

$this->input->set_cookie("password",$this->cur_user['password'],3600);

$this->input->set_cookie("user_id",$this->cur_user['user_id'],3600);

}

$this->load->library('pagination');//分页类库

$this->load->model("role_model");//member_model模型类

$this->load->model("operation_model");//引用operation_model模型

$this->load->model("object_model");//引用object_model模型

$this->load->model("permission_model");//引用permission_model模型

}

php中,有哪些模板

为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出了以下名单:

Smarty

Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。

是一个模板类,一般也简称为模板。Smarty里面有专门的模板引擎。模板的主要功能就是逻辑与显示的分离,也就是PHP和HTML的分离。

Heyes Template Class

一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。

FastTemplate

一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。

ShellPage

一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。

STP Simple Template Parser

一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。

OO Template Class

一个你可以用在自己程序中的面向兑现的模板类。

SimpleTemplate

一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。

bTemplate

短小但是快速的模板类,允许你把PHP逻辑代码从HTML修饰代码中分离。

Savant

一个强大且轻量级的PEAR兼容模板系统。它是非编译型的,使用PHP语言本身做为它的模板语言。

ETS - easy template system

可以使用完全相同数据重组模板的模板系统。

EasyTemplatePHP

适用于你的站点的一个简单但是强大的模板系统。

vlibTemplate

一个快速、全能的模板系统,它包含一个缓存和调试类。

AvanTemplate

多字节安全的模板引擎,占用很少系统资源。它支持变量替换,内容块可以设置显示或隐藏。

Grafx Software’s Fast Template

一个修改版本的Fast Template系统,它包括缓存功能,调试控制台以及沉默去除为赋值块。

TemplatePower

一个快速、简单、功能强大的模板类。主要功能有嵌套的动态块支持,块/文件包含支持以及显示/隐藏未赋值的变量。

TagTemplate

这个库的功能被设计来使用模板文件,同时允许你从HTML文件检索信息。

htmltmpl: templating engine

一个适用于Python和PHP的模板引擎。它面向希望在项目中分离代码和设计的web应用开发人员。

PHP Class for Parsing Dreamweaver templates

一个分析Dreamweaver模板的简单类,被用于Gallery 2 和WordPress的自定义模块中。

MiniTemplator (Template Engine)

针对HTML文件的一个紧凑型模板引擎。对于模板变量和块定义它具有简单的语法。其中块可以嵌套。

Layout Solution

简化网站开发和维护。它拥有常用的变量和页面元素使你不需要重复做页面布局工作。

Cached Fast Template

它已经纳入FastTemplate,允许你缓存模板文件,甚至可以在分离的块内容上缓存不同的规格。

TinyButStrong

一个支持MySQL, Odbc, Sql-Server和ADODB的模板引擎。它包含7个方法和两个属性。

Brian Lozier’s php based template engine

只有2K大小,非常快并且是面向对象设计。

WACT

一个从设计中分离代码的模板引擎。

PHPTAL

一个PHP下面的XML/XHTML模板库。

希望可以帮到你!

php 的框架与模板

楼主的认知不对哦,以下为楼主解惑:

框架:在php源码的基础上,开发者将常用的功能进行二次封装形成的代码集合,其本身往往不具备任何可用的功能,其目的仅仅是使开发人员可以基于框架更快的开发出符合要求的应用。例如,不使用框架开发一个用户管理功能可能需要5天,使用框架可以将这个时间缩短到2天。实际上,对于任何一个项目,访问控制、数据库访问、文件处理等功能都是必备的,框架就是将这些常用功能进行了更易用的封装,避免开发人员在通用组件上重复开发,浪费时间。

模板:为了将PHP内容和html内容更好的分离为目的产生的一种应用,其主要目的是为了网页制作人员可以不去学习PHP就能修改页面的内容(可惜不学PHP还要学smarty,因此我个人并不觉得模板真的能带来什么实际的好处)

另外,如dede,DZ,PHPCMS等是基于PHP的产品,本身已经具备了大量的功能,安装之后就能使用,当然,因为需求的不同可能需要在该产品的基础上进行二次开发。

综述,模板没有太大的价值,完全可以在非用不可的时候再去学习,对于PHP开发人员来说,smarty可以立刻上手。它可以(也只能)被框架或PHP产品使用。框架是必须掌握的,定制性很强的项目必然都是基于框架开发的。PHP产品,如果你要开发的项目和某个PHP产品的功能达到80%以上的契合,那么应该考虑基于该产品进行开发。

一些网站提供简单的博客,留言板等的源码,不基于框架的小项目实际上只能称为练习,只有参考价值。

注:不是说不使用框架的项目就不算项目,事实上如果一个项目如果没有使用某某框架,其项目的一部分代码也必然的会具有框架的特征,即自定义框架也是框架。

关于php模板解析类的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php模板解析类 phpxml解析的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did167401
更新时间:2023-03-28   阅读:36次

上一篇: php对接翼支付 翼支付3020脚本

下一篇:关于php5.6对php7的信息

相关资讯

最新资料更新

  • 1.dedecms会员登录积分每天只限增加一次的实现思路及代码
  • 2.dedecms任意页面调用栏目内容标签{dede:field.content/}的方法
  • 3.织梦dedecms获取上一篇下一篇文章链接的方法
  • 4.dedecms网站搬家需要的备份的文件
  • 5.织梦DEDECMS提示信息提示框美化
  • 6.dedecms建站设置自动内链的方法
  • 7.对于织梦CMS各目录内文件的说明详解
  • 8.dedecms专题模板应用分析及解决方案
  • 9.dedecms实现游客可以提问、回答及查看的方法
  • 10.织梦dedecms修改任意管理员漏洞处理方法
  • 11.dedecms织梦自定义文件名之用拼音或英文标题的方法
  • 12.dedecms调用当前栏目ID与当前栏目顶级ID的方法
  • 13.dedecms关闭后台/会员/留言/板验证码的方法
  • 14.Dedecms无法保存远程图片到本地服务器的解决方法
  • 15.织梦DEDECMS网站栏目页获取当前顶级栏目名称的标签
  • 16.织梦DedeCMS文章标题自动增加长尾关键词的方法
  • 17.dedecms织梦模板中plus文件作用介绍及安全设置详解
  • 18.织梦DEDECMS实现留言板调用模板头部及底部的方法
  • 19.详解织梦DEDECMS模板防止被盗用被下载被偷窥的方法
  • 20.dedecms中tags标签页伪静态化修改技巧

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]