2012-12-15 9 views
3

페이징 Gabor de Mooij 또는 RedBeanPHP에 대해 더 많은 경험이있는 다른 사람. 우리가 가지고있는 현재의 명명 규칙은 밑줄을 사용하고 있습니다. 누구나 파스칼/카멜 케이스를 사용할 수는 있지만 중요한 것은 일관성이며 일관된 명명 패턴을 따르기 위해 모든 것을 리팩터링하고 싶지는 않지만 우리는 우리가 할 수있는 일을 보라.속성 이름 지정 변환

모순되는 이러한 진술 만 있습니다. 아무도이 규칙을 명확히 할 수 있습니까? 또한

enter image description here

, 당신이 생각하거나 모두 소문자에있는 경우 더 말로 특성은 일반적이고 그 못생긴하지 않습니다 DATE_ADDED 또는 dateAdded을?

답변

4

RedBeanPHP는 '민첩한'접근 방식으로 설계되었습니다. 데이터베이스는 RedBeanPHP에 의해 즉석에서 만들어지며, 앱을 코딩하고 고객과 도메인을 논의하는 동안 데이터베이스가 생성됩니다.

그러나 나는 결코 인공적인 제한을 부과하지 않을 것입니다. 밑줄과 대문자를 사용할 수 있습니다. RedBeanPHP는 릴레이션을 검색/저장하기 위해 몇 가지 규칙을 사용합니다. table_id와 table1_table2가 가장 중요한 것입니다.

일부 데이터베이스 OS 조합은 대소 문자를 구분하지 않기 때문에 대문자 테이블 이름을 유지하기가 매우 어려울 수도 있습니다.

RedBeanPHP 3.4 (현재 알파)부터 유효하지 않은 유형 이름으로 Bean을 저장하려고하면 RedBeanPHP가 예외를 발생시킵니다. 그러나 이것은 당신에게 경고하는 것입니다. 이 검사를 무시하려면 setStricTyping (false)을 사용하십시오.

예 :이 그냥 작동합니다

R::setStrictTyping(false); 
$bean = R::dispense('postAddress'); 
$bean->housenumber = '1'; 
R::store($bean); 
$bean = R::dispense('post_address'); 
$bean->house_number = '2'; 
R::store($bean); 

.

상황이 명확 해지기를 바랍니다. 시간이 지나면 문서가 더 구체적으로 업데이트됩니다. 이 문제에 대해 알려 주셔서 감사합니다. 포럼에서 궁금한 점이 있으면 언제든지 문의하십시오. https://groups.google.com/forum/?fromgroups#!forum/redbeanorm

첫 번째 메시지는 포럼에서 승인해야합니다. 그러나 스팸을 멀리 둘 수있는 다른 방법은 없었습니다.

+0

이 솔루션을 확인하십시오. http://stackoverflow.com/a/23020255/218418 –

1

이전 버전에서는 속성 유형에서 밑줄을 사용할 수 있었지만 외래 키와 충돌 할 수 있으므로 권장하지 않았습니다. 나는 그것을 금지하거나 그냥 추천하지 않는 최신 버전에 대해 확신하지 못한다. 진술은 모순이지만 다시 한 번 강조하지만 밑줄을 사용할 수 있다고 생각합니다. 단지 권장하지 않습니다. 이전 버전의

, 모든 외래 키는 <TABLENAME>_id 명명하고 밑줄 <TABLE1>_<TABLE2>과 다 대다 관계로 연결되어 $bean->TABLENAME->TABLEPROPERTY

테이블 이름으로 액세스 할 수 있습니다.

나는 당신 에 redbean의 최신 버전은 이전 버전과 동일합니다 확신합니다,하지만 당신은 밑줄을 사용하여 두 테이블 이름을 속성으로 ****_id이 있거나 결합 할 경우 합병증의 원인이 될 수 있습니다.

내가 아는 한 문제는 문제가 발생할 수있는 유일한 두 가지 사례입니다. 태그 나 기타 속성에 대해 잘 모르겠습니다.

+0

2 개 이상의 단어 속성은 어떨까요? 그들은 밑줄이나 낙타/파스칼 케이스가있는 것으로 제한되어 있습니까? – Jojo