2012-05-15 54 views
0

我是kohana的新手,也相对于php。在kohana中定义全局函数

我有一个简单的URI编码函数,它模仿JS%100的函数,而不像PHP那样。

我想在某些类中使用这个函数,但我不想在它们中的每一个中定义它。

那么,我怎样才能定义一个全局函数在所有地方使用?

(我不想创建一个类的3行代码的功能)

谢谢!

回答

4

重载核心URL辅助类。添加你的函数作为一个静态方法。

2

凌驾于避免良好面向对象原则的愿望上。创建一个新类并创建一个静态公共函数。不要创建古老的全球功能。

1
<?php 
function yourFunction() { 
    return 'your result'; 
} 

那怎么样?只需将它写入一个总是包含在内的文件中,您就可以轻松前往。不要为了自己在做OO而去创建一个静态类,这没有意义。

0

你可以把你的整体功能在你引导(APPPATH/bootstrap.php)虽然我推荐在APPPATH/classes/url.php延伸通过创建一个新的文件的核心URL辅助类(假设你是在Kohana的3.X):

class URL extends Kohana_URL { 

    public static function encode($uri) 
    { 
     // ... 
    } 

} 

它几乎总是值得3行代码。 Kohana专为您设计,以覆盖其核心课程。您的代码将更易于维护。