作者yororu (人生啊!)
看板PHP
标题Re: [请益] class和function
时间Wed Sep 5 15:12:40 2012
※ 引述《yororu (人生啊!)》之铭言:
: 我一向写程式都是用function 去做
: 第一点是因为我觉得class的语法对我
: 而言是蛮不熟悉了..
: 看语法能懂..但是要自己去写就觉得本
: 来用function 可以几行就做到的东西..
: 却要写那麽长觉得不喜欢...
: 然後我在某网站也看到
: http://www.phpv.net/html/1453.html
: 执行速度慢很多
: 所以真的不知道在php里用class的优点在那里..
: 还有最近在学很多MVC架构的东西(ex:Codeigniter)..
: 也是觉得明明几个function 就可以做出来..
: 好像要去理解那麽冗长的class和程序
: 然後执行速度很差
: 不知道有没有人能够反驳我的想法呢??
我举一个例子..
在网路上都可以下载到用MVC模组做的CRM系统
然後我在看它的程式的时候..
明明就用一行就可以OK的东西..(要做select资料库的动作)
他就要建一个class 放fuction.
如下:
function SelectDB($dbName)
{
$this->database = $dbName;
$this->databaseName = $dbName;
if ($this->_connectionID) {
return mysql_select_db($dbName,$this->_connectionID);
}else{
return false;
}
}
然後其他程式里有一行如下
if ($argDatabasename) return $this->SelectDB($argDatabasename);
然後不知道为什麽...走到这行就出错..
我在那里debug很久...
最後乾脆全删除用一行
mysql_select_db($dbName,$this->_connectionID);
就都OK了..
我不晓得到底用mvc建构为什麽要写的这麽复杂????
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.150.138
※ 编辑: yororu 来自: 210.61.150.138 (09/05 15:15)
1F:→ tyf99:因为网路上下载的MVC架构,不是只有给你一个人用 09/05 15:23
2F:→ tyf99:obj.database, obj.databaseName 其它人都可能会用到 09/05 15:24
3F:推 LaPass:这是为了弹性、以及後续变动、维护的代价 09/05 15:24
4F:→ tyf99:很多情况下,不是能乾脆全删除这麽简单 09/05 15:24
5F:→ tyf99:你自己手刻MVC,也一样可以刻得很精简 09/05 15:26
6F:→ tyf99:你要写出来给大家用时,就是要符合各种人的需求 09/05 15:27
7F:推 LaPass:说来话长..... 我对这个可是有切身之痛 = = 09/05 15:29
8F:推 gpmm:推一个说来话长…有点想回可是我好懒…(掩面 09/05 15:30
9F:→ tyf99:反正等他想改版,爆个一次就会学乖了 09/05 15:43
10F:→ tkdmaf:都在要求别人要写完美的给你?那你有没有写完美的给人家? 09/05 15:52
11F:→ rocairforce:#1DRRPqjl 突然想到我写过这麽一个莫名其妙的东西 09/05 15:52
12F:→ tkdmaf:何况你说你对class的写法「蛮不熟悉」...... 09/05 15:53
13F:→ tkdmaf:试问不熟悉的话为什麽不先弄懂再来讨论後续的问题? 09/05 15:53
我并不是要求别人写完美的给我..
我只是在想..到网路去下载CRM改和乾脆自己写那个比较好??
还有如果自己写的话需要用到class吗???还是说尽量少用效率会比较好呢??
※ 编辑: yororu 来自: 210.61.150.138 (09/05 16:12)
14F:推 Wush978:你要自己判断这段程式未来会不会重复使用或是会不会改 09/05 16:48
15F:→ Wush978:只用一次的程式码话写ㄧ行收工很好阿 09/05 16:48
16F:→ tkdmaf:所以你以为只要单纯处理资料库运作,不用先过滤? 09/05 17:12
17F:→ tkdmaf:还是你期望所有的过滤机制都是靠自己一个一个刻出来? 09/05 17:12
18F:→ tkdmaf:然後就不打算有效的重覆使用? 09/05 17:12
19F:→ gpmm:呃…楼上冷静一点 = = 09/05 17:13
20F:→ tkdmaf:另外就是你知道重覆使用物件的属性~~~~ 09/05 17:14
21F:→ tkdmaf:有时可以在很多地方套用相同的资料来源而不用重LOAD 09/05 17:14
22F:→ tkdmaf:版主!我很冷静!不用太担心。 09/05 17:14
23F:→ CaptainH:这问题好像和物件导向没什麽关系? 09/05 17:14
24F:→ tkdmaf:我只是认为对class不了解就说他不好这件事,感触很深。 09/05 17:15
25F:→ tkdmaf:要说某件事不好,通常是有很深的体会才说得出口的。 09/05 17:16
26F:→ superpai:...... class在哪里?没看到呀? 09/05 21:01
27F:→ kerash:楼上,他的function是被包在class中,只是没写完整而已 09/05 21:36
28F:→ gname:自己刻+1, 边刻边学习...刻下去才会知道世界是如此的辽阔~ 09/05 23:00
29F:→ Canboo:当以後想偷懒时,你就会自然而然跳到class,现在多说无益 09/06 00:15
30F:→ Canboo:你可以研究一下别人提供的class,如果是你写不用class会不 09/06 00:17
31F:→ Canboo:会比较好用或好写好维护,这种是要用经验和时间去体会的 09/06 00:18
32F:推 rocairforce:我想,如果你的程式是射後不理 那就别class了 09/06 11:00
33F:→ LaPass:射後部里的确用不着这种东西 09/06 11:26
34F:→ yororu:我们公司接的案子都是一般的中小企业网站..要做的东西不是 09/06 17:30
35F:→ yororu:很多..都单纯是一般网页客户意见最新消息还有一些他们要求 09/06 17:31
36F:→ yororu:的功能...我做过大概10几20个网站..大部份都维护2~3年,也有 09/06 17:33
37F:→ yororu:超过5年的..这些网站如果要去用frame做开发起来会很慢..我 09/06 17:34
38F:→ yororu:一开始就是用class去写..後来一直改..本来以为可以重覆使用 09/06 17:35
39F:→ yororu:後来一改再改变得愈来愈宠大..我才放弃那种方法. 09/06 17:36
40F:→ yororu:改成写几支每个网站可能会用到的function 放同一个php里.当 09/06 17:37
41F:→ yororu:要建新网站时直接copy过去..然後也是很快就建好.. 09/06 17:38
42F:→ yororu:是否我写的案子都不够大所以不用使用mvc架构或class呢? 09/06 17:40
43F:→ tkdmaf:这问题在於…你是做网站?还是有系统的网站? 09/06 20:43