SlideShare a Scribd company logo
1 of 35
E-Learning Lab 
Thí sinh dự thi 
“Dạy Online – Share khoảnh khắc” 
Link: 
http://home.e-learninglab.co/su-kien/
TÌM HIỂU FRAMEWORK 
CAKEPHP
NỘI DUNG TRÌNH BÀY 
1 GIỚI THIỆU CAKEPHP 
2 MÔ HÌNH MVC TRONG CAKEPHP FRAMEWORK 
1
1. GIỚI THIỆU CAKEPHP 
CakePHP là một Framework phát triển ứng dụng 
web mã nguồn mở. Mục tiêu chính là cho phép 
bạn làm việc một cách nhanh chóng và có cấu 
trúc mà không làm mất tính linh hoạt. 
CakePHP được cấp phép theo giấy phép MIT. Có 
nghĩa là bạn được tự do sửa đổi, phân phối và 
phát hành lại mã nguồn với điều kiện là bản 
quyền còn nguyên vẹn. Bạn cũng được miễn phí 
để kết hợp CakePHP vào bất kỳ ứng dụng 
thương mại hoặc ứng dụng mã nguồn đóng. 
2
1. GIỚI THIỆU CAKEPHP 
3 
 Đặc điểm nổi bật: 
- Mã nguồn mở, miễn phí 
- Xây dựng theo mô hình MVC 
- Xây dựng nhiều thư viện hỗ trợ cho View 
như: Ajax, HTML Form, Javascrip…. 
- Xây dựng nhiều thư viện hỗ trợ cho Controller: 
Email, Session, Cookies… 
- Kiểm tra rang buộc dữ liệu.
1.GIỚI THIỆU CAKEPHP 
THỨ HẠNG CỦA CAKEPHP 
Số Thứ Tự Hot PHP Framework Ranking PHP Framework 
1 Yii Yii 
2 CodeIgniter PHPOpenbiz 
3 CakePHP CodeIgniter 
4 Zend CakePHP 
5 Symfony Symfony 
6 PHPDevShell PHPDevShell 
7 Prado Prado 
8 Akelos Akelos 
9 ZooP Zend 
10 QPHP eZ Components 
4
1.GIỚI THIỆU CAKEPHP 
Một số website ứng dụng framework CakePHP 
Website Teamspeak.net 
5
1.GIỚI THIỆU CAKEPHP 
Một số website ứng dụng framework CakePHP 
Website followmy.tv 
6
2. MVC TRONG CAKEPHP 
(1): Yêu cầu của người dung được gửi 
đến Controller 
(2): Controller sẽ xử lý yêu cầu(thêm, 
cập nhật….) và gọi tới Model để truy 
cập dữ liệu. 
(3): Model sẽ thực hiện yêu cầu của 
Controller bằng cách lấy cập nhật hoặc 
lưu trữ dữ liệu và trả lời cho Controller. 
(4): Sau đó Controller sẽ trả dữ liệu 
đầu ra đến View. 
(5): View sẽ thể hiện kết quả của yêu 
cầu người dùng ra với một định dạng 
xác định. 
7 
 Sơ đồ hoạt động của mô hình MVC
2. MVC TRONG CAKEPHP 
8 
2.1 View 
View là những dữ liệu đầu ra hay gọi là dữ liệu trả về cho 
người dùng khi một yêu cầu được thực thi. Nó cơ bản 
chứa những đoạn mã HTML nhúng với các đoạn mã PHP. 
View được xem giống như tầng đại diện cho bộ mặt của 
ứng dụng. Không thể gọi View một cách trực tiếp mà phải 
thông qua Controller. 
Một số thư viện hỗ trợ cho view như: FormHelper, 
HTMLHelper…
2. MVC TRONG CAKEPHP 
9 
2.1.1 FormHelper 
- Tạo Form: 
<?php echo $this->Form->create('Nhacungcap', 
array(‘inputDefaults’ => array(‘div’ =>false))); ?> 
Trong đó: 
• inputDefaults: thiết lập giá trị mặc định cho các input 
của Form như bỏ đi lable hay div trong Form. 
• type: phương thức của Form, có thể là get, post, 
file(dùng trong file Upload).... Mặc định của type là 
post. 
• action: sử dụng để xử lý dữ liệu, action trong Cakephp 
được viết thành function nằm trong Controller. 
- Kết thúc Form: <?php echo $this->Form->end();?>
2. MVC TRONG CAKEPHP 
2.1.1 FormHelper 
- Ngoài ra còn sử dụng một số input phổ biến: 
10 
• textbox: 
Cách 1: <?php echo $this->Form->textbox(‘vidu’); ?> 
Cách 2: <?php echo $this->Form->input(‘vidu’, array(‘type’ 
=> ‘text’, ‘name’ => ‘vidu’));?> 
• textarea: 
Cách 1: <?php echo $this->Form->textarea(‘textarea’)?> 
Cách 2: <?php echo $this->Form->input(‘textarea’, 
array(‘type’ => ‘textarea’, ‘name’ => ‘textarea’)); ?> 
• password: 
Cách 1: <?php echo $this->Form->password(); ?> 
Cách 2: <?php echo $this->Form->input(‘password’, 
array(‘type’ => ‘password’, ‘name’ => ‘password’));?>
2. MVC TRONG CAKEPHP 
11 
2.1.2 HTMLHelper 
Vai trò của HtmlHelper trong CakePHP là thực hiện những 
tùy chọn liên quan đến HTML nhanh hơn, dễ dàng hơn và 
dễ thay đổi. 
Sau đây là một số phương thức của HtmlHelper và cách sử 
dụng: 
• HtmlHelper::charset() 
• HtmlHelper::css() 
• HtmlHelper::docType() 
• HtmlHelper::image() 
• HtmlHelper::link () 
• HtmlHelper::script()
2. MVC TRONG CAKEPHP 
12 
2.1.2.1 HtmlHelper::charset($charset==null) 
 Sử dụng để tạo thẻ meta, mặc định là UTF-8. 
 Cú pháp: 
