OOP 面向对象
本文档详细说明了 TTDF 主题框架中所有可用的面向对象类及其方法的用法。
目录
基础类
Get::Header()
输出或返回头部元数据和link标签
// 直接输出头部信息
Get::Header();
// 返回头部信息字符串
$header = Get::Header(false);
// 排除特定的meta标签
Get::Header(true, 'keywords,description');参数:
$echo(bool|null): 是否直接输出,默认 true$exclude(string|null): 要排除的meta或link标签,多个用逗号分隔
返回值: string
Get::Footer()
输出或返回页脚内容
// 直接输出页脚
Get::Footer();
// 返回页脚内容
$footer = Get::Footer(false);参数:
$echo(bool): 是否直接输出,默认 true
返回值: string|null
Get::Next()
获取下一项内容,用于循环输出
while (Get::Next()) {
// 处理每一项内容
GetPost::Title();
}返回值: mixed
站点信息类
GetSite::Url()
获取站点URL
// 输出站点URL
GetSite::Url();
// 获取站点URL字符串
$url = GetSite::Url(false);GetSite::Domain()
获取站点域名
GetSite::Domain();
$domain = GetSite::Domain(false);GetSite::Name()
获取站点名称
GetSite::Name();
$name = GetSite::Name(false);GetSite::Keywords()
获取站点关键词
GetSite::Keywords();
$keywords = GetSite::Keywords(false);GetSite::Description()
获取站点描述
GetSite::Description();
$description = GetSite::Description(false);GetSite::Language()
获取站点语言
GetSite::Language();
$lang = GetSite::Language(false);GetSite::Charset()
获取站点字符集
GetSite::Charset();
$charset = GetSite::Charset(false);GetSite::PageUrl()
获取当前页面URL
GetSite::PageUrl();
$pageUrl = GetSite::PageUrl(false);GetSite::Theme()
获取当前主题名称
GetSite::Theme();
$theme = GetSite::Theme(false);文章相关类
基础文章信息
GetPost::getCurrentArchive()
获取当前文章对象
$post = GetPost::getCurrentArchive();GetPost::Cid()
获取文章ID
GetPost::Cid();
$id = GetPost::Cid(false);GetPost::Title()
获取文章标题
GetPost::Title();
$title = GetPost::Title(false);GetPost::Content()
获取文章内容
GetPost::Content();
$content = GetPost::Content(false);GetPost::Excerpt()
获取文章摘要
GetPost::Excerpt();
$excerpt = GetPost::Excerpt(false);GetPost::Date()
获取文章发布日期
// 默认格式
GetPost::Date();
// 自定义格式
GetPost::Date('Y-m-d H:i:s');
// 返回字符串
$date = GetPost::Date('Y-m-d', false);GetPost::Permalink()
获取文章永久链接
GetPost::Permalink();
$link = GetPost::Permalink(false);文章作者信息
GetPost::Author()
获取文章作者名称
GetPost::Author();
$author = GetPost::Author(false);GetPost::AuthorAvatar()
获取作者头像
// 默认尺寸 128px
GetPost::AuthorAvatar();
// 自定义尺寸
GetPost::AuthorAvatar(64);
// 返回头像URL
$avatar = GetPost::AuthorAvatar(128, false);GetPost::AuthorPermalink()
获取作者链接
GetPost::AuthorPermalink();
$authorLink = GetPost::AuthorPermalink(false);文章分类和标签
GetPost::Category()
获取文章分类
// 输出分类链接
GetPost::Category();
// 返回分类信息
$category = GetPost::Category(false);GetPost::Tags()
获取文章标签
// 输出标签链接
GetPost::Tags();
// 返回标签信息
$tags = GetPost::Tags(false);文章统计
GetPost::WordCount()
获取文章字数统计
GetPost::WordCount();
$wordCount = GetPost::WordCount(false);GetPost::PostsNum()
获取文章总数
GetPost::PostsNum();
$total = GetPost::PostsNum(false);文章列表
GetPost::RandomPosts()
获取随机文章
// 获取3篇随机文章
$posts = GetPost::RandomPosts(3, false);
// 直接输出随机文章列表
GetPost::RandomPosts(5);GetPost::RenderRandomPosts()
渲染随机文章列表
// 渲染3篇随机文章
GetPost::RenderRandomPosts(3);
// 返回渲染结果
$rendered = GetPost::RenderRandomPosts(5, false);GetPost::List()
获取文章列表
$postList = GetPost::List(false);
GetPost::List(); // 直接输出数据库相关
GetPost::DB_Title()
从数据库获取文章标题
GetPost::DB_Title();
$dbTitle = GetPost::DB_Title(false);GetPost::DB_Content()
从数据库获取文章内容
GetPost::DB_Content();
$dbContent = GetPost::DB_Content(false);GetPost::DB_Content_Html()
从数据库获取文章内容并转换为HTML
GetPost::DB_Content_Html();
$htmlContent = GetPost::DB_Content_Html(false);文章实例绑定
GetPost::bindArchive()
绑定文章实例
GetPost::bindArchive($archive);GetPost::unbindArchive()
解除文章实例绑定
GetPost::unbindArchive();用户相关类
GetUser::Name()
获取用户名
GetUser::Name();
$username = GetUser::Name(false);GetUser::DisplayName()
获取用户显示名称
GetUser::DisplayName();
$displayName = GetUser::DisplayName(false);GetUser::Uid()
获取用户UID
GetUser::Uid();
$uid = GetUser::Uid(false);GetUser::Login()
获取用户登录状态
GetUser::Login();
$login = GetUser::Login(false);GetUser::Login();
$login = GetUser::Login(false);GetUser::Avatar()
获取用户头像
// 默认尺寸
GetUser::Avatar();
// 自定义尺寸
GetUser::Avatar(64);
// 返回头像URL
$avatar = GetUser::Avatar(128, false);GetUser::AvatarURL()
获取用户头像URL
GetUser::AvatarURL();
$avatarUrl = GetUser::AvatarURL(false);GetUser::Email()
获取用户邮箱
GetUser::Email();
$email = GetUser::Email(false);GetUser::WebSite()
获取用户网站
GetUser::WebSite();
$website = GetUser::WebSite(false);GetUser::Bio()
获取用户简介
GetUser::Bio();
$bio = GetUser::Bio(false);GetUser::Role()
获取用户角色
GetUser::Role();
$role = GetUser::Role(false);GetUser::Registered()
获取用户注册时间
// 默认格式
GetUser::Registered();
// 自定义格式
GetUser::Registered('Y-m-d');
// 返回字符串
$registered = GetUser::Registered('Y-m-d H:i:s', false);GetUser::LastLogin()
获取最后登录时间
GetUser::LastLogin();
$lastLogin = GetUser::LastLogin(false);GetUser::PostCount()
获取用户文章数
GetUser::PostCount();
$postCount = GetUser::PostCount(false);GetUser::PageCount()
获取用户页面数
GetUser::PageCount();
$pageCount = GetUser::PageCount(false);GetUser::Permalink()
获取用户链接
GetUser::Permalink();
$userLink = GetUser::Permalink(false);评论相关类
GetComment::CommentsNum()
获取评论数量
GetComment::CommentsNum();
$num = GetComment::CommentsNum(false);GetComment::CommentsList()
获取评论列表
GetComment::CommentsList();
$list = GetComment::CommentsList(false);GetComment::CommentsPageNav()
获取评论分页导航
GetComment::CommentsPageNav();
$nav = GetComment::CommentsPageNav(false);GetComment::CommentsForm()
获取评论表单
GetComment::CommentsForm();
$form = GetComment::CommentsForm(false);主题相关类
GetTheme::Url()
获取主题URL
GetTheme::Url();
$url = GetTheme::Url(false);GetTheme::Dir()
获取主题目录
GetTheme::Dir();
$dir = GetTheme::Dir(false);GetTheme::AssetsUrl()
获取资源URL
GetTheme::AssetsUrl();
$assetsUrl = GetTheme::AssetsUrl(false);GetTheme::Name()
获取主题名称
GetTheme::Name();
$name = GetTheme::Name(false);GetTheme::Author()
获取主题作者
GetTheme::Author();
$author = GetTheme::Author(false);GetTheme::Ver()
获取主题版本
GetTheme::Ver();
$version = GetTheme::Ver(false);通用工具类
Get::Need()
引入文件(原始方法)
Get::Need('header.php');Get::Is()
判断页面类型
if (Get::Is('index')) {
// 首页逻辑
}
if (Get::Is('post')) {
// 文章页逻辑
}Get::IsHttpCode()
判断HTTP状态码
if (Get::IsHttpCode(404)) {
// 404页面逻辑
}Get::Options()
获取配置参数
// 获取配置值
$timezone = Get::Options('timezone');
// 直接输出配置值
Get::Options('siteUrl', true);Get::ClientIp()
获取客户端IP
Get::ClientIp();
$ip = Get::ClientIp(false);Get::ClientUA()
获取客户端UA
Get::ClientUA();
$ua = Get::ClientUA(false);Get::FrameworkVer()
获取框架版本
Get::FrameworkVer();
$version = Get::FrameworkVer(false);Get::TypechoVer()
获取Typecho版本
Get::TypechoVer();
$version = Get::TypechoVer(false);分页相关类
Get::PageNav()
获取分页导航
// 默认分页导航
Get::PageNav();
// 自定义分页文本
Get::PageNav('« 上一页', '下一页 »');Get::Total()
获取总数
$total = Get::Total();Get::PageSize()
获取页面大小
$pageSize = Get::PageSize();Get::PageLink()
获取页面链接
Get::PageLink();
Get::PageLink('', 'next'); // 下一页链接Get::CurrentPage()
获取当前页码
$currentPage = Get::CurrentPage();Get::Permalink()
获取页面永久链接
$permalink = Get::Permalink();Get::PageUrl()
获取当前页面URL
// 基本用法
Get::PageUrl();
// 移除端口号
$url = Get::PageUrl(false, true);
// 排除特定参数
$url = Get::PageUrl(false, false, ['page', 'sort']);
// 移除所有查询参数
$url = Get::PageUrl(false, false, null, true);使用示例
完整的文章循环示例
<?php while (Get::Next()): ?>
<article>
<h2><a href="<?php GetPost::Permalink(); ?>"><?php GetPost::Title(); ?></a></h2>
<div class="meta">
<span>作者:<?php GetPost::Author(); ?></span>
<span>发布时间:<?php GetPost::Date('Y-m-d'); ?></span>
<span>分类:<?php GetPost::Category(); ?></span>
</div>
<div class="content">
<?php GetPost::Excerpt(); ?>
</div>
<div class="tags">
<?php GetPost::Tags(); ?>
</div>
</article>
<?php endwhile; ?>用户信息展示示例
<div class="user-profile">
<img src="<?php GetUser::Avatar(128, false); ?>" alt="用户头像">
<h3><?php GetUser::DisplayName(); ?></h3>
<p>用户名:<?php GetUser::Name(); ?></p>
<p>邮箱:<?php GetUser::Email(); ?></p>
<p>网站:<a href="<?php GetUser::WebSite(false); ?>"><?php GetUser::WebSite(); ?></a></p>
<p>注册时间:<?php GetUser::Registered('Y-m-d'); ?></p>
<p>文章数量:<?php GetUser::PostCount(); ?></p>
</div>评论列表示例
<div class="comments-section">
<h3>评论 (<?php GetComment::CommentsNum(); ?>)</h3>
<?php GetComment::CommentsList(); ?>
<?php GetComment::CommentsPageNav(); ?>
<?php GetComment::CommentsForm(); ?>
</div>注意事项
参数说明:大部分方法都支持
$echo参数,当设置为true时直接输出,设置为false时返回值。错误处理:所有类都包含错误处理机制,在出现异常时会返回默认值或空值。
类型声明:方法参数和返回值都有明确的类型声明,使用时请注意类型匹配。
单例模式:部分类使用了单例模式,确保实例的唯一性。
性能考虑:建议在循环中使用返回值模式(
$echo = false),避免不必要的输出缓冲。
