目录
回复讨论(解决方案)
首页 后端开发 php教程 【帮分析】这样用OOP是错误的吗?PHP的一个OOP报错~

【帮分析】这样用OOP是错误的吗?PHP的一个OOP报错~

Jun 23, 2016 pm 02:06 PM

作用:根据指定ID返回数据(网址)
代码:

1

<?phpclass UrlPath{    protected $db = $GLOBALS['db']; //报错    protected $ecs = $GLOBALS['ecs']; //报错 <b>Parse error</b>:  parse error, unexpected T_VARIABLE in <b>PHPDocument1</b> on line <b>6</b><br />    //表 goods    public function Goods($goods_id)    {        $sql = "SELECT g.goods_id,c.file_dir,c.parent_id,c.is_show AS c_is_show,g.is_show AS g_is_show ".        " FROM ".self::$ecs->table('goods')." g ".        " LEFT JOIN ".self::$ecs->table('category')." c ON g.cat_id=c.cat_id ".        " WHERE g.goods_id='$goods_id' ";        $rs = self::$db->getRow($sql);        $arr = array();        if(!empty($rs))        {            $arr['savepath'] = ($rs['g_is_show'] == 1 && $rs['c_is_show'] == 1) ? '/product/'.($rs['file_dir'] ? $rs['file_dir']:$rs['cat_id']).'/'.$rs['goods_id'].'.html' : '';            $arr['remoteurl'] = '/goods.php?id='.$rs['goods_id'];        }        return $arr;    }    //表 category    public function Category($cat_id,$page = 1)    {        $sql = "SELECT c.cat_id,c.file_dir,c.parent_id,c.is_show ".        " FROM ".self::$ecs->table('category')." c ".        " WHERE c.cat_id='$cat_id' ";        $rs = self::$db->getRow($sql);        $arr = array();        if(!empty($rs))        {            $arr['savepath'] = $rs['is_show'] == 1 ? '/product/'.($rs['file_dir'] ? $rs['file_dir']:$rs['cat_id']).'/index'.($page > 0 ? '-'.$page:'').'.html':'';            $arr['remoteurl'] = '/category.php?id='.$rs['cat_id'].'&page='.$page;        }        return $arr;    }    //表article    public function Article($article_id)    {        $sql = "SELECT a.article_id,c.cat_id,c.file_dir,c.is_open AS c_is_open ".        " FROM ".self::$ecs->table('article')." a ".        " LEFT JOIN ".self::$ecs->table('article_cat')." c ON a.cat_id=c.cat_id ".        " WHERE a.article_id='$article_id' ";        $rs = self::$db->getRow($sql);        $arr = array();        if(!empty($rs))        {            $arr['savepath'] = $rs['is_open'] == 1 ? '/article/'.($rs['file_dir'] ? $rs['file_dir']:$rs['cat_id']).'/'.$rs['article_id'].'.html' : '';            $arr['remoteurl'] = '/article.php?id='.$rs['article_id'];        }        return $arr;    }    //表    public function ArticleCat($cat_id,$page = 1)    {        $sql = "SELECT c.cat_id,c.file_dir,c.parent_id ".        " FROM ".self::$ecs->table('article_cat')." c ".        " WHERE c.cat_id='$cat_id' ";        $rs = self::$db->getRow($sql);        $arr = array();        if(!empty($rs))        {            $arr['savepath'] = '/article/'.($rs['file_dir'] ? $rs['file_dir']:$rs['cat_id']).'/index'.($page > 0 ? '-'.$page:'').'.html';            $arr['remoteurl'] = '/article_cat.php?id='.$rs['cat_id'].'&page='.$page;        }        return $arr;    }}

登录后复制



用法:

1

$arr = UrlPath::Goods(1024);print_arr($arr);

登录后复制


另外:开头有一个报错,不能这样写?  procted $db = $GLOBALS['db'];


提问:
一:我想使用UrlPath::Goods($goods_id) 这样的方式获得指定的网址和静态地址,
如何在“类” UrlPath 中不初始化这个类就可以使用公用的 $db 和 $ecs ? 

二:我的这个写法是不是有点问题?~ 另外那里为什么会报错了?以前貌似可以这样写。?




回复讨论(解决方案)

类变量不能使用变量的值来声明,需要额外写一个架构函数__construct来赋值

楼上说的对。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

11个最佳PHP URL缩短脚本(免费和高级) 11个最佳PHP URL缩短脚本(免费和高级) Mar 03, 2025 am 10:49 AM

11个最佳PHP URL缩短脚本(免费和高级)

在Laravel中使用Flash会话数据 在Laravel中使用Flash会话数据 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash会话数据

简化的HTTP响应在Laravel测试中模拟了 简化的HTTP响应在Laravel测试中模拟了 Mar 12, 2025 pm 05:09 PM

简化的HTTP响应在Laravel测试中模拟了

构建具有Laravel后端的React应用程序:第2部分,React 构建具有Laravel后端的React应用程序:第2部分,React Mar 04, 2025 am 09:33 AM

构建具有Laravel后端的React应用程序:第2部分,React

Instagram API简介 Instagram API简介 Mar 02, 2025 am 09:32 AM

Instagram API简介

php中的卷曲:如何在REST API中使用PHP卷曲扩展 php中的卷曲:如何在REST API中使用PHP卷曲扩展 Mar 14, 2025 am 11:42 AM

php中的卷曲:如何在REST API中使用PHP卷曲扩展

在Codecanyon上的12个最佳PHP聊天脚本 在Codecanyon上的12个最佳PHP聊天脚本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12个最佳PHP聊天脚本

Laravel中的通知 Laravel中的通知 Mar 04, 2025 am 09:22 AM

Laravel中的通知

See all articles