<?php echo $this->Html->charset(); ?> 
 Kết quả: 
<meta http-equiv="Content-Type" content="text/html; 
charset=utf-8" />
2. MVC TRONG CAKEPHP 
13 
2.1.2.2 HtmlHelper::css($path, array options=array()) 
 Trong đó: 
• $path: đường dẫn 
• $options(array): mảng các tùy chọn 
 Cú pháp: 
<?php echo $this->Html->css(array('reponsive', 'menu')); ?> 
<?php echo $this->Html->charset(); ?> 
 Kết quả: 
<link rel="stylesheet" type="text/css" href="/css/main.css" /> 
<link rel="stylesheet" type="text/css" href="/css/reponsive.css" /> 
<link rel="stylesheet" type="text/css" href="/css/menu.css" />
2. MVC TRONG CAKEPHP 
14 
2.1.2.3 HtmlHelper::doctype(string $type=‘xhtml-stric’) 
 $type: loại doctype được sử dụng 
 Các loại doctype: 
Loại Mô tả 
html4-strict HTML4 Strict 
html4-trans HTML4 Transitional 
html4-frame HTML4 Frameset 
html5 HTML5 
xhtml-strict XHTML1 Strict 
xhtml-trans XHTML1 
Transitional 
xhtml-frame XHTML1 Frameset 
xhtml11 XHTML1.1 
Ví dụ: 
<?php echo $this->Html-> 
docType(); ?> 
<?php echo $this->Html-> 
docType(‘html5’); ?> 
<?php echo $this->Html-> 
docType(‘html4-trans’); ?>
2. MVC TRONG CAKEPHP 
2.1.2.4 HtmlHelper::image(string $path, array options=array()) 
15 
 Tạo ra một thẻ định dạng hình ảnh. Trong đó: 
• $path: đường dẫn đến hình ảnh 
• $options(array): mảng các tùy chọn 
 Ví dụ: 
<?php echo $this->Html->image('cake_logo.png'); ?> 
 Kết quả: 
<img src="/img/cake_logo.png"/>
2. MVC TRONG CAKEPHP 
2.1.2.5 HtmlHelper::link($title, $url=null, array options=array(), 
$confirmMessage=false) 
16 
 Trong đó: 
• $path: Tên liên kết 
• $options(array): mảng các tùy chọn của HTML 
• $url: đường dẫn 
 Ví dụ: 
<?php echo $this->Html->link('Delete',array('controller' => 'recipes', 
'action' => 'delete', 6),array(),"Bạn chắc muốn xóa?"); ?> 
 Kết quả: 
<a href="/recipes/delete/6" onclick="return confirm('Bạn chắc muốn 
xóa?');">Delete</a>
2. MVC TRONG CAKEPHP 
2.1.2.6 HtmlHelper::script($url=null, array options=array()) 
17 
 Trong đó: 
• $url: đường dẫn đến một file javascript hay nhiều file 
javascript 
• Options: mảng các tùy chọn HTML 
 Ví dụ: 
<?php echo $this->Html->script(‘scripts’); ?> 
 Kết quả: 
<script type="text/javascript" href="/js/scripts.js"></script>
2. MVC TRONG CAKEPHP 
17 
2.1.3 SessionHelper 
 Khai báo Session: var $helper=array(‘Session’); 
