开发者

Functions vs OOP question

I have just started studying OOP and I am a little confused of the benefits of doing either functions or OOP. I understand OOP is much more versatile in organ开发者_运维百科izing your code, but for example, I have 50 lines of code, that occur on 7/10 pages of my site. Is it better to create a file and put a function in the file, and then use an include, or do the same with a class? Furthermore, is it better, to mass classes into one file and include it? If anyone has a bit of insight that may help clear up my confusion, I would really appreciate it.


The appropriate metric is usefulness.

If this code does just one thing, accepts a few input parameters, and returns a single result, then it's a function.

If the code can collect data, and does something tricky on this data, and you can specifically reuse results or get different results, then turn it into an object.


If you have a 50 line function and that's all there's nothing wrong with putting it into a file and including it on your pages.

The benefits of OOP come when you have more code. And it's standard practice to have one class per file.


Almost all "utility" functions can be grouped together by functionality. You start off with one or two... and end up with a file full of a hundred miscellaneous functions. So I would never use global functions for reusable code. Instead, consider:

<?php 
class Group
{
  static public function func1() { }
  static public function func2() { }
}

Group::func1();
?>

In PHP 5.3, you can use namespaces instead:

<?php
namespace Group;

function func1() { }
function func2() { }
?>

<?php
// from a different file / global namespace:
Group\func1();
?>

Now regarding using classes vs functions... It's simple. If some group of functions "own" data or need to remember some sort of state, you almost definitely want to use a class.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