Php 使函数中的变量可供其他函数访问?
在一个函数中,我有一个$connection变量,它显然存储了我与mysql的连接, 如何从其他函数内部调用该var,以避免在需要该var的每个函数内部粘贴$connection var 我试过了,但没有用Php 使函数中的变量可供其他函数访问?,php,function,variables,scope,Php,Function,Variables,Scope,在一个函数中,我有一个$connection变量,它显然存储了我与mysql的连接, 如何从其他函数内部调用该var,以避免在需要该var的每个函数内部粘贴$connection var 我试过了,但没有用 非常感谢将连接作为参数传递给需要它的函数。它使代码保持干净和可重用。将连接作为参数传递给需要它的函数。它使您的代码保持干净且可重复使用。您可以使用旧的全局关键字 function a() { global $connection; } 或者您可以将它放入$GLOBALS(这将帮助您从
非常感谢将连接作为参数传递给需要它的函数。它使代码保持干净和可重用。将连接作为参数传递给需要它的函数。它使您的代码保持干净且可重复使用。您可以使用旧的
全局
关键字
function a() {
global $connection;
}
或者您可以将它放入$GLOBALS
(这将帮助您从中定义的函数中获取它)
他们两个都不太漂亮
或者可以将$connection
作为参数传入
处理数据库连接最常用的方法是使用单例模式来处理其创建,或者使用一个带有OO的基类,该基类具有一个
$this->db
,您的所有其他类都可以从中继承。您可以使用旧的全局
关键字
function a() {
global $connection;
}
或者您可以将它放入$GLOBALS
(这将帮助您从中定义的函数中获取它)
他们两个都不太漂亮
或者可以将$connection
作为参数传入
处理数据库连接最常见的方法是使用单例模式来处理其创建,或者使用一个具有可用的
$this->db
的OO基类,所有其他类都可以继承该基类。另一种解决方案是使用类并将连接设为类变量。每次需要时,您只需使用$this->connection
,但如果您已经在许多文件中编写了大量代码,那么这并不是一个真正的解决方案。另一个解决方案是使用类并将连接设为类变量。每次需要时,您只需使用$this->connection
,但如果您已经在许多文件中编写了大量代码,那么这并不是一个真正的解决方案。在函数外部声明变量,然后使用global关键字在您需要的每个函数内部访问它
$globalName = "Zoe";
function sayHello() {
$localName = "Harry";
echo "Hello, $localName!";
global $globalName;
echo "Hello, $globalName!";
}
sayHello();
从在函数外部声明变量,然后使用全局关键字在每个需要的函数内部使其可访问
$globalName = "Zoe";
function sayHello() {
$localName = "Harry";
echo "Hello, $localName!";
global $globalName;
echo "Hello, $globalName!";
}
sayHello();
从+1中窃取,尽管您提到单例模式很有趣,因为它非常类似于全局变量…;)+1尽管您提到单例模式很有趣,因为它非常类似于全局变量…;)