PHP 板


LINE

看板 PHP  RSS
在PHP中如果重复定义 function 或 class 的话 通常都会报 can't redeclare function() 的 error 我的状况是我有两个档案专门放置 function (a.php , b.php) 但是这两个档案被 include 的时机都不一样(主要有 get 跟 parse 资料) 就因为都要 get + parse 我自订的资料, 所以这两个档案里面分别都会有某些相同功能的 function 而目前突然需要一个得同时使用 a+b.php 的状况 当然同时 include 後就出现 redeclare 的警告了 最简单的方法当然是使用 function_exists 来查 但是这样函式一多或者在维护时就会很乱 目前想到的就是又再开一个档案来存放这些共用的 function 只是麻烦在 a 跟 b 是存放不同资料夹,所以在调用时怕会有路径问题 所以想问各位如果再遇到这种状况时(虽然不多) 有甚麽比较好的解决方法吗? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.30.6
1F:→ MOONRAKER:用class包 04/03 15:26
2F:→ kerash:由於我套用的函式好几十个了= =" 一时之间要转成class可能 04/03 16:14
3F:→ kerash:有点困难,再加上我还有写一些给其他人抓资料的api跟档案.. 04/03 16:15
4F:→ kerash:如果是单一些函式转成 CLASS 的话我会试试看 .. 04/03 16:15
5F:→ kerash:另外某些函式我有刻意用 include 跟 global var 04/03 16:16
6F:→ kerash:这部分使用上会有问题吗? 04/03 16:16
7F:→ MOONRAKER:不是单个函式转,是同一族的函式统统包进class。这样你 04/03 17:23
8F:→ MOONRAKER:起码可以用$a->convert()和$b->convert()这样来避过。 04/03 17:24
9F:→ MOONRAKER:但是你如果已经走到一半很难转那我就不知道了。 04/03 17:24
10F:→ kerash:恩= =" 因为不好转,当时为了方便全部都只写 function... 04/03 17:42
11F:→ kerash:因为还有包含一些全域变数,如果要塞进 class 不好塞 04/03 17:42
12F:推 tyf99:相同的 function,何不分到 c.php 去? 04/03 19:39
13F:→ kerash:这在我倒数第三段有提到,因为两个分的是不同的资料夹 04/03 19:40
14F:→ kerash: ^二 04/03 19:40
15F:→ kerash:有时候又是为了让其他主机抓资料有用 curl,路径问题很大 04/03 19:41
16F:→ kerash:为了抓路径我已经加一些判断式使用了(不知道为什麽相对路径 04/03 19:41
17F:→ kerash:在这台主机上我一直搞不定= =") 04/03 19:41
18F:→ tyf99:或是宣告 function 前都用 if(function_exists(func)) 检查 04/03 19:41
19F:→ tyf99:原来你自己都提过了...= = 04/03 19:43
20F:→ tyf99:你不是都已经知道解法了,是上来问偷懒的办法吗? 04/03 19:43
21F:→ tyf99:分出去c.php最省力,a.php和b.php里面再include(c.php) 04/03 19:47
22F:→ tyf99:也可以两个资料夹都放 symbolic link to c.php 04/03 19:47
23F:→ kerash:如果要偷懒的方法我就直接另外开一个档案把我要的丢进去 04/03 19:56
24F:→ kerash:再直接 include 该档案就好啦 ... 04/03 19:56
25F:→ kerash:我是要确认是不是有更好的方法或者我疏漏的地方 04/03 19:57
26F:→ kerash:因为这次遇到的只是临时性的新功能,不是主站用的,但是未 04/03 19:58
27F:→ kerash:来可能会透过这个方式继续存取一些资料给其他网站後台 04/03 19:58
28F:→ kerash:所以要确认以後不会出错 04/03 19:58







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP