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ên Phiên bản trước
Phiên bản sau
Phiên bản trước
Phiên bản cuối Phiên bản sau của cả hai bên
programming:rule [2016/06/16 03:46]
hoaquynhtim99 [Chuẩn định dạng các file PHP]
programming:rule [2016/06/16 04:01]
hoaquynhtim99 [Sử dụng phpDesigner 8]
Dòng 52: Dòng 52:
 ===== Chuẩn định dạng các file PHP ===== ===== Chuẩn định dạng các file PHP =====
  
-===== Khoảng cách giữa các kí tự ===== +NukeViet áp dụng chuẩn định dạng code [[http://www.php-fig.org/psr/psr-2/|PSR-2]], mọi quy các áp dụng có thể xem tại đó. 
-  * Đăt trước và sau kí tự = dấu cách + 
-  * Đặt sau ( một dấu cách +Xem bản dịch Tiếng Việcủa tài liệtrên: https://github.com/nukeviet/fig-standards/blob/master/accepted/vi/PSR-2-coding-style-guide.md 
-  * Đặsau dấ, 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 =====
 +Do chuẩn PSR-2 không có quy định cụ thể về cách viết array, do đó NukeViet áp dụng riêng chuẩn như sau:
 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
-<code php>$array = array( 'id' => $id, 'title' => $title );</code>+<code php>$array = array('id' => $id, 'title' => $title);</code>
 Nếu dài hơn ta phải viết Nếu dài hơn ta phải viết
 <code php> <code php>
 $array = array(  $array = array( 
- 'id' => $id,  +    'id' => $id,  
- 'title' => $title +    'title' => $title 
 ); );
 </code> </code>
Dòng 77: Dòng 71:
 <code php> <code php>
 $array = array(  $array = array( 
- 'id' => array( +    'id' => array( 
- 'id' => $_id, +        'id' => $_id, 
- 'content' => array( +            'content' => array( 
- 'sub' => $sub, +                'sub' => $sub, 
- 'cat' => $cat +                'cat' => $cat 
- ), +            ), 
- ),  +        ),  
- 'title' => $title +        'title' => $title 
 ); );
 </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 ======
  
-Áp dụng chuẩn của các file php +Áp dụng chuẩn viết tương tự php
- +
-Bắđầu bởi mô tả: +
-<code javascript> +
-/* * +
- * @Project NUKEVIET 3.0 +
- * @Author VINADES., JSC ( [email protected]+
- * @Copyright ( C ) 2010 VINADES., JSC. All rights reserved +
- * @License GNU/GPL version 2 or any later version +
- * @Createdate 1 - 31 - 2010 5 : 12 +
- */ +
-</code> +
- +
-Đặt { ngay sau các lệnh. +
-<code javascript> +
-if( a == 0 ) { +
- a = 1; +
-+
-</code> +
-Đặt else if ngay sau kí tự +
-<code javascript> +
-if( a == 0 ){ +
- a = 1; +
-} else if ( a == -1 ) { +
- break; +
-+
-</code>+
  
-Các file javascript trong thư mục ''/modules/ten-module/js/'' không nên dùng thư viện Jquery mà chỉ được viết bởi các hàm, thư viện có sẵn của NukeViet. 
 ====== Đối với các file TPL ====== ====== Đối với các file TPL ======
 Nếu không có trường hợp đặc biệt nên dùng duy nhất một tên main để dánh dấu khối Nếu không có trường hợp đặc biệt nên dùng duy nhất một tên main để dánh dấu khối
Dòng 210: Dòng 106:
 </code> </code>
  
-> Các file TPL thực chất chứa mã HTML, JS tương tự các file .html, cần dùng tab để đánh dấu các thẻ cha con:+> Các file TPL thực chất chứa mã HTML, JS tương tự các file .html, cần dùng 4 ký tự space để đánh dấu các thẻ cha con:
 <code html> <code html>
 <!-- BEGIN: main --> <!-- BEGIN: main -->
Dòng 251: Dòng 147:
 <code css> <code css>
 .banner_plan { .banner_plan {
- background: #FFF; +    background: #FFF; 
- border: 1px solid #DADADA; +    border: 1px solid #DADADA; 
- margin-bottom: 10px; +    margin-bottom: 10px; 
- padding: 5px+    padding: 5px
 } }
 </code> </code>
Dòng 292: Dòng 188:
  
 Để định dạng code NukeViet trên phpDesigner 8 bạn cầu hình fomat file php như sau: Để định dạng code NukeViet trên phpDesigner 8 bạn cầu hình fomat file php như sau:
-{{ :programming:formatcodephpdj.jpg?nolink |}}+{{ :programming:chuan_code_psr-2.png |Cấu hình định dạng code PSR-2 cho PhpDesigner 8}}
  
-Sau đó clich vào menu Advanced... Cấu hình theo thông số sau+Sau khi lưu cấu hình, bạn mở từng file cần định dạng và nhấn tổ hợp phím Shift + Ctrl + F1
  
-{{ :programming:phpdesigner_8_fomatcode.jpg?nolink |}}+> **Chú ý**PhpDesigner không định dạng tương tích hoàn toàn với chuẩn PSR-2 nên sau khi định dạng code theo trên, bạn cần thực hiện thêm hai thao tác nữa để có thể hoàn toàn áp dụng đúng chuẩn.
  
-Sau khi lưu cấu hình, bn mở từng file cần định dạng và nhấn tổ hợp phím Shift + Ctrl + F1+  - Ti các file vừa định dạng, tìm kiếm cụm từ ''Catch ('' nếu có, đưa nó lên ngang hàng với ký tự ''}'' 
 +  - Tìm kiếm ''array('' và ''array ('' nếu có kiểm tra lại và đưa ký tự đóng '')'' xuống hàng mới.
programming/rule.txt · Sửa đổi lần cuối: 2016/06/16 04:04 bởi hoaquynhtim99