Gọi sử dụng: $session -> method(); 
Các phương thức chính: 
• read($key): Đọc Session. Trả về một chuỗi hoặc một 
mảng tùy vào nội dung Session. 
• check($key): Kiểm tra sự tồn tại của Session. 
• error(): Xác định lỗi liên quan đến Session. 
• flash($key= ‘flash’, array $params=array()): Hiển 
thị thông báo.
2. MVC TRONG CAKEPHP 
18 
2.2 Model 
Model là những lớp được xây dựng nhằm trao đổi thông 
tin với cơ sở dữ liệu. Một lớp Model có thể thực hiện các 
tác vụ truy vấn thêm, xóa, cập nhật dữ liệu. 
Model nằm trong thư mục /app/Model chứa mã nguồn 
ứng dụng. Model chứa các file Model, Behavior, 
Datasource. 
Cách khai báo Model: 
class TenModel extends AppModel 
{ 
……………………. 
}
2. MVC TRONG CAKEPHP 
19 
2.2.1 Lấy dữ liệu 
 Dùng hàm find($type, $param) 
Cú pháp: <?php $this->Model->find($type, $params); ?> 
Trong đó: 
• $type: phương thức truy vấn dữ liệu. Có thể là 
‘all’, ‘first’, ‘list’, ‘count’, ‘neighbors’, ‘threaded’. Giá 
trị mặc định là ‘first’. 
• $param: 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
2. MVC TRONG CAKEPHP 
20 
2.2.1 Lấy dữ liệu 
 Dùng hàm find($type, $param) 
 Một số tùy chọn $param: 
array( 
'conditions' => array('Model.field' => $thisValue), //mảng các điều 
kiện tìm kiếm 
'recursive' => 1,// la mot gia tri so nguyen, co the la -1, 0, 1 hoac 2 
'fields' => array('Model.field1', 'DISTINCT Model.field2'),//mang cac 
cot du lieu muon lay ra 
'order' => array('Model.created', 'Model.field3 DESC'), //menh de 
ORDER BY sap xep thu tu ket qua sau khi tim kiem la tang dan (ASC) 
hoac giam dan (DESC) 
group' => array('Model.field'), //menh de GROUP BY 
'limit' => n, //so nguyen 
'page' => n, //so nguyen 
'offset'=>n, //so nguyen 
'callbacks' => true //cac gia tri bao gom true, false, 'before', 'after‘ 
)
2. MVC TRONG CAKEPHP 
21 
2.2.1 Lấy dữ liệu 
 Dùng hàm find($type, $param) 
 find(‘all’): trả về tất cả kết quả tìm được 
Cú pháp: <?php $this->Model->find(‘all’); ?> 
Ví dụ 1: Tìm tất cả thành viên trong bảng User 
<?php $this->User->find(‘all’); ?> 
Ví dụ 2: Tìm thành viên với id=2 
<?php 
$this->User->find(‘all’, array(‘conditions’ => array(User.id =>2))); 
?> 
 find(‘first’): trả về một kết quả duy nhất 
Cú pháp: <?php $this->Model-> find(‘first’); ?> 
Ví dụ: Tìm thành viên. Trả về với thành viên có id=1 
<?php $this->User->find(‘first’); ?>
2. MVC TRONG CAKEPHP 
22 
2.2.1 Lấy dữ liệu 
 Dùng hàm find($type, $param) 
 find(‘count’): kết quả trả về là một số nguyên 
Cú pháp: <?php $this->Model->find(‘count’); ?> 
Ví dụ : Đếm tất cả thành viên 
<?php $this->User->find(‘count’); ?> 
 find(‘list’): trả về một mảng danh sách thường dùng 
trong input của dropdown hay selectbox 
Cú pháp: <?php $this->Model-> find(‘list’); ?> 
Ví dụ: Hiển thị list username 
<?php $this->User->find(‘list’); ?> 
Kết quả: 
array([1] => user1, [2] =>user2)
2. MVC TRONG CAKEPHP 
23 
2.2.1 Lấy dữ liệu 
 Dùng hàm find($type, $param) 
 find(‘neighbor’): tương tự như find(‘list’), nhưng kết quả 
trả về là kết quả đứng trước và đứng sau 
Cú pháp: <?php $this->Model->find(‘neighbor’, $param); ?> 
Ví dụ: 
<?php $this->User->find(‘neighbor’, array(‘field’ =>’id’, ‘value’=>2));?> 
Kết quả: 
array( 
[prev] => array([User] =>array([id] => 1, [username] => user1)) 
[next] => array([User] =>array([id] => 3, [username] => user3)) 
)
2. MVC TRONG CAKEPHP 
24 
2.2.1 Lấy dữ liệu 
 Dùng câu truy vấn 
Cú pháp: <?php $this->Model->query(‘SQL query’); ?> 
Ví dụ: 
<?php $this->User->query(‘select * form users where id=1’) 
Kết quả: 
array( 
[0] => array([User] =>array([id] => 1, [username] => user1)) 
)
2. MVC TRONG CAKEPHP 
25 
2.2.2 Lưu dữ liệu 
 Dùng hàm save() 
 Save không có tham số: Sử dụng kết hợp với set() 
