如何在一个类中包含一个 php 函数?
Posted
技术标签:
【中文标题】如何在一个类中包含一个 php 函数?【英文标题】:how to include a php function in a class? 【发布时间】:2012-02-15 06:57:13 【问题描述】:我有一门课:
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
这可能吗?
谢谢
【问题讨论】:
你在尝试的时候遇到了什么困难? 好吧,我什至不确定这是否可能,需要类中的其他函数,包含的函数不是类,那我将如何使用它? 【参考方案1】:在全局范围内声明的函数是全局可用的。因此,您不必在需要的地方包含它,只需在脚本开头包含带有函数的文件即可。
其次,
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
【讨论】:
你认为我可以添加一个_construct
以在每次上课时调用require_once("getfile.php");
?
你可以,但是如果函数应该在全局范围内工作,那么你应该将它包含在全局范围内。如果你只需要在本地,在__construct或者你不想使用的指定方法中进行。【参考方案2】:
您不能以这种方式将函数添加到类中。
如果您尝试将mixins
添加到课程中,请使用you should read this。
否则,您应该通过创建基类(或抽象类)并扩展它来坚持标准的 OOP 实践:
class Connect extends Connector
...
class Connector
public function connect($host, $database)
...
【讨论】:
以上是关于如何在一个类中包含一个 php 函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自定义 .php 文件中包含 WordPress 函数?