간단한 질문 : PHP 클래스 (예 : 라이브러리 클래스)에 회사 이름을 붙이십니까?접두사에 접두어를 붙이시겠습니까?
예 : "Zend_"로 접두사 접두어를 붙이십시오. 프레임 워크이므로 정상입니다 (충돌을 피하기 위해). 내 회사의 도서관 수업에도 똑같이해야합니까? 갈등이 생길까요?
접두사 (더 짧은 이름) 없이는 사용하기가 더 쉽다고 생각하지만 접두어를 사용하는 것이 좋습니다.
간단한 질문 : PHP 클래스 (예 : 라이브러리 클래스)에 회사 이름을 붙이십니까?접두사에 접두어를 붙이시겠습니까?
예 : "Zend_"로 접두사 접두어를 붙이십시오. 프레임 워크이므로 정상입니다 (충돌을 피하기 위해). 내 회사의 도서관 수업에도 똑같이해야합니까? 갈등이 생길까요?
접두사 (더 짧은 이름) 없이는 사용하기가 더 쉽다고 생각하지만 접두어를 사용하는 것이 좋습니다.
PHP는 namespaces입니다. 모든 것을 접두어로 붙이지 말고 그것들을 사용해야합니다.
적어도 개발자는 클래스 중 하나를 사용하기 시작하기 만하면 MyFrameworkName...
을 계속 입력하지 않아도 고맙다고 말합니다.
아니, 즉이
class MCB_Admin
{
// class contents...
}
$admin = new MCB_Admin;
그러나, 나는 빨리이 불리한 결정을 지금 바로 표준 클래스 이름을 사용, MCB 내 CMS의 모든 클래스를 접두어로 고려했다 있지만.
난 항상 이유로 내 수업을 앞에
심각하게, 명시 적 클래스 이름을 피하는 것이 좋습니다. 정적을 없애고 new
대신 의존성 주입을 사용하면 클래스 이름 지정에 별다른 어려움이 없을 것입니다.
나는 네임 스페이스가 추악하다는 것에 9001 % 동의합니다. 그러나 그들은 아무것도 아닌 것보다 낫다. –
5.2는 문제가 아니며 실제적인 제약이 없으며 단지 이론적 인 질문 만 있습니다. –
예, 있습니다. 나는 네임 스페이스로 전환 할 수 없다. 대부분의 클라이언트가 PHP 5.3을 실행 중이다. 이름 충돌을 피할 수 있다면 조금 더 입력해도 괜찮습니다. 특히 기존 라이브러리의 맨 위에 자체 사용자 정의 라이브러리를 사용하고 있습니다.
우리 회사는 웹 응용 프로그램을 호스팅하며 걱정할 클라이언트 서버 구성은 없습니다. 실용적인 불일치. –
때로는 회사가 웹 응용 프로그램을 호스팅하는 회사이며 업데이트를 의도하지 않습니다. rolleyes : – ZJR
내가 그것을 사는 폴더 이름 내 클래스 이름을 접두사가
<?php
// filename would be "ClassName.php" in directory "directory"
class directory_ClassName{
}
그 방법으로 당신의 클래스를로드 할 필요가 당신을 결코 의미가없는
function __autoload($class_name){
$file = explode("_", $class_name);
$file = 'app/' . implode('/', $file) . ".php";
require_once($file);
}
매우 쉽게 __autoload를 사용하여 만드는, 그 모든 일 자동으로
나는이 작업을 수행하기 위해 사용 했었습니다. 그런 다음 모든 것을 하나의 디렉토리에 덤핑했습니다. 아무것도 "cd"를 타이핑하는 것보다 더 화가났다. :) – pestilence669
+1 : 헝가리 표기법을 피하십시오. http://en.wikipedia.org/wiki/Hungarian_notation –
접두사 수업은 헝가리어 표기법의 일부가 아닙니다. –
부적절한 헝가리 표기법은 피해야합니다. 그러나 진정한 헝가리 인은 특히 PHP와 같은 언어에서 매우 도움이 될 수 있습니다. –