PDO 객체에 대한 참조를 반환하는 함수를 작성하려고합니다. 참조를 원한다면 어떤 이유로 PDO 객체가 한 페이지로드에서 두 번 호출되면 새로운 객체를 초기화하는 대신 동일한 객체를 반환하게됩니다. 바보가 아니지? :/변수 $foo
에 대한 참조를 만들려면 그PHP 함수가 참조 변수를 반환합니다.
1
A
답변
1
같은
function &getPDO()
{
var $pdo;
if (!$pdo)
{
$pdo = new PDO...
return $pdo;
}
else
{
return &pdo;
}
}
뭔가, 이렇게 :
$bar =& $foo;
그런 return
$ 줄을.
3
static $pdo;
을 사용하십시오.
function getPDO()
{
static $pdo;
if (!$pdo)
{
$pdo = new PDO...
}
return $pdo;
}
2
객체는 항상 PHP에서 참조에 의해 전달 있습니다. 예 :
class Foo {
public $bar;
}
$foo = new Foo;
$foo->bar = 3;
myfunc($foo);
echo $foo->bar; // 7
function myfunc(Foo $foo) {
$foo->bar = 7;
}
값으로 전달되는 것은 비 객체 (스칼라, 배열)입니다. References Explained을 참조하십시오.
함수와 관련하여 변수를 정적으로 만들어야합니다. var
은 그래서 PHP 5에서 더 이상 사용되지 않습니다 :
function getFoo() {
static $foo;
if (!$foo) {
$foo = new Foo;
}
return $foo;
}
없음 앰퍼샌드가 필요하지 않음.
Objects and references도 참조하십시오.
+0
** 사실이 아닙니다 **, 전달되는 것은 참조가 아닌 식별자의 사본입니다. . 연결된 링크가 첫 번째 파라에서 설명합니다 ... – Pacerier
0
당신은 이것이
function getPDO() { static $pdo; if (!$pdo) { $pdo = new PDO... } return $pdo; }
관련 문제
- 1. PHP 함수가 0을 반환합니다.
- 2. PHP 함수가 일치하거나 일치하지 않음을 반환합니다.
- 3. C++ 접두사 오버로드에서 참조 변수를 반환합니다.
- 4. session_decode 결과에서 PHP 참조 변수를 얻는 방법
- 5. 함수가 참조 또는 객체를 반환해야합니까?
- 6. VBScript : 함수가 배열을 반환합니다.
- 7. JQuery Ajax 함수가 반환합니다.
- 8. floor 함수가 EXC_BAD_ACCESS를 반환합니다.
- 9. PowerShell 함수가 동작을 반환합니다.
- 10. "header()"PHP 함수가 전역 변수를 설정 해제합니까?
- 11. 폼에서 모든 변수를 호출하는 PHP 함수가 있습니까?
- 12. 함수가 int에 대한 포인터를 반환합니다.
- 13. 함수가 return 문없이 값을 반환합니다.
- 14. MAPIMessage의 getdate 함수가 ChunkNotFoundException을 반환합니다.
- 15. PHP Uploadprogress 확장 함수가 업로드 데이터가없는 null을 항상 반환합니다.
- 16. 메서드가 잘못된 변수를 반환합니다
- 17. Drupal 7 autocomplete_path 함수가 숨겨진 값을 반환합니다.
- 18. Django에서 추가 컨텍스트 변수를 반환합니다.
- 19. Tabexpansion 함수가 변수를 해결하지 않음
- 20. 함수가 CSV 파일을 반환합니다. 검사하는 방법은 무엇입니까?
- 21. Getdate() 함수가 DateTime.Now와 다른 결과를 반환합니다.
- 22. RemoteViews addView 함수가 AppWidget에서 오류를 반환합니다.
- 23. 함수가 "없음"대신 "솔루션 없음"을 반환합니다
- 24. Linq : 간단한 부울 함수가 linq 예외를 반환합니다.
- 25. PHP의 cUrl 함수가 잘못된 문자를 반환합니다.
- 26. jquery 참조를 추가하면 이전 함수가 'undefined'오류를 반환합니다.
- 27. Wordpress 함수가 플러그인에서 흰 화면을 반환합니다.
- 28. C# 함수가 일반 객체/엔티티를 반환합니다.
- 29. MySQL 함수가 1 행 이상을 반환합니다.
- 30. 재귀 함수가 예기치 않은 결과를 반환합니다.
'&$pdo;을 반환'구문 오류처럼 작성합니다. 'return $ pdo;'를해야합니다. '&'기호는 함수 선언에서만 사용되며 반환 할 때는 사용되지 않습니다. – Pacerier