programming:rule
Khác biệt
Đây là những khác biệt giữa hai phiên bản của trang.
Phiên bản trước của cả hai bênPhiên bản trướcPhiên bản sau | Phiên bản trướcPhiên bản cuốiPhiên bản sau của cả hai bên | ||
programming:rule [2016/06/16 10:45] – [Quy định riêng đối với file ngôn ngữ] hoaquynhtim99 | programming:rule [2016/06/16 11:01] – [Sử dụng phpDesigner 8] hoaquynhtim99 | ||
---|---|---|---|
Dòng 50: | Dòng 50: | ||
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. | ||
- | ===== Khoảng cách giữa | + | ===== Chuẩn định dạng các file PHP ===== |
- | 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( ' | + | |
- | $page_title = $lang_module[' | + | NukeViet áp dụng chuẩn định dạng code [[http:// |
- | $array_lang_setup = array(); | + | Xem bản dịch Tiếng Việt của tài liệu trên: https:// |
- | $array_lang_setup[] = array( '', | + | |
- | $sql = " | ||
- | $result = $db-> | ||
- | |||
- | while( list( $lang_i ) = $db-> | ||
- | { | ||
- | if( in_array( $lang_i, $global_config[' | ||
- | { | ||
- | $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i][' | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | Không nên viết | ||
- | <code php> | ||
- | if( ! defined( ' | ||
- | $page_title = $lang_module[' | ||
- | $array_lang_setup = array(); | ||
- | $array_lang_setup[] = array( '', | ||
- | $sql = " | ||
- | $result = $db-> | ||
- | while( list( $lang_i ) = $db-> | ||
- | { | ||
- | if( in_array( $lang_i, $global_config[' | ||
- | { | ||
- | $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i][' | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | 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-> | ||
- | { | ||
- | if( in_array( $lang_i, $global_config[' | ||
- | { | ||
- | $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i][' | ||
- | } | ||
- | } | ||
- | </ | ||
- | Không viết: | ||
- | <code php> | ||
- | while( list( $lang_i ) = $db-> | ||
- | { | ||
- | if( in_array( $lang_i, $global_config[' | ||
- | { | ||
- | $array_lang_setup[$lang_i] = array( $lang_i, $language_array[$lang_i][' | ||
- | } | ||
- | } | ||
- | </ | ||
- | ===== 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> | ||
- | * 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 = " | ||
- | * Hay <code php> | ||
===== 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> | + | <code php> |
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( | ||
- | ' | + | |
- | ' | + | ' |
); | ); | ||
</ | </ | ||
Dòng 136: | Dòng 71: | ||
<code php> | <code php> | ||
$array = array( | $array = array( | ||
- | ' | + | |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ), | + | ), |
- | ), | + | ), |
- | ' | + | ' |
); | ); | ||
</ | </ | ||
- | ===== 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( ' | ||
- | 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' ); | ||
- | } | ||
- | </ | ||
- | 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 .= ' | ||
- | -- $i; | ||
- | } | ||
- | </ | ||
- | ===== 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 == ' | ||
- | if( $proxy_blocker == 2 and ( $is_proxy == ' | ||
- | if( $proxy_blocker == 3 and $is_proxy != ' | ||
- | |||
- | return false; | ||
- | }</ | ||
- | tương tự một lớp cũng cần có mô tả | ||
- | <code php>/** | ||
- | * NVbuffer | ||
- | | ||
- | * @package NukeViet | ||
- | * @author VINADES., | ||
- | * @copyright 2012 | ||
- | * @version 3.3 | ||
- | * @access public | ||
- | */ | ||
- | class NVbuffer | ||
- | { | ||
- | var $position = 0; | ||
- | |||
- | </ | ||
- | |||
- | 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 < | ||
- | |||
- | Ví dụ: Dùng < | ||
- | Không dùng < | ||
- | Không dùng < | ||
====== Đối với các file JS ====== | ====== Đối với các file JS ====== | ||
- | Áp dụng chuẩn | + | Áp dụng chuẩn |
- | + | ||
- | Bắt đầu bởi mô tả: | + | |
- | <code javascript> | + | |
- | /* * | + | |
- | * @Project NUKEVIET 3.0 | + | |
- | * @Author VINADES., JSC ( contact@vinades.vn ) | + | |
- | * @Copyright ( C ) 2010 VINADES., JSC. All rights reserved | + | |
- | * @License GNU/GPL version 2 or any later version | + | |
- | * @Createdate 1 - 31 - 2010 5 : 12 | + | |
- | */ | + | |
- | </ | + | |
- | + | ||
- | Đặt { ngay sau các lệnh. | + | |
- | <code javascript> | + | |
- | if( a == 0 ) { | + | |
- | a = 1; | + | |
- | } | + | |
- | </ | + | |
- | Đặt else if ngay sau kí tự } | + | |
- | <code javascript> | + | |
- | if( a == 0 ){ | + | |
- | a = 1; | + | |
- | } else if ( a == -1 ) { | + | |
- | break; | + | |
- | } | + | |
- | </ | + | |
- | Các file javascript trong thư mục ''/ | ||
====== Đố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 269: | Dòng 106: | ||
</ | </ | ||
- | > 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 310: | Dòng 147: | ||
<code css> | <code css> | ||
.banner_plan { | .banner_plan { | ||
- | background: #FFF; | + | |
- | border: 1px solid #DADADA; | + | border: 1px solid #DADADA; |
- | margin-bottom: | + | margin-bottom: |
- | padding: 5px | + | padding: 5px |
} | } | ||
</ | </ | ||
Dòng 351: | 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: | ||
- | {{ : | + | {{ : |
- | 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: | + | > **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, bạn mở từng | + | - Tại các file vừa định dạng, tìm kiếm cụm từ '' |
+ | - Tìm kiếm '' |
programming/rule.txt · Sửa đổi lần cuối: 2016/06/16 11:04 bởi hoaquynhtim99