Cú pháp: 
<?php $this->Model->set(‘fieldname’, ‘value’); ?> 
<?php $this->Model->save(); ?> 
Ví dụ: 
<?php 
$this->User->set(array(‘username’ => ‘user1’, ‘email’ => 
‘user1@gmail.com’)); 
$this->User->save(); 
?>
2. MVC TRONG CAKEPHP 
26 
2.2.2 Lưu dữ liệu 
 Dùng hàm saveField(): Sử dụng khi muốn lưu một trường 
dữ liệu trong bảng 
Cú pháp: 
<?php $this->Model->saveField(‘fieldname’, ‘value’); ?> 
Ví dụ: 
<?php $this->User->saveField(‘username’,’use1’); ?>
2. MVC TRONG CAKEPHP 
2.2.3 Các mệnh đề điều kiện khi truy vấn 
 Truy vấn có điều kiện: Trong CakePHP conditions tương 
đương mệnh đề WHERE trong SQl, array là tập hợp các 
điều kiện của WHERE 
Cú pháp: 
27 
‘conditions’ => array() 
Ví dụ: 
<?php 
$this->User->find(‘all’, array(‘conditions’=> array(‘User.id’ => 1))) 
?> 
Trong truy vấn SQL: 
select * from User where id=1
2. MVC TRONG CAKEPHP 
2.2.3 Các mệnh đề điều kiện khi truy vấn 
 Các biểu thức logic: Các biểu thức điều kiện trong 
CakePHP đều được thể hiện dưới một phần tử của mảng. 
Gồm các biểu thức điều kiện: AND, OR, NOT… 
Ví dụ: Tìm tất cả User có tham số active =1, hoặc thuộc 
group có id=1 
28 
<?php 
$this->User->find(‘all’, array(‘conditions’=> array(‘or’ => 
array(‘User.active’=>1, ‘User.group_id’=>1)))); ?> 
Ví dụ: Tìm user không phải là admin 
<?php $this->user->find(‘all’, array(‘conditions’ => 
array(‘not’=>array(‘User.username’ => ‘admin’)))); ?>
2. MVC TRONG CAKEPHP 
29 
2.3 Controller 
Controller điều khiển luồng xử lý của ứng dụng. Trong 
Controller thường chứa những lệnh gọi tới Model để truy 
cập dữ liệu. Controller được xem là tầng điều khiển của 
ứng dụng. Controller chỉ nên khai báo các action(gọi là 
phương thức xử lý, được đặt trùng tên với tên file View). 
Cách khai báo Controller: 
class DemosController extends AppController{ 
var $name = ‘Demos’; 
function add() { 
…………………………. 
} 
}
2. MVC TRONG CAKEPHP 
30 
2.3 Controller 
 Session Component 
 Khai báo Session 
var $components = array(‘Session’); 
 Các sử dụng: 
 write ($name, $value): lưu session có giá trị 
$value vào $name 
 read($name): đọc session thông qua $name 
 check($name): kiểm tra session có tồn tại hay 
không 
 delete($key): xóa session thông qua tên 
 destroy(): xóa toàn bộ session 
 error(): xác định lỗi cuối cùng liên qua đến session
2. MVC TRONG CAKEPHP 
31 
2.3 Controller 
 Ví dụ: 
 write: <?php $this->Session->write(‘username’,’user1’); ?> 
 read: <?php $this->Session->read(‘username’); ?> 
 check: <?php $this->Session->check(‘username’); ?> 
 delete: <?php $this->Session->delete(‘username’); ?> 
 destroy: <?php $this->Session->destroy(); ?>
E learning lab - Tim hieu Cake PHP

More Related Content

What's hot

Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenKhanhPham
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webMasterCode.vn
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaANHMATTROI
 
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressTài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressKhanhPham
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupKhanhPham
 
Cursor & Function trong SQL Server
Cursor & Function trong SQL ServerCursor & Function trong SQL Server
Cursor & Function trong SQL ServerHuy Vũ
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaANHMATTROI
 
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTBài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTMasterCode.vn
 
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webBài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webMasterCode.vn
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsdVu Hung Nguyen
 

What's hot (20)

Web301 slide 2
Web301   slide 2Web301   slide 2
Web301 slide 2
 
Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyen
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
 
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressTài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress Meetup
 
Cursor & Function trong SQL Server
Cursor & Function trong SQL ServerCursor & Function trong SQL Server
Cursor & Function trong SQL Server
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Lesson 2 lý thuyết
Lesson 2 lý thuyếtLesson 2 lý thuyết
Lesson 2 lý thuyết
 
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTBài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
 
Jquery
JqueryJquery
Jquery
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
 
Lesson 2 practice
Lesson 2 practiceLesson 2 practice
Lesson 2 practice
 
Web301 slide 4
Web301   slide 4Web301   slide 4
Web301 slide 4
 
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webBài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Web201 slide 2
Web201   slide 2Web201   slide 2
Web201 slide 2
 

