_()
PHP 함수를 재정의하여 하나 이상의 인수를 지원하고 싶습니다. 그것은 PHP 코드를 사용하여 가능합니까?기본 PHP 함수를 재정의 할 수 있습니까?
3
A
답변
1
Runkit extension을 사용하여 가능합니다.
그러나 일반적으로 단위 테스트와 같은 기능을 사용하는 경우를 제외하고는 일반적으로 좋은 아이디어로 간주되지 않습니다.
일반적인 용도로는 코드를 유지 관리하기가 어려워 디버그 문제를 열어주기 때문에 기본 제공 함수를 재정의해서는 안됩니다.
또한 Runkit 확장은 '실험적'으로 표시되어 실제 생산 시스템에서는 을 사용하지 않아야합니다.
3
아니요. 그러나 PHP 버전이 5.3.0 이상인 경우 namespacing을 사용할 수 있습니다.
1
runkit extension을 시도해 볼 수는 있지만 프로덕션 환경에서는 좋지 않은 것으로 간주됩니다. 또한 Redefining PHP function?
1
정말하지 마! 이 프로젝트의 유일한 개발자이고 프로젝트가 성공하지 못한다는 것을 알고 있더라도 코드가 사용되는 시간 (결코 생각보다 훨씬 길다)을 결코 알 수 없습니다. 다른 개발자가 코드에 익숙해 져야한다면 PHP 자체에 의존 할 수 없기 때문에 매우 힘든 시간을 보게 될 것입니다.
더 나은 방법은 자신의 메서드/함수를 작성한 다음 덮어 쓸 PHP 함수를 호출하는 것입니다. 이 방법은 개발자가 즉시 표준 PHP 함수가 아니라는 것을 알 수 있습니다. PHP가 이후 버전에서 다른 매개 변수를 허용하더라도 깨끗한 솔루션을 제공합니다.
관련 문제
- 1. 기본 함수를 재정의 하시겠습니까?
- 2. 생성 된 함수를 재정의 할 수 있습니까?
- 3. (monkeypatch) PHP 함수를 대체 할 수 있습니까?
- 4. 상속 : 기본 클래스 데이터 멤버를 재정의 할 수 있습니까?
- 5. Glassfish v3의 기본 로깅을 재정의 할 수 있습니까?
- 6. ASP.NET MVC에서 [Authorize]의 기본 동작을 재정의 할 수 있습니까?
- 7. PHP 내장 함수 echo()를 재정의 할 수 있습니까?
- 8. IIS에서 customErrors를 재정의 할 수 있습니까? (7.0)
- 9. rebol 경로 연산자를 재정의 할 수 있습니까?
- 10. Model.objects.all() 메서드를 재정의 할 수 있습니까?
- 11. BorderBrush를 어떻게 재정의 할 수 있습니까?
- 12. 하나가 HttpContext.Current.Request.Url.AbsoluteUri를 재정의 할 수 있습니까?
- 13. 내보기에서 캔버스를 어떻게 재정의 할 수 있습니까?
- 14. Groovy에서 캐스트 연산자를 재정의 할 수 있습니까?
- 15. 병합 모듈의 동작을 재정의 할 수 있습니까?
- 16. system.serviceModel 구성 섹션을 재정의 할 수 있습니까?
- 17. String # 길이를 재정의 할 수 있습니까?
- 18. Controller ActionAttribute를 재정의 할 수 있습니까?
- 19. UICegmentedControl에 대한 UIControlEventTouchUpInside를 재정의 할 수 있습니까?
- 20. 숨겨진 방법을 재정의 할 수 있습니까?
- 21. 장고 모델에서 .objects를 재정의 할 수 있습니까?
- 22. Clojure에서 Java 메소드를 재정의 할 수 있습니까?
- 23. DJango에서 검색어를 재정의 할 수 있습니까?
- 24. 메서드를 람다 함수로 재정의 할 수 있습니까?
- 25. @ Html.LabelFor 템플릿을 어떻게 재정의 할 수 있습니까?
- 26. JavaScript가 PHP 함수를 직접 호출 할 수 있습니까? 아니면 함수를 호출하기 위해 별도의 PHP 파일이 필요합니까?
- 27. php 함수를 파싱 할 수있는 함수가 있습니까?
- 28. php : 클래스 메소드 내부에서 함수를 생성하고 호출 할 수 있습니까?
- 29. 기본 관리자 모델 양식 django를 재정의 할 수 없습니다
- 30. 함수를 PHP 배열에 저장할 수 있습니까?
나쁜 습관과 위험한 - 지난 버전은 2006입니다. –
@WesleyvanOpdorp 저의 대답은 그렇다고 대답했지만, 여전히 질문에 대한 답변입니다. – Fabio
죄송합니다. 의견 시작시 '뿐만 아니라'을 추가해야합니다. –