当前位置: 首页 >Z-Blog教程 >正文

zblog开发中常用的系统函数介绍

浏览:9606 作者:Admin 评论(4)

本文介绍一下zblog的常用函数,让新人开发也能少走弯路。

其实zblog很多功能系统都封装好,只需要简单调用一下就可以完成操作,当然一种操作可能会有很多种调用方法,这里我只介绍我认为最简单的方法。

文章相关

获取、修改文章

GetPost 函数

$aritcle = GetPost((int)2); //获得文章对象,传入文章ID,必须用(int)转换为整数
echo '文章浏览数量'.$article->ViewNums; //获得文章浏览数量
//修改文章
$article->Title = '新标题'; 
//修改文章内容
$article->Metas->keywords = '内容'; 
//修改扩展内容
$article->Save(); 
//执行保存

如果是修改文章内容,一般只需要三行代码:

  1. 获取文章对象 $article = GetPost((int)2)

  2. 设置新内容 $article->Title = 'xxx';

  3. 保存 $article->Save()

如果只是获取一个文章标题,简写方法:GetPost((int)2)->Title

不推荐用法:如果还要要调用其它内容,千万不能用同样的方法,比如:

echo '标题:'.GetPost((int)2)->Title;
echo '正文:'.GetPost((int)2)->Content;

这样多写一次,数据库就会多查询一次。正确的做法应该是将对象赋值给一个变量,再操作。

正确做法:

$article = GetPost((int)2);
echo '标题:'.$article->Title;
echo '正文:'.$article->Content;

获取文章列表

GetList 函数

GetList(5,3); //获取ID为3的分类中的5篇文章

不传入任何参数,默认获取网站最新的10篇文章

函数返回的值是数组,每个数组的值就是一篇文章的对象。可以用foreach进行遍历获取

foreach (GetList(5,3) as $article){ 
    echo '标题:'.$aricle->Title;
}

这里也可以直接赋值对象属性进行文章修改。

foreach (GetList(5,3) as $article){ 
    echo '标题:'.$aricle->Title; 
    $article->Title = '新标题'; 
    $article->Save();
}

这个函数功能远远不止这些,更多用法可去zblog官网查看wiki。

获取文章分类对象、作者对象、标签、相关文章

$aritcle = GetPost((int)2); //文章对象
echo $article->Category->Name; //文章分类名称
echo $article->Category->Url; //文章分类url
echo $article->Author->StaticName; //获取作者的昵称
echo $article->Author->Url; //获取用户页面url
echo $article->TagsName; //获取文章标签。形式:标签1,标签2,标签3
echo $article->Tags; //获取文章标签,返回的是数组,用foreach遍历可获得标签url
echo $article->TagsCount; //获取文章有多少个标签
$related = $article->RelatedList; //获取相关文章(相关关系:相同标签)返回的是数组,用foreach遍历

上面获取分类名称、Url和作者昵称、Url这样的写法结果都正常,但是不推荐这样写。这样会让后台多执行一次数据库查询,应该将$article->Category赋值给一个变量,再访问变量的属性。

删除文章

$_GET['id'] = 2; //设置文章IDDelArticle(); //删除文章函数

很简单,就两行代码,就可以操作。

这上面的函数只能删除文章,不能删除页面。删除页面用函数:DelPage()

删除某个文章下的所有评论

DelArticle_Comments(2); //设置文章ID

直接传入文章ID就可以删除

分类相关

获得、修改分类

$cate = $zbp->GetCategoryByID(3); //根据分类ID
$cate = $zbp->GetCategoryByName('教程'); //根据分类名称
$cate = $zbp->GetCategoryByAlias('jiaocheng'); //根据分类别名
echo '分类名称'.$cate->Name;
echo '分类链接'.$cate->Url;//修改分类名称
$cate->Name = '新名称';
$cate->Save(); //保存

获得子孙分类(获得向下的两层分类)

$cate = $zbp->GetCategoryByID(3); //传入文章ID
$array = $cate->ChildrenCategories; //获得子孙分类的数组对象
foreach ($array as $category){ 
    echo 'ID:'.$category->ID; 
    echo '名称'.$category->Name;
}

如果ChildrenCategories获得的是一个空数组,必须在之前加载zbp对象。$zbp->Load();

获得父分类对象

$cate = $zbp->GetCategoryByID(3);
$parent = $cate->Parent;
echo '父分类名称:'.$parent->Name;

删除分类

$_GET['id'] = 3; //设置要删除的分类ID
DelCategory(); //执行删除函数

删除某个分类下的所有文章

DelCategory_Articles(3); //删除分类ID为3的下面所有文章

用户相关

获得用户对象、修改用户

$member = $zbp->GetMemberByID(5); //根据用户ID
$member = $zbp->GetMemberByName('admin'); //根据用户账号
$member = $zbp->GetMemberByNameOrAlias('花晨月夕'); //根据用户昵称
$member = $zbp->GetMemberByEmail('12345@qq.com'); //根据邮箱
$member->Email = '10000@qq.com'; //修改用户邮箱
$member->Save(); //保存

如果除了ID,如果传入的值,在表中包含多个,则只会返回其中一个。比如邮箱,如果多个用户是同一个邮箱,返回的只会是其中一个。

修改当前登录的用户数据

$zbp->user->Email = '23456@qq.com'; //修改邮箱
$zbp->user->Alias = '老王'; //修改昵称
$zbp->user->Save(); //保存修改
//模板里可以这样
$user->Email = '23456@qq.com'; //修改邮箱
$user->Alias = '老王'; //修改昵称
$user->Save(); //保存修改

删除用户

$_GET['id'] = 5; //设置要删除的用户IDDelMember();

删除用户的数据

DelMember_AllData(5); //传入用户的ID

删除用户下所有数据(包括文章、评论、附件)

其它

获取访客IP

echo GetGuestIP(); //127.0.0.1

获取用户浏览器UA

echo GetGuestAgent(); //Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36

获取url页面内容

echo GetHttpContent('https://www.baidu.com'); //返回html纯文本内容

有人会说file_get_contents()函数不就可以吗,但是万一你要的页面出现404 500这些错误,后台直接就报错了,除非你在传入其它参数来阻止报错。这么费事还不如直接用zblog的函数。如果出现错误,则返回null

获得参数值

GetVars('name','POST'); //就相当于 $_POST('name');
GetVars('act','GET'); //就相当于 $_GET('name');
GetVars('token','COOKIE'); //就相当于 $_COOKIE('token');
GetVars('token','XXX'); //就相当于 $_XXX('token');

尽量不要用$_XXX这样的方式去获取数据,万一这个key不存在就报错了。而这个函数不对,会直接返回null

输出json

/**
 * 以JSON形式输出错误信息. 
 *
 * @param string $errorCode 错误编号 
 * @param string $errorString 错误内容 
 * @param object 
*/
JsonError($errorCode, $errorString, $data);
JsonError(1,'上传成功',array('url'=>'https://abc.com/1.png'))//输出json {"data":{"url":"https:\/\/abc.com\/1.png"},"err":{"code":1,"msg":"\u4e0a\u4f20\u6210\u529f","timestamp":1558428174}}

常用的也就是这些了。如果你还想了解什么,请在下面留言,我会回复并添加在文章中

本文标题:zblog开发中常用的系统函数介绍

版权声明:本文由『Admin』发表于“ZB博客”,转载请注明出处。

发表评论