2011-02-20 4 views
2

나는 네임 스페이스에 대해 읽었으며, 가장 실용적인 사용법 중 하나가 떠오른다.PHP 네임 스페이스 -보다 효율적인 핵심 기능?

PHP의 핵심 기능과의 충돌을 피하기 위해 네임 스페이스를 사용할 수 있다면 더 빠른 핵심 기능을 가진 라이브러리를 만든 사람이 있다고 생각합니까?

예를 들어, strtotime()이 PHP에서 실제로 느린 경우를 가정 해 봅니다. 누군가는 "아, 이것이 속도가 느린 이유입니다. 모든 사람들이 필요로하는 모든 기능을 갖추고 있습니다!" 네임 스페이스 때문에 충돌이없는 strtotime의보다 효율적인 버전을 출시합니다.

이와 비슷한 것이 있습니까? 나는 네임 스페이스의 요점을 완전히 놓쳤는가?

편집 : 감사합니다.

답변

3

다른 PHP와 PHP 함수 이름과의 충돌을 피하기되지 않은 네임 스페이스의 포인트지만, 암호. 예를 들어 Template이라는 클래스가있는 다른 사람의 템플릿 라이브러리를 사용하는 경우 빌드하는 클래스의 가장 적합한 이름 인 경우에도 직접 템플릿을 만들 수 없습니다. 네임 스페이스를 사용하면 모든 클래스 이름이 자체 버블로 존재합니다. 따라서 \ MyLibrary \ Template과 \ OtherLibrary \ Template을 가질 수 있습니다.

+0

+1 머리에 맞도록합니다. –

3

strtotime과 같은 원시 메소드가 비효율적 인 경우가 아니면 왜 기본 내장 PHP 버전보다 속도가 느려 집니까? (기본 메소드가 업데이트 될 수 있습니다)?

문제가 발생할 때까지 돈을 버려도 사라지지 않을 때까지 성능은 1 마이크로 초마다 걱정하지 마세요.

네임 스페이스에 대한 올바른 사용이 될,하지만이 방법의 핵심 라이브러리를 다시 할 수있는 대규모의 노력을 잘 모르는 것 같아요 것

http://www.codinghorror.com/blog/2008/12/hardware-is-cheap-programmers-are-expensive.html

2

.

SPL은 향상된 라이브러리를 제공하지만 조직을위한 클래스를 사용합니다.

나에게 묻는다면 핵심 PHP 라이브러리의 주된 문제는 어쨌든 성능이 아닙니다. 대부분의 기능은 C 또는 운영체제의 인터페이스에 불과합니다. 무엇 훨씬 더 누르면 것은 규칙 및 매개 변수 순서를 이름이다 ( 그러나 또한 네임 스페이스 접근법을 사용하여 해결 될 수있는 문제)