Công cụ thành viên

Công cụ trang web


programming:rule

Khác biệt

Đây là những khác biệt giữa hai phiên bản của trang.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
programming:rule [2016/06/16 10:47] – [Ghi chú (comment)] hoaquynhtim99programming:rule [2016/06/16 11:04] (hiện tại) – phiên bản cũ đã được khôi phục (2015/11/03 07:20) hoaquynhtim99
Dòng 7: Dòng 7:
  
   * Các file PHP phải có định dạng UNIX (UNIX format).   * Các file PHP phải có định dạng UNIX (UNIX format).
-  * Khuyến nghị các file nên mã hóa dạng UTF-8 without BOM.+  * Các file PHP thông thường được mã hóa dạng ANSI, các file PHP có chứa ngôn ngữ UTF-8 được mã hóa dạng UTF-8 without BOM hoặc UTF-8. 
 + 
 +File PHP mở đầu bằng  
 + 
 +<code php> 
 +<?php 
 +</code> 
 + và kết thúc bằng (Kết thúc ?> của file php nên bỏ trong các file thuần php) 
 +<code php> 
 +?> 
 +</code> 
 +Giữa chúng phân cách với nội dung bằng ít nhất một dòng trống 
 +Ví dụ 
 +<code> 
 +<?php 
 + 
 +// Some code here 
 + 
 +?> 
 +</code> 
 +Không được viết 
 +<code php> 
 +<?php 
 +// Some code here 
 +?> 
 +</code>
  
 ===== Mở đầu mỗi file ===== ===== Mở đầu mỗi file =====
Dòng 15: Dòng 40:
  
 /** /**
- * @Project NUKEVIET 4.x+ * @Project NUKEVIET 3.x 
  * @Author VINADES.,JSC (contact@vinades.vn)  * @Author VINADES.,JSC (contact@vinades.vn)
- * @Copyright (C) 2014 VINADES.,JSC. All rights reserved+ * @Copyright (C) 2010 VINADES.,JSC. All rights reserved
  * @License GNU/GPL version 2 or any later version  * @License GNU/GPL version 2 or any later version
- * @Createdate Tue21 Jan 2014 01:32:02 GMT+ * @Createdate  12/3/20121:2
  */  */
  
 // Some code here // Some code here
  
 +?>
 </code> </code>
 Trong đó: Trong đó:
Dòng 29: Dòng 55:
   * Sau Author là thông tin về tên tác giả, email.   * Sau Author là thông tin về tên tác giả, email.
   * Sau Copyright là thông tin bản quyền.   * Sau Copyright là thông tin bản quyền.
-  * Sau License là giấy phép của dự án 
   * Sau creatdate là thông tin về thời gian.   * Sau creatdate là thông tin về thời gian.
 ==== Quy định riêng đối với file ngôn ngữ ==== ==== Quy định riêng đối với file ngôn ngữ ====
Dòng 36: Dòng 61:
  
 /** /**
-* @Project NUKEVIET 4.x+* @Project NUKEVIET 3.0
 * @Author VINADES.,JSC (contact@vinades.vn) * @Author VINADES.,JSC (contact@vinades.vn)
-* @Copyright (C) 2016 VINADES.,JSC. All rights reserved +* @Copyright (C) 2010 VINADES.,JSC. All rights reserved 
-* @Language English+* @Language Tiếng Việt
 * @License CC BY-SA (http://creativecommons.org/licenses/by-sa/4.0/) * @License CC BY-SA (http://creativecommons.org/licenses/by-sa/4.0/)
-* @Createdate Mar 04201008:22:00 AM+* @Createdate Jul 06201104:38:01 PM
 */ */
  
 // Some code here // Some code here
  
 +?>
 </code> </code>
  
 Ta thêm thông tin ngôn ngữ Language bên dưới thông tin về bản quyền. Ta thêm thông tin ngôn ngữ Language bên dưới thông tin về bản quyền.
  
