在kohana中定义全局函数

时间:2012-05-15 12:10:35

标签: php kohana

我是kohana的新手,也是相对于php的新手。

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

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

那么,我如何定义一个在所有地方使用的全局函数?

(我不想为3行代码函数创建一个类)

谢谢!

4 个答案:

答案 0 :(得分:4)

重载核心URL助手类。将您的函数添加为静态方法。

答案 1 :(得分:2)

忽略了避免良好OO原则的愿望。创建一个新类并创建一个静态公共函数。不要创建糟糕的全局函数。

答案 2 :(得分:1)

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

怎么样?只需将其写入一个总是包含在内的文件中,就可以了。不要只是为了认为你在做OO而做静态课,没有意义。

答案 3 :(得分:0)

您可以将全局函数放在引导程序(APPPATH/bootstrap.php)中,但我建议通过在APPPATH/classes/url.php创建新文件来扩展核心URL帮助程序类(假设您使用的是Kohana 3.x) :

class URL extends Kohana_URL {

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

}

几乎总是值得3行代码。 Kohana旨在覆盖其核心类。您的代码将更易于维护。