类似于上图这样的网页宜忌信息是怎么生成的呢?
本文通过PHP封装黄历类给出一个范例,实现后端生成黄历宜忌信息,然后把后端生成的变量映射到前端模板。
代码演示:
一:引入类
use com\nlf\calendar\util\HolidayUtil;
use com\nlf\calendar\Lunar;
use com\nlf\calendar\Solar;
use com\nlf\calendar\LunarYear;
二:调用类函数
$solar = Solar::fromYmd($yy, $nn, $jj);
$lunar = $solar->getLunar();
$xz = $solar->getXingZuo().'座';
$week = '星期'.$lunar->getWeekInChinese();
$gongli = $yy.'年'.$nn.'月'.$jj.'日';
$chnianyueri = $lunar->toString();//农历
$sx = $lunar->getYearShengXiaoByLiChun();//生肖
$yganzhi = $lunar->getYearInGanZhi();
$nganzhi = $lunar->getMonthInGanZhi();
$jganzhi = $lunar->getDayInGanZhi();
//print_r($chnianyueri);
$jyi = $lunar->getDayYi();
$jji = $lunar->getDayJi();
print_r($yi);
foreach($jyi as $k=>$v){
if(M('mod_huangli')->eventtopy($v)){
$jyihtml .= '<a target="_blank" href="/hdjr/'.M('mod_huangli')->eventtopy($v).'.html">'.$v.'</a>';
}else{
$jyihtml .= $v;
}
}
foreach($jji as $k=>$v){
if(M('mod_huangli')->eventtopy($v)){
$jjihtml .= '<a target="_blank" href="/hdjr/ji-'.M('mod_huangli')->eventtopy($v).'.html">'.$v.'</a>';
}else{
$jjihtml .= $v;
}
}
$daysx = $lunar->getDayShengXiao();
$chong = $lunar->getChongDesc();
$sha = '煞'.$lunar->getSha();
$chong = $daysx.'日冲'.$chong.' '.$sha;
$jishen = $lunar->getDayJiShen();
$jishenhtml = '';
foreach($jishen as $v){
$jishenhtml .= $v.' ';
}
$xiongsha = $lunar->getDayXiongSha();
$xiongshahtml = '';
foreach($xiongsha as $v){
$xiongshahtml .= $v.' ';
}
$taishen = $lunar->getDayPositionTai();
$shenwei = '喜神:'.$lunar->getPositionXiDesc().' 福神:'.$lunar->getPositionFuDesc().' 财神:'.$lunar->getPositionCaiDesc();
$pengzu = $lunar->getPengZuGan().' '.$lunar->getPengZuZhi();
三:引入模板
include template('index','index');
四:前端模板调用变量
<div class="container">
<div class="page-left">
<div class="date-box">
<div class="date-box-bg">
<div class="date">
<div class="l">
<div class="row">
<div class="label">公历</div>
<div class="td">{$gongli}</div>
<div class="td">{$week}、{$xz}</div>
</div>
<div class="row">
<div class="label">农历</div>
<div class="td">{$chnianyueri}</div>
<div class="td">{$yganzhi}年 {$nganzhi}月 {$jganzhi}日</div>
</div>
</div>
<div class="r">
<img src="/statics/pc/images/sx/{$sx}.png">
<span>(生肖{$sx})</span>
</div>
</div>
<div class="clear"></div>
<div class="yiji">
<div class="yi">
{$jyihtml}
</div>
<div class="ji">
{$jjihtml}
</div>
</div>
<div class="yiji-other">
<div class="item">
<span>冲煞:</span>
<p>{$chong}</p>
</div>
<div class="item">
<span>吉神宜趋:</span>
<p>{$jishenhtml}</p>
</div>
<div class="item">
<span>凶煞宜忌:</span>
<p>{$xiongshahtml}</p>
</div>
<div class="item">
<span>胎神位:</span>
<p>{$taishen}</p>
</div>
<div class="item">
<span>财神位:</span>
<p>{$shenwei}</p>
</div>
<div class="item">
<span>彭祖百忌:</span>
<p>{$pengzu}</p>
</div>
</div>
总结
至此,整个页面的主要功能就实现了,调用类函数,实现不同日期的黄历宜忌信息生成,不限制时间,不用调用任何外部接口,本文以及本方法由奥顺互联首发,转载请注明出处!