>  기사  >  백엔드 개발  >  우아한 프로그래밍이란 무엇입니까? 우아한 코드란 무엇인가요?

우아한 프로그래밍이란 무엇입니까? 우아한 코드란 무엇인가요?

WBOY
WBOY원래의
2016-07-25 08:48:561002검색
개인적인 이해:
우아한 프로그래밍이란 커피를 마시고, 키보드를 만지고, 비즈니스에 대해 생각하는 것입니다.
우아한 코드의 정의는 다음과 같습니다.
1. 작은따옴표와 큰따옴표를 최대한 적게 사용하세요. ;
2. 중첩 없음
3. 이름은 모두 영어와 같습니다.
5. , 바람직하게는 네트워크 관계는 거의 사용되지 않습니다.

다음은 SQL 쿼리의 일관된 작업을 구현하는 방법입니다. 지침을 제공하십시오.
  1. /**
  2. * DB 일관성 연산, SQL 조건부 구성
  3. * 보낸 사람: EQPHP FrameWork
  4. * 작성자: art_youth
  5. * E-mail: 258122391@qq.com
  6. * Pub 데이터: 2012-11- 09
  7. */
  8. 클래스 쿼리{
  9. public $sql=' ';
  10. 공개 $option=array();
  11. static $keyword=array('select','from','where','group','having','order','limit') ;
  12. //初始化查询参数
  13. function __construct($table,$prefix=''){
  14. $this->option['from']=$prefix.$ table;
  15. }
  16. //构造参数
  17. function __call($method,$param){
  18. if (in_array($method,self::$keyword)) {
  19. $this->option[$method]=$param[0];
  20. return $this;
  21. }
  22. }
  23. //输流查询结果
  24. 함수 출력($mode='sql',$rs_count=0,$now_page=1,$page_size=20){
  25. $this->sql='';
  26. foreach (self::$ 키워드는 $key) {
  27. $value=($key == 'group' || $key == 'order') ? $키.' by' : $key;
  28. if ($key === 'where' && is_array($this->option['where'])) {
  29. $this->option[' where']=self::condition($this->option['where']);
  30. }
  31. if (isset($this->option[$key]) && Trim( $this->option[$key])) {
  32. $this->sql.=' '.$value.' '.trim($this->option[$key]);
  33. }
  34. unset($this->option[$key]);
  35. }
  36. $this- >sql=trim($this->sql);
  37. 스위치($mode){
  38. case 'rs':
  39. return db::rs($this->sql) ;
  40. 케이스 '목록':
  41. return db::rs_list($this->sql);
  42. 케이스 '페이지':
  43. return db::page_list($this->sql, $rs_count,$now_page,$page_size);
  44. 기본값:
  45. return $this->sql;
  46. }
  47. }
  48. //构造sql查询条件
  49. 정적 함수 조건($data){
  50. //处理逻辑连接符
  51. $logic=' and ';
  52. if (isset($data['logic'])) {
  53. $ logic=' '.$data['logic'].' ';
  54. unset($data['logic']);
  55. }
  56. //处理字符串(本生sql)
  57. if (isset($data['query'] )) {
  58. $condition[]='('.$data['query'].')';
  59. unset($data['query']);
  60. }
  61. //处理条件数据
  62. foreach ($data as $key=>$value) {
  63. $condition[]='('.self::parse_expression($key,$value).')' ;
  64. }
  65. return implode($logic,$condition);
  66. }
  67. //解析表达式
  68. 비공개 정적 함수 구문 분석($key, $value){
  69. if (is_numeric($value)) return $key.'='.$value;
  70. if (is_string($value)) return $key.'="'.$value.' "';
  71. if (is_array($value)) {
  72. //基本条件查询
  73. if (preg_match('/^(eq|neq|gt|egt|lt|elt)$ /i',$value[0])) {
  74. is_string($value[1]) && $value[1]='"'.$value[1].'"';
  75. $operator= array('eq'=>'=','neq'=>'<>','gt'=>'>','egt'=>'>=','lt '=>'<','elt'=>'<=',);
  76. return $key.$operator[$value[0]].$value[1];
  77. }
  78. //in范围查找
  79. if (in_array($value[0],array('in','not in'))) {
  80. is_array($value[1]) && $value[1]=implode(',',$value[1]);
  81. $key를 반환합니다.' '.$value[0].'('.$value[1].')';
  82. }
  83. //between区间查找
  84. if (in_array($value[0], array('사이','사이가 아님'))) {
  85. $param=is_string($value[1]) ? 폭발(',',$value[1]) : $value[1];
  86. $key를 반환합니다.' '.$값[0].' '.$param[0].' and '.$param[1];
  87. }
  88. //like模糊匹配
  89. if (in_array($value[0],array('like','not like'))) {
  90. if (is_array($value[1])) {
  91. $buffer=array();
  92. foreach ($value[1] as $param) {
  93. $buffer[]=$ 열쇠.' '.$값[0].' "'.$param.'"';
  94. }
  95. $logic=isset($value[2]) ? ' '.$값[2].' ' : ' 또는 ';
  96. return implode($logic,$buffer);
  97. }
  98. if (strpos($key,'|') !== false) {
  99. $ buffer=array();
  100. foreach (explode('|',$key) as $field) {
  101. $buffer[]='('.$field.' '.$value[0].' "'.$value[1].'")';
  102. }
  103. return implode(' 또는 ',$buffer);
  104. }
  105. if (strpos($key,'&') !== false) {
  106. $buffer=array();
  107. foreach (explode('&',$key) as $field ) {
  108. $buffer[]='('.$field.' '.$value[0].' "'.$value[1].'")';
  109. }
  110. 반환 내파 (' 및 ',$buffer);
  111. }
  112. $key를 반환합니다.' '.$값[0].' "'.$value[1].'"';
  113. }
  114. //数school区间查询(1,9)/[2,3)
  115. if ($value[0] = == '범위') {
  116. $logic=isset($value[2]) ? ' '.$값[2].' ' : ' && ';
  117. $operator=array('('=>'>','['=>'>=',')'=>'<','] '=>'<=');
  118. preg_match('/^((|[)(.*),(.*)()|])$/',$value[1],$param );
  119. $result='';
  120. isset($param[2]) && $result.=$key.$operator[$param[1]].$param[2];
  121. isset ($param[4]) && $result.=$logic.$key.$operator[$param[4]].$param[3];
  122. return $result;
  123. }
  124. return '';
  125. }
  126. }
  127. //资源回收
  128. function __destruct(){
  129. unset($this->option,$this-> ;sql);
  130. }
  131. }
复代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.