【问题标题】:defining a global function in kohana在 kohana 中定义一个全局函数
【发布时间】:2012-05-16 06:31:59
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

    标签: php kohana


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        <?php
        function yourFunction( ) {
            return 'your result';
        }
        

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

        【讨论】:

          【解决方案4】:

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

          class URL extends Kohana_URL {
          
              public static function encode($uri)
              {
                  // ...
              }
          
          }
          

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

          【讨论】:

            猜你喜欢
            • 2012-06-04
            • 2019-07-03
            • 2018-10-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多