Similar to E learning lab - Tim hieu Cake PHP

Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork
 
Tutoria mvc framework
Tutoria mvc frameworkTutoria mvc framework
Tutoria mvc frameworkXuan Le
 
Bài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionBài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionMasterCode.vn
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Ham Chơi
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7Hoang le Minh
 
Bài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoBài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnAsahina Infotech
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnSon Nguyen
 
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7dvms
 
PHP.pdf
PHP.pdfPHP.pdf
PHP.pdfTinPh6
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 

Similar to E learning lab - Tim hieu Cake PHP (20)

Web301 slide 1
Web301   slide 1Web301   slide 1
Web301 slide 1
 
Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP Laravel
 
Yii
YiiYii
Yii
 
Aspnet 3.5 _04
Aspnet 3.5 _04Aspnet 3.5 _04
Aspnet 3.5 _04
 
Mvc Model
Mvc ModelMvc Model
Mvc Model
 
Tutoria mvc framework
Tutoria mvc frameworkTutoria mvc framework
Tutoria mvc framework
 
Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1
 
Bài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionBài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng Extension
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7
 
Ch06
Ch06Ch06
Ch06
 
Bài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoBài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng Cao
 
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vn
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biến
 
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
 
Báo cáo tuần đồ án
Báo cáo tuần đồ ánBáo cáo tuần đồ án
Báo cáo tuần đồ án
 
PHP.pdf
PHP.pdfPHP.pdf
PHP.pdf
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 

Recently uploaded

ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...Nguyen Thanh Tu Collection
 
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hardBookoTime
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21nguyenthao2003bd
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiTruongThiDiemQuynhQP
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...Nguyen Thanh Tu Collection
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem Số Mệnh
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ haoBookoTime
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"LaiHoang6
 
kỳ thi bác sĩ nội trú khóa 48, hướng dẫn
kỳ thi bác sĩ nội trú khóa 48, hướng dẫnkỳ thi bác sĩ nội trú khóa 48, hướng dẫn
kỳ thi bác sĩ nội trú khóa 48, hướng dẫnVitHong183894
 
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaThiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaAnhDngBi4
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 

Recently uploaded (20)

ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
 
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard
2第二课:汉语不太难.pptx. Chinese lesson 2: Chinese not that hard
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
 
kỳ thi bác sĩ nội trú khóa 48, hướng dẫn
kỳ thi bác sĩ nội trú khóa 48, hướng dẫnkỳ thi bác sĩ nội trú khóa 48, hướng dẫn
kỳ thi bác sĩ nội trú khóa 48, hướng dẫn
 
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaThiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 