-===== Chuẩn định dạng các file PHP =====+===== Khoảng cách giữa các dòng ===== 
 +Các khối code không liên quan đến nhau nên được phân cách bởi một dòng trống và chỉ phân cách bởi một dòng duy nhất. 
 +Ví dụ: 
 +<code php> 
 +if( ! defined( 'NV_IS_FILE_LANG' ) ) die( 'Stop!!!' );
  
 +$page_title = $lang_module['countries'];
  
 +$array_lang_setup = array();
 +$array_lang_setup[] = array( '', $lang_module['site_lang'] );
 +
 +$sql = "SELECT `lang` FROM `" . $db_config['prefix'] . "_setup_language` WHERE `setup`=1";
 +$result = $db->sql_query( $sql );
 +
 +while( list( $lang_i ) = $db->sql_fetchrow( $result ) )
 +{
 + if( in_array( $lang_i, $global_config['allow_sitelangs'] ) )
 + {
 + $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i]['name'] );
 + }
 +}
 +</code>
 +
 +Không nên viết
 +<code php>
 +if( ! defined( 'NV_IS_FILE_LANG' ) ) die( 'Stop!!!' );
 +$page_title = $lang_module['countries'];
 +$array_lang_setup = array();
 +$array_lang_setup[] = array( '', $lang_module['site_lang'] );
 +$sql = "SELECT `lang` FROM `" . $db_config['prefix'] . "_setup_language` WHERE `setup`=1";
 +$result = $db->sql_query( $sql );
 +while( list( $lang_i ) = $db->sql_fetchrow( $result ) )
 +{
 + if( in_array( $lang_i, $global_config['allow_sitelangs'] ) )
 + {
 + $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i]['name'] );
 + }
 +}
 +</code>
 +
 +Thụt đầu dòng bằng tab, không được thụt đầu dòng bằng kí tự trống hoặc bỏ qua thụt đầu dòng
 +Ví dụ:
 +<code php>
 +while( list( $lang_i ) = $db->sql_fetchrow( $result ) )
 +{
 + if( in_array( $lang_i, $global_config['allow_sitelangs'] ) )
 + {
 + $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i]['name'] );
 + }
 +}
 +</code>
 +Không viết:
 +<code php>
 +while( list( $lang_i ) = $db->sql_fetchrow( $result ) )
 +{
 +if( in_array( $lang_i, $global_config['allow_sitelangs'] ) )
 +{
 +$array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i]['name'] );
 +}
 +}
 +</code>
 +===== Khoảng cách giữa các kí tự =====
 +  * Đăt trước và sau kí tự = dấu cách
 +  * Đặt sau ( một dấu cách
 +  * Đặt sau dấu , một dấu cách
 +  * Sau if, else, while, foreach, for.. nên bắt đầu ngay với ( không nên đặt dấu cách
  
 +===== Đặt tên biến =====
 +  * Các biến tạm nên bắt đầu bằng _ ví dụ $_tmp, $_title.
 +  * Tên biến không quá ngắn cũng không quá dài, mô tả đúng chức năng của biến <code php>$title, $module_content</code>
 +  * Sử dụng cùng tên biến đối với những câu lệnh cùng chức năng (nếu có thể) ví dụ
 +    * Truy vấn sql dùng <code php>$sql = "SELECT COUNT(*) FROM `" . NV_AUTHORS_GLOBALTABLE . "` WHERE `admin_id`=" . $userid;</code>
 +    * Hay <code php>$result = $db->sql_query( $sql );</code> <code php>$row = $db->sql_fetchrow( $result );</code>
 ===== Array ===== ===== Array =====
 Nếu mảng ngắn từ một đến hai phần tử ta viết Nếu mảng ngắn từ một đến hai phần tử ta viết
Dòng 78: Dòng 173:
 </code> </code>
  
 +===== if, else, while, for... =====
 +Nếu sau if chỉ có một câu lệnh ngắn ta viết câu lệnh cùng một dòng với if
 +<code php>if( $i > 0 ) die( 'Error!!!' );</code>
 +Nếu sau if có nhiều hơn một câu lệnh, câu lệnh quá dài hoặc sau đó có else ta phải xuống hàng bởi {
 +<code php>
 +if( $title > 200 )
 +{
 + echo( 'Tieu de qua lon' );
 +}
 +else
 +{
 + echo( 'Tieu de hop le' );
 +}
 +</code>
 +Không được để kí tự { và } ngang hàng với if, else, for, while:
 +<code php>
 +if( $title > 200 ){
 + echo( 'Tieu de qua lon' );
 +}else{
 + echo( 'Tieu de hop le' );
 +}
 +
 +while( $i ){
 + $title .= 'title';
 + -- $i;
 +}
 +</code>
 +
 +===== function, class =====
 +Một hàm phải có mô tả bên trên
 +<code php>/**
 + * nv_is_blocker_proxy()
 + *
 + * @param string $is_proxy
 + * @param integer $proxy_blocker
 + * @return
 + */
 +function nv_is_blocker_proxy( $is_proxy, $proxy_blocker )
 +{
 + if( $proxy_blocker == 1 and $is_proxy == 'Strong' ) return true;
 + if( $proxy_blocker == 2 and ( $is_proxy == 'Strong' || $is_proxy == 'Mild' ) ) return true;
 + if( $proxy_blocker == 3 and $is_proxy != 'No' ) return true;
 +
 + return false;
 +}</code>
 +tương tự một lớp cũng cần có mô tả
 +<code php>/**
 + * NVbuffer
 + 
 + * @package NukeViet
 + * @author VINADES.,JSC
 + * @copyright 2012
 + * @version 3.3
 + * @access public
 + */
 +class NVbuffer
 +{
 + var $position = 0;
 +
 +</code>
 +
 +
 +Cần hạn chế tối đa việc viết chung mã HTML, JS, CSS vào các file php.
 +
 +
 +===== Ghi chú (comment) =====
  
 +Khi thiết kế CSDL, cần thêm ghi chú cho mỗi trường dữ liệu.
  
 +Trong tập tin code, để đúng chuẩn cần viết ghi chú ngắn gọn cho mỗi dòng bằng <code>//</code> và không dùng <code>/* */</code> hay <code>#</code>
  
 +Ví dụ: Dùng <code>// Ghi chú</code>
 +Không dùng <code># Ghi chú</code>
 +Không dùng <code>/* Ghi chú */</code>
 ====== Đối với các file JS ====== ====== Đối với các file JS ======
  
programming/rule.1466048835.txt.gz · Sửa đổi lần cuối: 2016/06/16 10:47 bởi hoaquynhtim99