我是 kohana 的新手,也是 php 的新手。
我有一个简单的 URI 编码函数,它模仿 JS %100 的函数,与 PHP 不同。
我想在某些类中使用这个函数,但我不想在每一个类中都定义它。
那么,如何定义一个在所有地方都可以使用的全局函数呢?
(我不想为 3 行代码函数创建一个类)
谢谢!
重载核心URL帮助程序类。将您的函数添加为静态方法。
超越您避免良好的面向对象原则的愿望。创建一个新类并创建一个静态公共函数。不要创建糟糕的旧全局函数。
<?php
function yourFunction( ) {
return 'your result';
}
那个怎么样?只需将其写入始终包含在内的文件中即可。不要仅仅为了认为你在做 OO 而去创建一个静态类,这是没有意义的。
您可以将全局函数放入 bootstrap ( APPPATH/bootstrap.php
),但我建议通过在以下位置创建一个新文件来扩展核心 URL 帮助程序类(假设您使用的是 Kohana 3.x)APPPATH/classes/url.php
:
class URL extends Kohana_URL {
public static function encode($uri)
{
// ...
}
}
几乎总是值得 3 行代码。Kohana 旨在让您覆盖其核心类。您的代码将更易于维护。