E learning lab - Tim hieu Cake PHP

  • 1. E-Learning Lab Thí sinh dự thi “Dạy Online – Share khoảnh khắc” Link: http://home.e-learninglab.co/su-kien/
  • 3. NỘI DUNG TRÌNH BÀY 1 GIỚI THIỆU CAKEPHP 2 MÔ HÌNH MVC TRONG CAKEPHP FRAMEWORK 1
  • 4. 1. GIỚI THIỆU CAKEPHP CakePHP là một Framework phát triển ứng dụng web mã nguồn mở. Mục tiêu chính là cho phép bạn làm việc một cách nhanh chóng và có cấu trúc mà không làm mất tính linh hoạt. CakePHP được cấp phép theo giấy phép MIT. Có nghĩa là bạn được tự do sửa đổi, phân phối và phát hành lại mã nguồn với điều kiện là bản quyền còn nguyên vẹn. Bạn cũng được miễn phí để kết hợp CakePHP vào bất kỳ ứng dụng thương mại hoặc ứng dụng mã nguồn đóng. 2
  • 5. 1. GIỚI THIỆU CAKEPHP 3  Đặc điểm nổi bật: - Mã nguồn mở, miễn phí - Xây dựng theo mô hình MVC - Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form, Javascrip…. - Xây dựng nhiều thư viện hỗ trợ cho Controller: Email, Session, Cookies… - Kiểm tra rang buộc dữ liệu.
  • 6. 1.GIỚI THIỆU CAKEPHP THỨ HẠNG CỦA CAKEPHP Số Thứ Tự Hot PHP Framework Ranking PHP Framework 1 Yii Yii 2 CodeIgniter PHPOpenbiz 3 CakePHP CodeIgniter 4 Zend CakePHP 5 Symfony Symfony 6 PHPDevShell PHPDevShell 7 Prado Prado 8 Akelos Akelos 9 ZooP Zend 10 QPHP eZ Components 4
  • 7. 1.GIỚI THIỆU CAKEPHP Một số website ứng dụng framework CakePHP Website Teamspeak.net 5
  • 8. 1.GIỚI THIỆU CAKEPHP Một số website ứng dụng framework CakePHP Website followmy.tv 6
  • 9. 2. MVC TRONG CAKEPHP (1): Yêu cầu của người dung được gửi đến Controller (2): Controller sẽ xử lý yêu cầu(thêm, cập nhật….) và gọi tới Model để truy cập dữ liệu. (3): Model sẽ thực hiện yêu cầu của Controller bằng cách lấy cập nhật hoặc lưu trữ dữ liệu và trả lời cho Controller. (4): Sau đó Controller sẽ trả dữ liệu đầu ra đến View. (5): View sẽ thể hiện kết quả của yêu cầu người dùng ra với một định dạng xác định. 7  Sơ đồ hoạt động của mô hình MVC
  • 10. 2. MVC TRONG CAKEPHP 8 2.1 View View là những dữ liệu đầu ra hay gọi là dữ liệu trả về cho người dùng khi một yêu cầu được thực thi. Nó cơ bản chứa những đoạn mã HTML nhúng với các đoạn mã PHP. View được xem giống như tầng đại diện cho bộ mặt của ứng dụng. Không thể gọi View một cách trực tiếp mà phải thông qua Controller. Một số thư viện hỗ trợ cho view như: FormHelper, HTMLHelper…
  • 11. 2. MVC TRONG CAKEPHP 9 2.1.1 FormHelper - Tạo Form: <?php echo $this->Form->create('Nhacungcap', array(‘inputDefaults’ => array(‘div’ =>false))); ?> Trong đó: • inputDefaults: thiết lập giá trị mặc định cho các input của Form như bỏ đi lable hay div trong Form. • type: phương thức của Form, có thể là get, post, file(dùng trong file Upload).... Mặc định của type là post. • action: sử dụng để xử lý dữ liệu, action trong Cakephp được viết thành function nằm trong Controller. - Kết thúc Form: <?php echo $this->Form->end();?>
  • 12. 2. MVC TRONG CAKEPHP 2.1.1 FormHelper - Ngoài ra còn sử dụng một số input phổ biến: 10 • textbox: Cách 1: <?php echo $this->Form->textbox(‘vidu’); ?> Cách 2: <?php echo $this->Form->input(‘vidu’, array(‘type’ => ‘text’, ‘name’ => ‘vidu’));?> • textarea: Cách 1: <?php echo $this->Form->textarea(‘textarea’)?> Cách 2: <?php echo $this->Form->input(‘textarea’, array(‘type’ => ‘textarea’, ‘name’ => ‘textarea’)); ?> • password: Cách 1: <?php echo $this->Form->password(); ?> Cách 2: <?php echo $this->Form->input(‘password’, array(‘type’ => ‘password’, ‘name’ => ‘password’));?>
  • 13. 2. MVC TRONG CAKEPHP 11 2.1.2 HTMLHelper Vai trò của HtmlHelper trong CakePHP là thực hiện những tùy chọn liên quan đến HTML nhanh hơn, dễ dàng hơn và dễ thay đổi. Sau đây là một số phương thức của HtmlHelper và cách sử dụng: • HtmlHelper::charset() • HtmlHelper::css() • HtmlHelper::docType() • HtmlHelper::image() • HtmlHelper::link () • HtmlHelper::script()
  • 14. 2. MVC TRONG CAKEPHP 12 2.1.2.1 HtmlHelper::charset($charset==null)  Sử dụng để tạo thẻ meta, mặc định là UTF-8.  Cú pháp: <?php echo $this->Html->charset(); ?>  Kết quả: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  • 15. 2. MVC TRONG CAKEPHP 13 2.1.2.2 HtmlHelper::css($path, array options=array())  Trong đó: • $path: đường dẫn • $options(array): mảng các tùy chọn  Cú pháp: <?php echo $this->Html->css(array('reponsive', 'menu')); ?> <?php echo $this->Html->charset(); ?>  Kết quả: <link rel="stylesheet" type="text/css" href="/css/main.css" /> <link rel="stylesheet" type="text/css" href="/css/reponsive.css" /> <link rel="stylesheet" type="text/css" href="/css/menu.css" />
  • 16. 2. MVC TRONG CAKEPHP 14 2.1.2.3 HtmlHelper::doctype(string $type=‘xhtml-stric’)  $type: loại doctype được sử dụng  Các loại doctype: Loại Mô tả html4-strict HTML4 Strict html4-trans HTML4 Transitional html4-frame HTML4 Frameset html5 HTML5 xhtml-strict XHTML1 Strict xhtml-trans XHTML1 Transitional xhtml-frame XHTML1 Frameset xhtml11 XHTML1.1 Ví dụ: <?php echo $this->Html-> docType(); ?> <?php echo $this->Html-> docType(‘html5’); ?> <?php echo $this->Html-> docType(‘html4-trans’); ?>
  • 17. 2. MVC TRONG CAKEPHP 2.1.2.4 HtmlHelper::image(string $path, array options=array()) 15  Tạo ra một thẻ định dạng hình ảnh. Trong đó: • $path: đường dẫn đến hình ảnh • $options(array): mảng các tùy chọn  Ví dụ: <?php echo $this->Html->image('cake_logo.png'); ?>  Kết quả: <img src="/img/cake_logo.png"/>
  • 18. 2. MVC TRONG CAKEPHP 2.1.2.5 HtmlHelper::link($title, $url=null, array options=array(), $confirmMessage=false) 16  Trong đó: • $path: Tên liên kết • $options(array): mảng các tùy chọn của HTML • $url: đường dẫn  Ví dụ: <?php echo $this->Html->link('Delete',array('controller' => 'recipes', 'action' => 'delete', 6),array(),"Bạn chắc muốn xóa?"); ?>  Kết quả: <a href="/recipes/delete/6" onclick="return confirm('Bạn chắc muốn xóa?');">Delete</a>
  • 19. 2. MVC TRONG CAKEPHP 2.1.2.6 HtmlHelper::script($url=null, array options=array()) 17  Trong đó: • $url: đường dẫn đến một file javascript hay nhiều file javascript • Options: mảng các tùy chọn HTML  Ví dụ: <?php echo $this->Html->script(‘scripts’); ?>  Kết quả: <script type="text/javascript" href="/js/scripts.js"></script>
  • 20. 2. MVC TRONG CAKEPHP 17 2.1.3 SessionHelper  Khai báo Session: var $helper=array(‘Session’); Gọi sử dụng: $session -> method(); Các phương thức chính: • read($key): Đọc Session. Trả về một chuỗi hoặc một mảng tùy vào nội dung Session. • check($key): Kiểm tra sự tồn tại của Session. • error(): Xác định lỗi liên quan đến Session. • flash($key= ‘flash’, array $params=array()): Hiển thị thông báo.
  • 21. 2. MVC TRONG CAKEPHP 18 2.2 Model Model là những lớp được xây dựng nhằm trao đổi thông tin với cơ sở dữ liệu. Một lớp Model có thể thực hiện các tác vụ truy vấn thêm, xóa, cập nhật dữ liệu. Model nằm trong thư mục /app/Model chứa mã nguồn ứng dụng. Model chứa các file Model, Behavior, Datasource. Cách khai báo Model: class TenModel extends AppModel { ……………………. }
  • 22. 2. MVC TRONG CAKEPHP 19 2.2.1 Lấy dữ liệu  Dùng hàm find($type, $param) Cú pháp: <?php $this->Model->find($type, $params); ?> Trong đó: • $type: phương thức truy vấn dữ liệu. Có thể là ‘all’, ‘first’, ‘list’, ‘count’, ‘neighbors’, ‘threaded’. Giá trị mặc định là ‘first’. • $param: 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
  • 23. 2. MVC TRONG CAKEPHP 20 2.2.1 Lấy dữ liệu  Dùng hàm find($type, $param)  Một số tùy chọn $param: array( 'conditions' => array('Model.field' => $thisValue), //mảng các điều kiện tìm kiếm 'recursive' => 1,// la mot gia tri so nguyen, co the la -1, 0, 1 hoac 2 'fields' => array('Model.field1', 'DISTINCT Model.field2'),//mang cac cot du lieu muon lay ra 'order' => array('Model.created', 'Model.field3 DESC'), //menh de ORDER BY sap xep thu tu ket qua sau khi tim kiem la tang dan (ASC) hoac giam dan (DESC) group' => array('Model.field'), //menh de GROUP BY 'limit' => n, //so nguyen 'page' => n, //so nguyen 'offset'=>n, //so nguyen 'callbacks' => true //cac gia tri bao gom true, false, 'before', 'after‘ )
  • 24. 2. MVC TRONG CAKEPHP 21 2.2.1 Lấy dữ liệu  Dùng hàm find($type, $param)  find(‘all’): trả về tất cả kết quả tìm được Cú pháp: <?php $this->Model->find(‘all’); ?> Ví dụ 1: Tìm tất cả thành viên trong bảng User <?php $this->User->find(‘all’); ?> Ví dụ 2: Tìm thành viên với id=2 <?php $this->User->find(‘all’, array(‘conditions’ => array(User.id =>2))); ?>  find(‘first’): trả về một kết quả duy nhất Cú pháp: <?php $this->Model-> find(‘first’); ?> Ví dụ: Tìm thành viên. Trả về với thành viên có id=1 <?php $this->User->find(‘first’); ?>
  • 25. 2. MVC TRONG CAKEPHP 22 2.2.1 Lấy dữ liệu  Dùng hàm find($type, $param)  find(‘count’): kết quả trả về là một số nguyên Cú pháp: <?php $this->Model->find(‘count’); ?> Ví dụ : Đếm tất cả thành viên <?php $this->User->find(‘count’); ?>  find(‘list’): trả về một mảng danh sách thường dùng trong input của dropdown hay selectbox Cú pháp: <?php $this->Model-> find(‘list’); ?> Ví dụ: Hiển thị list username <?php $this->User->find(‘list’); ?> Kết quả: array([1] => user1, [2] =>user2)
  • 26. 2. MVC TRONG CAKEPHP 23 2.2.1 Lấy dữ liệu  Dùng hàm find($type, $param)  find(‘neighbor’): tương tự như find(‘list’), nhưng kết quả trả về là kết quả đứng trước và đứng sau Cú pháp: <?php $this->Model->find(‘neighbor’, $param); ?> Ví dụ: <?php $this->User->find(‘neighbor’, array(‘field’ =>’id’, ‘value’=>2));?> Kết quả: array( [prev] => array([User] =>array([id] => 1, [username] => user1)) [next] => array([User] =>array([id] => 3, [username] => user3)) )
  • 27. 2. MVC TRONG CAKEPHP 24 2.2.1 Lấy dữ liệu  Dùng câu truy vấn Cú pháp: <?php $this->Model->query(‘SQL query’); ?> Ví dụ: <?php $this->User->query(‘select * form users where id=1’) Kết quả: array( [0] => array([User] =>array([id] => 1, [username] => user1)) )
  • 28. 2. MVC TRONG CAKEPHP 25 2.2.2 Lưu dữ liệu  Dùng hàm save()  Save không có tham số: Sử dụng kết hợp với set() Cú pháp: <?php $this->Model->set(‘fieldname’, ‘value’); ?> <?php $this->Model->save(); ?> Ví dụ: <?php $this->User->set(array(‘username’ => ‘user1’, ‘email’ => ‘user1@gmail.com’)); $this->User->save(); ?>
  • 29. 2. MVC TRONG CAKEPHP 26 2.2.2 Lưu dữ liệu  Dùng hàm saveField(): Sử dụng khi muốn lưu một trường dữ liệu trong bảng Cú pháp: <?php $this->Model->saveField(‘fieldname’, ‘value’); ?> Ví dụ: <?php $this->User->saveField(‘username’,’use1’); ?>
  • 30. 2. MVC TRONG CAKEPHP 2.2.3 Các mệnh đề điều kiện khi truy vấn  Truy vấn có điều kiện: Trong CakePHP conditions tương đương mệnh đề WHERE trong SQl, array là tập hợp các điều kiện của WHERE Cú pháp: 27 ‘conditions’ => array() Ví dụ: <?php $this->User->find(‘all’, array(‘conditions’=> array(‘User.id’ => 1))) ?> Trong truy vấn SQL: select * from User where id=1
  • 31. 2. MVC TRONG CAKEPHP 2.2.3 Các mệnh đề điều kiện khi truy vấn  Các biểu thức logic: Các biểu thức điều kiện trong CakePHP đều được thể hiện dưới một phần tử của mảng. Gồm các biểu thức điều kiện: AND, OR, NOT… Ví dụ: Tìm tất cả User có tham số active =1, hoặc thuộc group có id=1 28 <?php $this->User->find(‘all’, array(‘conditions’=> array(‘or’ => array(‘User.active’=>1, ‘User.group_id’=>1)))); ?> Ví dụ: Tìm user không phải là admin <?php $this->user->find(‘all’, array(‘conditions’ => array(‘not’=>array(‘User.username’ => ‘admin’)))); ?>
  • 32. 2. MVC TRONG CAKEPHP 29 2.3 Controller Controller điều khiển luồng xử lý của ứng dụng. Trong Controller thường chứa những lệnh gọi tới Model để truy cập dữ liệu. Controller được xem là tầng điều khiển của ứng dụng. Controller chỉ nên khai báo các action(gọi là phương thức xử lý, được đặt trùng tên với tên file View). Cách khai báo Controller: class DemosController extends AppController{ var $name = ‘Demos’; function add() { …………………………. } }
  • 33. 2. MVC TRONG CAKEPHP 30 2.3 Controller  Session Component  Khai báo Session var $components = array(‘Session’);  Các sử dụng:  write ($name, $value): lưu session có giá trị $value vào $name  read($name): đọc session thông qua $name  check($name): kiểm tra session có tồn tại hay không  delete($key): xóa session thông qua tên  destroy(): xóa toàn bộ session  error(): xác định lỗi cuối cùng liên qua đến session
  • 34. 2. MVC TRONG CAKEPHP 31 2.3 Controller  Ví dụ:  write: <?php $this->Session->write(‘username’,’user1’); ?>  read: <?php $this->Session->read(‘username’); ?>  check: <?php $this->Session->check(‘username’); ?>  delete: <?php $this->Session->delete(‘username’); ?>  destroy: <?php $this->Session->destroy(); ?>