0

我是 kohana 的新手,也是 php 的新手。

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

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

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

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

谢谢!

4

4 回答 4

4

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

于 2012-05-15T14:28:19.680 回答
2

超越您避免良好的面向对象原则的愿望。创建一个新类并创建一个静态公共函数。不要创建糟糕的旧全局函数。

于 2012-05-15T14:29:44.793 回答
1
<?php
function yourFunction( ) {
    return 'your result';
}

那个怎么样?只需将其写入始终包含在内的文件中即可。不要仅仅为了认为你在做 OO 而去创建一个静态类,这是没有意义的。

于 2012-05-15T15:02:55.423 回答
0

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

class URL extends Kohana_URL {

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

}

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

于 2012-05-15T22:31:59.733 回答