跳转地址栏的简写
刚遇到个郁闷的问题:我在一个栏目里写的 跳转路径是admin.php/admin/host/clearbase
这个 万一我哪天要想起来改掉入口文件,岂不是各个都要改?
所以 我决定把入口文件单独提出来 也就是模板的输入, 不过想想,我何不用绝对地址进行跳转地址的写入?
为啥要这样呢?要用绝对地址?
在写这个的时候, 因为绝对地址较相对地址比较安全;
那么,问题来了:
第一: 怎么弄出来绝对地址的路径?我想了想,
1.先在 加载 判断login的文件中Base.php 加入一个 获取 域名的方式,gethost
2 在做login 判断的时候 进行赋值【就是调用这个gethost 方法】,存入到 base 本身的变量中 $host ,
3.接着在需要的方法中 使用assign 输出这个值【当时懒 存的都是数组】
4.在模板中展示
public function gethost()
{
// 存出主站信息 读取信息后 存出信息
$this->host =Webset::get(1)->getData();
return $this->host;
}
public function _initialize(){
$this->host = Webset::get(1)->getData();
if(!Session::has('admin')){
$this->error('登录超时,请重新登录','http://www.laomo.com/admin.php/admin-login');
}
}Base.php
public function index()
{
//先取出主站信息,然后赋值给模板 模板赋值
$this->assign('host',$this->host);
return $this->fetch();
}Home.php
<div class="layui-logo" lay-href="home/console.html">
<span>{$host['title']}</span>
</div>
<ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
<li data-name="home" class="layui-nav-item layui-nav-itemed">
<a href="javascript:;" lay-tips="主页" lay-direction="2">
<i class="layui-icon layui-icon-home"></i>
<cite>主页{$Think.config.myadmin['a']}</cite>home/index.html
然后我就想到了入口文件 使用变量给替换掉, 【就是字符串的替换】
我当时很简单的想到了一个想法, 我在 config 中丢入一个数组, 里面全是我自己定义的东西,
然后我在模板中 使用 下面这句丢出 我的配置项别说真TM的长
{$Think.config.myadmin['a']}
不得不说,我脑袋里都是些啥?
然后呢,我又想到了 动态配置配置项,因为动态配置,那么也就无需在申明变量啥的了,可以配置完后直接在模板中输出配置项
public function _initialize(){
// 动态配置
Config::set('host',Webset::get(1)->getData());;
if(!Session::has('admin')){
$this->error('登录超时,请重新登录','http://www.laomo.com/admin.php/admin-login');
}
}
比较好玩的是: 我后来想想,如果我在login 的判断请求之前就配置,则默认每一次请求我都在重新配置,那就不对了;不可能我访问一遍就链接一遍数据库动态配置一项。
然后我决定在 base 中添加属性 $host既然别的控制器都是继承这个类,那我就在这个类里加给gethost 方法,这个方法的作用是给host 赋值成一条数组,然后返回host
在别的类中,我若调用 则直接调用$this->gethost() 方法;
页:
[1]