PHP自动生成后台导航网址的最佳方法

yipeiwu_com7年前PHP代码库
经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。
最终积累了这种最写法,算是最好的吧。附上截图和代码如下(PHP+HTML)
 
复制代码 代码如下:

<?php

$linkArr = array(
'index.php' => '汇总首页',
'List.php' => '列表',
'Detail.php' => '详细',
'http://qzone.qq.com/' => 'QQ空间',
'http://qun.qzone.qq.com/group'=> '腾讯群首页',
'login.php?act=logout' => '安全退出',
);
?>



<?php
foreach($linkArr as $k => $v)
{
if(basename($k) == basename($_SERVER['PHP_SELF']))
{
$class = ' class="curr-ac"';
if(!defined('PAGE_TITLE')) define('PAGE_TITLE', $v);
} else {
$class = '';
}
echo '<input type="button" value="'.$v.'" '.$class.' name="ac-button" _url="'.$k.'" onclick="Daohang(this)" />';
}
?>
<script>
var PAGE_TITLE = <?php echo json_encode(defined('PAGE_TITLE') ? PAGE_TITLE : '');?>;
if(PAGE_TITLE) document.title = PAGE_TITLE + ' ' + document.title;
function Daohang(obj)
{
var url = obj.getAttribute('_url');
if(/^https?:\/\/.+/i.test(url))
{
window.open(url,'');
} else {
window.location = url;
}
}
</script>

当然你也可以分开写。看自己如何应用。

相关文章

php使用环形链表解决约瑟夫问题完整示例

本文实例讲述了php使用环形链表解决约瑟夫问题。分享给大家供大家参考,具体如下: 约瑟夫问题: Josephu问题为:设编号为1,2,...n的n个人围坐一圈,约定编号为k(1<=...

php curl发送请求实例方法

cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,...

PHP中preg_match正则匹配中的/u、/i、/s含义

PHP中preg_match正则匹配的/u /i  /s是什么意思 /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式...

浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)

浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)

一:Mcrypt简介Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleD...

详解json在php中的应用

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() 该函数主要用来将数组和对象,转换...