예를 들어 $_GET
에는 id=10, var=100
이 포함됩니다. 어떻게 생성자에 추출하고 전달할 수 있습니까? public function __construct($id, $var)
이와 비슷한 것 new Test(extract($_GET));
답변
생성자를 __construct ($ array)로 변경하십시오. 그리고 당신이 construtor 내에서 변수를 설정합니다. 그것은 꽤 아니지만 나는 그것을 권하지 않겠지 만 효과가있을 것입니다.
추천 하시겠습니까? – Tuco
URL에서 찾고자하는 값이 무엇인지 알 것 같습니까?
PHP에서 $ _GET은 단지 연관 배열입니다. 내 URL은 다음과 같습니다 그렇다면 :
http://example.com/index.php?var1=foo&var2=bar
난과 같이이 변수를 얻을 수 있습니다 :
내 URL 표시 줄을 변경 저를 예방하는 안전 장치가 없기 때문에new Test($_GET['var1'], $_GET['var2']);
는 $ _GET에주의
http://example.com/index.php?var1=foo&var2=[malicious code]
그래서 항상 신뢰할 수없는 것으로 취급해야합니다.
그는 키와 값을 생성자에 전달하기를 원합니다. 뿐만 아니라 가치. – Rasika
그건 내가 어떻게 질문을 읽지 않았는가 ... –
$_GET
은 연관 배열입니다. 따라서 key을 $_GET
에서 가져 와서 변수 이름을 얻을 수 있습니다. 그 값은 분명히 $_GET['key']
ReflectionMethod
reflection API에서 __construct()
방법의 서명을 확인하십시오.
class MyClass {
public function __construct($id, $title, $slug = null) {
var_dump($id, $title, $slug);
}
}
$object = new MyClass();
$method = new ReflectionMethod($object, '__construct');
$parameters = $method->getParameters();
$parameters
는 ReflectionParameter
오브젝트의 배열을 포함한다. 그렇지 않다면 당신은 몇 가지 조건을 추가해야 물론
$invokeParameters = array();
foreach ($parameters as $parameter) {
$value = $_REQUEST[$parameter->getName()];
$invokeParameters[$parameter->getPosition()] = $value;
}
$method->invokeArgs($object, $invokeParameters);
은, 모든 필수 매개 변수 $_REQUEST
내에 존재 여부를 던져 예외를 확인 :
이제 ReflectionMethod::invokeArgs()
에 의해 사용되는 매개 변수의 배열을 준비해야
- 1. SQL에서 매개 변수를 전달하십시오.
- 2. ApplicationBarIconButton에 매개 변수를 전달하십시오.
- 3. $ _GET 매개 변수를 사용하지 않음
- 4. AJAX를 통해 CodeIgniter 모델에 Javascript $ _GET 변수를 전달하십시오.
- 5. 다른 매개 변수를 IBAction에 전달하십시오.
- 6. 선택기를 통해 매개 변수를 전달하십시오
- 7. 페이지에서 ActiveX로 매개 변수를 전달하십시오.
- 8. POST 변수를 PHP 실행 파일에 전달하십시오.
- 9. $ _GET 매개 변수를 전달하는 mod_rewrite 가져 오기?
- 10. 매개 변수를 전달하기 위해 ->() $ _GET
- 11. 슈퍼 생성자에 대한 매개 변수를 준비하십시오.
- 12. 다른 탭에서 활동을 실행하십시오. 매개 변수를 전달하십시오.
- 13. flex 구성 요소에 매개 변수를 전달하십시오.
- 14. 동일한 페이지를 다시로드하여 다른 매개 변수를 전달하십시오.
- 15. 동적으로 카운터 변수를 전달하십시오.
- 16. 매개 변수를 기본 클래스 생성자에 전달하거나 인스턴스 변수를 사용합니까?
- 17. $ _GET 변수를 얻는 정규식
- 18. 403는 $ _GET 매개 변수
- 19. jquery 함수에 대해 2 개의 매개 변수를 전달하십시오.
- 20. $ .ajax 성공 함수에 두 개의 매개 변수를 전달하십시오.
- 21. .htaccess가 $ _GET 매개 변수와 충돌합니다.
- 22. $ _GET 매개 변수가있는 PHP xmlparser
- 23. 변수를 jQuery 함수에 전달하십시오.
- 24. 변수를 함수에 전달하십시오.
- 25. 레일스 테스트에서 POST 매개 변수를 어떻게 지정합니까?
- 26. wfetch에서 POST 매개 변수를 지정하는 방법
- 27. symfony 1.4 POST 매개 변수를 얻는 방법?
- 28. header()에 POST 매개 변수를 보냅니 까?
- 29. POST 매개 변수를 기반으로하는 MVC 경로
- 30. XSS 및 기타 공격을 피하기 위해 $ _GET 매개 변수를 sanitize
몇 가지 허용되는 답변을 $ _POST 할 수 있습니다. –
예, 도움이되었거나 정확하다고 대답하면 대답을 수락하십시오. 또한 키와 값 또는 값만 전달 하시겠습니까? –