Tài liệu cakephp tiếng việt

14 2.7K 5
Tài liệu cakephp tiếng việt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CakePHP là một Framework mã nguồn mở, miễn phí dành cho việc phát triển các ứng dụng web bằng ngôn ngữ PHP, mục đích của CakePHP là cung cấp một framework cho người sử dụng php phát triển những ứng dụng web nhanh, mạnh mà không mất tính linh hoạt của nó. CakePHP là một nền tảng phát triển ứng dụng nhanh, cấu trúc của nó được tạo ra để lập trình viên tạo các ứng dụng web. Nó tạo ra một nền tảng có cấu trúc, cho phép bạn làm việc trên cấu trúc đó một cách nhanh chóng mà không mất đi sự uyển chuyển. Ngoài ra, CakePHP loại bỏ sự nhàm chán trong phát triển ứng dụng web: cung cấp các công cụ để viết thứ ta cần, thay vì phải làm đi làm lại một thứ. Khi bắt đầu tạo mới dự án (project), chỉ cần tạo một bản copy của CakePHP và tập trung vào việc chính của dự án. CakePHP có một đội ngũ phát triển và cộng đồng năng động, điều này mang lại giá trị to lớn cho các dự án. Ngoài việc giúp bạn khỏi phải làm đi làm lại một việc nào đó, sử dụng CakePHP đồng nghĩa với phần cốt lõi của ứng dụng của bạn đã được kiểm chứng và cải tiến không ngừng.

TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN FRAMWORK CAKEPHP 1.3.x I. CẤU TRÚC THƯ MỤC Thư mục + App: là nơi chứa mã nguồn của ứng dụng. + Cake: là lơi chứa mã nguồn của framework cakephp. + Pugins: Chứa các thành phần mở rộng cho ứng dụng. + Vendors: chứa dứng dụng của bên thứ 3. + Config: chứa các file cấu hình của hệ thống + Controllers: chứa các controller + Locale: chứa file ngôn ngữ + Model : chứa file model + Plugins : chứa các gói mở rộng + Tmp : thư mục tạm của ứng dụng + Vendors: chứa ứng dụng bên thứ 3 + Views: chứa các file giao diện + Webroot: chứa các file, images, js, css… II. MÔ HÌNH HOẠT ĐỘNG TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN CakePHP hoạt động theo mô hình MVC. Mô hình MVC trong Cakephp chia ứng dụng ra 3 phần chính: Model, View và Controller, việc phân tách ứng dụng rõ ràng như vậy sẽ giúp bạn tách các phần xử lý riêng biệt, code sáng sủa hơn, dễ lập trình, quản lý , chỉnh sửa, nâng cấp. + Model: giao tiếp với Database + View: nhận thông tin đã được xử lý gởi đến từ Controller, hiện thị cho người dùng. + Controller: xử lý và điều hướng các yêu cầu của Client Cách thức hoạt động. 1. Đầu tiên client sử dụng web browser để gửi yêu cầu đến dụng, hoặc click vào đường link có dạng. http://localhost/cakephp/product/detail/10 http://{Domain}/{application}/{controller}/{action}/{Parameter} 2. Bộ phận điều vận Dispatcher (Là 1 thành phần của CakePHP) sẽ phân thích URL, controller, action, 3. Sử dụng Router, xác định controller nào sẽ thực thi và gởi yêu cầu tới controller tương ứng 4. Khi gởi đến Controller nó sẽ làm 1 và thao tác cần thiết, có thể sẽ xử lý ngay tại controller hoặc sự dụng Model tương ứng để truy xuất dữ liệu. Sau khi lấy được dữ liệu, Controler sẽ đưa dữ liệu ra View, và View sẽ được hiển thị ra ngoài trình duyệt. III. Quy tắc đặt tên trong CakePhp 1.3.x Model - Class: viết số ít, viết hoa chữ cái đầu mỗi từ. Vd: class User extends AppModel { // function } - File: viết hình thức số ít, chữ thường, và cách nhau bằng dấu gạch dưới. Vd: user.php, user_framgia.php - Table: viết dạng số nhiều Vd: users.php, post_framgias.php Controller - Class: viết hình thức số nhiều, viết hoa chữ cái đầu tiên của mỗi từ, kết thúc bằng Controller Vd: class UsersController extends AppController { //function } - File: viết hình thức số nhiều, viết thường, mỗi từ cách nhau bằng dấu gạch chân, kết thúc bằng controller - Vd: users_controller.php, posts_controller.php TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN View - Path: Mỗi file trong view được đặt trong thư mục tương ứng với một controller Vd: app/view/users - File: tên file trùng với tên hàm tương ứng trong controller. Vd: add.ctp, edit.ctp IV. Truy vấn dữ liệu 1. Truy vấn dữ liệu tự động thông qua các hàm viết sẵn của CakePHP Cú pháp: $this->Model->find($type,$params); + $type là phương thức truy vấn dữ liệu, có thể là : “all”, “first”, “count”, “list”, “neighbors” , “threaded”, giá trị mặc định là “first” + $this->User->find(‘all’); // select *from users + find(‘first’,’$param’) //trả về kết quả duy nhất + find(‘count’) //trả về tổng sô dòng được tìm thấy + find('threaded',$param) // trả về 1 mảng danh sách + find(‘neighbors’,’$param’) // trả về 1 kết quả đứng trước và đứng sau kết quả tìm được. + find('threaded',$param) // trả về kết quả là 1 mảng lồng nhau + $params là một mảng tập hợp các điều kiện lấy dữ liệu, gom cụm dữ liệu, sắp xếp hoặc thể hiện dữ liệu array( 'conditions' => array('Model.field' => $thisValue), // mảng các điều kiện tìm kiếm 'recursive' => 1, //là một giá trị số nguyên , có thể là -1, 0, 1 hoặc 2 'fields' => array('Model.field1', 'DISTINCT Model.field2'), //mảng các cột dữ liệu muốn lấy ra 'order' => array('Model.created', 'Model.field3 DESC'), //xắp xếp dữ liệu 'group' => array('Model.field'), //mệnh đề Group By 'limit' => n, //số nguyên 'page' => n, // số nguyên 'offset'=> n, // số nguyên 'callbacks' => true //các giá trị bao gồm true, false, 'before', 'after' ) Truy vấn có điều kiện và biểu thức so sánh TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Tham khảo thêm tại địa chỉ : http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Models.html 2. Truy vấn dữ liệu từ câu lệnh query Cú pháp $this->Model->query('SQL query'); V. Form Helper trong CakePHP Helpers là một tập hợp các thư viện hữu ích để dùng trong View. CakePHP đã xây dựng sẵn rất nhiều helper như Form, Html, Ajax, Number, Session, Rss, Xml, Time… Những helper này thường xuyên được sử dụng để tạo các form, định dạng lại các thành phần trong view, thay đổi các thành phần đó theo ý muốn. Khai báo Form helper như sau: var $helpers = 'Form'; Khi sử dụng Form helper, trong view dùng cú pháp: echo $this->Form->method(); // hoặc : echo $form->method(); Mở đầu form: echo $this->Form->create($model,$option); TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN + $model: là tên model đang sử dụng, mặc định là null + $option: là mảng các giá trị của create(), bao gồm 'type', 'action', 'url', 'default', 'inputDefaults' type: là phương thức của form, có thể là get, post, hoặc file(dùng trong việc upload file). Mặc định của type là post. Vd: echo $this->Form->create('User', array('action' => 'login')); Kết thúc form: echo $this->Form->end('Submit') Tham khảo thêm tại: http://book.cakephp.org/1.3/en/The-Manual/Core-Helpers/Form.html VI. Data Validation Để sử dụng Datavalidation thì trong ứng dụng của chúng ta cần có hai thành phần chính : var $helpers = array ('Html','Form'); Thành phần namespace validate : sử dụng các tập luật để validation dữ liệu var $validate = array(tập_luật); Vd: class valid extends AppModel{ var $useTable = false; var $validate = array(); // Valid 01 : one rule function vidu_01(){ $this->validate = array( "title" => array( "rule" => "notEmpty", "message" => "Please enter title !",), "info" => array( "rule" => "notEmpty", // tập luật là không rỗng "message" => "Please enter info !", // thông báo khi có lỗi) ); if($this->validates($this->validate)) // nếu dữ liệu đã được validate (hợp lệ) return TRUE; else return FALSE; } TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Một số tập luật thông dụng : 'rule' => 'alphaNumeric' : chỉ có số hoặc chữ 'rule' => array('between', 5, 15) : giá trị nằm trong khoản từ 5-15 'rule' => array('comparison', '>=', 18) : giá trị phải lớn hơn 18 'rule' => array('email', true) : định dạng email 'rule' => array('extension', array('gif', 'jpeg', 'png', 'jpg')) : dành cho upload file , kiểm tra extension 'rule' => array('minLength', 8) : độ dài nhỏ nhất là 8 'rule' => array('maxLength', 8) : độ dài tối đa là 8 'rule' => 'numeric' : dữ liệu nhập là số 'rule' => 'notEmpty' : dữ liệu không được bỏ trống 'rule' => 'url' : định dạng địa chỉ url Regular expression Để sử dụng Regular Expression thì cú pháp như sau : 'rule' => '/^nội_dung_regular_expression$/i'; Ví dụ : + 'rule' => '/^[a-z0-9]{4,10}$/i' //Dữ liệu chỉ là chữ thường và số, có từ 4-10 kí tự VII. Session trong CakePHP Để sử dụng được Session, đầu tiên ta phải khai báo: var $helpers = array('Html', 'Form','Javascript','Ajax','Common',’Session’); Hoặc var $components = array('Acl',’Mail’,’Session’); + Cú pháp sử dụng 1) write($name,$value) - Lưu Session có giá trị $value vào tên $name - $name có thể sử dụng dấn (.) để tạo thành mảng session Vd: //Lưu theo cú pháp thông thường $this->Session->write('Username','huytuan'); //Lưu dạng mảng $this->Session->write('Person.name', 'admin'); $this->Session->write('Person.email', 'vu.huy.tuan@framgia.com); 2) read($name) - Lấy giá trị session thông qua tên TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Vd : echo $this->Session->read('Username'); //kết quả huytuan pr($this->Session->read('Person')); //kết quả Array ( [name] => admin [email] => vu.huy.tuan@framgia.com ) 3) check($name) - Kiểm tra xem có tồn tại session có tên là $name hay không Vd: $this->Session->check('Username'); // trả về TRUE, FALSE 4) delete($name) - Xóa Session thông qua tên: Vd : //Xóa Session Username $this->Session->delete('Username'); //Chỉ xóa Session email của Person $this->Session->delete('Person.email'); //Xóa toàn bộ Session Person $this->Session->delete('Person'); 5) Destroy() - Xóa toàn bộ Cookie và Session $this->Session->destroy(); 6) seFlash($message,$element=”default”,$params=array(),$key=”flash”) - Thường sử dụng trong Controller + $mesages: nội dung hiển thị + $element: Load file chứa nội dung bao quanh $messages. Nội dung được lưu dạng file *.ctp trong thư mục app/view/elements/ + $param: dùng để thay đổi các thuộc tính như : class, id, style… + $key: mặc định là “flash” TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Vd: ta có file vidu.ctp (app/views/elements/vidu.ctp) <div id="flashMessage" class="message_01"><?php echo $message ;?></div> Thực hiện lệnh $this->Session->setFlash('Hello World, 'vidu',array('class' =>'message_02')) Thì nội dung file sms.ctp sẽ được load và hiển thị là : <div id="flashMessage" class="message_02">Hello World</div> SMARTY FRAMWORK I. Giới thiệu Smarty là một hệ thống tạo mẫu web (web template system) được viết trên nền PHP. Smarty được giới thiệu như là một công cụ cho việc chia nhỏ quá trình thiết kế. Một số ưu điểm: + Tốc độ load trang rất nhanh. (do tạo được cache) + Code ứng dụng trở lên trong sáng, mạch lạc và dễ bảo trì (do tách biệt phần code và templates) + Hiệu quả tối đa (Người thiết kế và người lập trình làm việc hoàn toàn độc lập, thay đổi website 1 cách nhanh chóng) + Được sự dụng phổ biến. Cấu trúc cơ bản của Smarty bao gồm các thành phần nằm trong thư mục libs. Khi sử dụng ta cần phải khai báo. require ‘Smarty.class.php’; //gọi lớp Smarty $smarty = new Smarty(); //Khởi tạo biến $smarty II. Các cú pháp cơ bản của Smarty 1. Comment TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Những đoạn cần comment được đặt trong tags: {* comment vào đây *} Vd: 2. Variables: Các biến được bắt đầu bởi dấu $. File biến config là 1 ngoại lệ đối với cú pháp thông thường Vd: 3. Functions {funcname attr1="val" attr2="val"} TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN Vd: 4. Capture Được sử dụng để đưa đầu ra của template vào trong một file riêng biệt thay vì trình bày chúng. Attributes Type Required Default Description name string no default Tên của khối capture assign string no n/a Tên biến nơi mà định nghĩa đầu ra của capture VD: 5. Config_load Được sử dụng để load các biến từ file cấu hình vào trong template Attributes Type Required Default Description file string yes n/a section string no n/a . TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN FRAMWORK CAKEPHP 1.3.x I. CẤU TRÚC THƯ MỤC Thư mục + App: là nơi chứa. diện + Webroot: chứa các file, images, js, css… II. MÔ HÌNH HOẠT ĐỘNG TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN CakePHP hoạt động theo mô hình MVC. Mô hình MVC trong Cakephp chia ứng dụng. thúc bằng controller - Vd: users_controller.php, posts_controller.php TÌM HIỂU HỆ THỐNG UMX VŨ HUY TUẤN View - Path: Mỗi file trong view được đặt trong thư mục tương ứng với một controller

Ngày đăng: 24/07/2014, 14:30

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan