1

私はクラスを持っています:

class Connect
{
    public function auth()
    {
        ... do something
    }
}

そして私は関数を持っています:getfile.php

<?php
require_once($GLOBALS['path']."connect.php");
?>

私は持っています:connect.php

<?php
function connect( $host, $database )
{
   database connection here
}
?>

この関数をクラス内で次のように使用するにはどうすればよいですか。

class Connect
{
    require_once("getfile.php");
    public function auth()
    {
        connect( $host, $database )
        ... do query
    }
}

これは可能ですか?

ありがとう

4

2 に答える 2

3

その方法でクラスに関数を追加することはできません。

mixinsクラスに追加しようとしている場合は、これを読む必要があります

それ以外の場合は、基本クラス (または抽象クラス) を作成して拡張することにより、標準の OOP プラクティスに固執する必要があります。

class Connect extends Connector
{
  ...
}

class Connector
{
  public function connect($host, $database) {
  ...
  }
}
于 2012-01-20T18:22:35.960 に答える
2

グローバル スコープで宣言された関数は、グローバルに使用できます。したがって、必要な場所に含める必要はありません。スクリプトの先頭に関数を含むファイルを含めるだけです。

第二に、

class Connect
{
    require_once("getfile.php");
    public function auth()
    {
        connect( $host, $database )
        ... do query
    }
}

これはただの冗談です。メソッド外のクラス内で何かを実行することはできません。その特定のファイルがその特定のメソッドで必要な場合にのみ何かを含めたい場合は、次のようにします。

class Connect
{
    public function auth()
    {
        require_once("getfile.php");
        connect( $host, $database )
        ... do query
    }
}
于 2012-01-20T18:23:47.510 に答える