如何在类中包含php函数?

时间:2012-01-20 18:19:05

标签: php class function require-once

我有一个班级:

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
    }
}

这可能吗?

感谢

2 个答案:

答案 0 :(得分:3)

您不能以这种方式向类中添加函数。

如果您尝试将mixins添加到课程you should read this

否则,您应该通过创建基类(或抽象类)并扩展它来坚持标准的OOP实践:

class Connect extends Connector
{
  ...
}

class Connector
{
  public function connect($host, $database) {
  ...
  }
}

答案 1 :(得分: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
    }
}