SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Giới thiệu Phalcon
PHP Framework

Trinh Minh Cuong, cuong@techmaster.vn

http://techmaster.vn
Nội dung
1.  Giới	
  thiệu	
  
2.  Cài	
  đặt	
  Phalcon	
  
3.  GET	
  /	
  POST	
  –	
  xử	
  lý	
  form	
  (xem	
  slide	
  sau)	
  
4.  Upload	
  file	
  (xem	
  slide	
  sau)	
  
5.  Tạo	
  web	
  service	
  (xem	
  slide	
  sau)	
  
6.  Đọc	
  ghi	
  cơ	
  sở	
  dữ	
  liệu	
  (xem	
  slide	
  sau)	
  
http://techmaster.vn
Giới thiệu Phalcon
http://techmaster.vn
Phalcon Framework
•  Là	
  một	
  thư	
  viện	
  (framework)	
  để	
  phát	
  triển	
  web	
  
site	
  PHP	
  tốc	
  độ	
  cao,	
  tiện	
  cho	
  lập	
  trình	
  viên	
  
•  Phalcon	
  được	
  viết	
  bằng	
  C,	
  biên	
  dịch	
  ra	
  
extension	
  
–  Linux,	
  Mac:	
  phalcon.so	
  
–  Windows:	
  php_phalcon.dll	
  
http://techmaster.vn
Phalcon phản hồi rất tốt

Requests	
  per	
  second	
  của	
  
Phalcon	
  cao	
  hơn	
  hầu	
  hết	
  các	
  
PHP	
  framework	
  hiện	
  nay	
  

http://techmaster.vn
Techempower.com benchmark 2013-12-17

http://techmaster.vn
Phalcon chỉ chậm hơn raw PHP, HipHop VM
•  Raw	
  PHP	
  chạy	
  nhanh	
  
nhưng	
  không	
  có	
  sẵn	
  
framework	
  

•  HipHop	
  VM	
  do	
  FaceBook	
  
tạo	
  ra,	
  biên	
  dịch	
  PHP	
  thành	
  
bytecode	
  

h?p://coderoncode.com/2013/07/24/introducIon-­‐hhvm.html	
  

http://techmaster.vn
Tại sao chọn Phalcon mà không chọn HipHop VM?

•  Sẽ	
  thử	
  HipHopVM	
  khi	
  nào	
  nó	
  hoàn	
  toàn	
  tương	
  
thích	
  với	
  PHP	
  
•  HipHopVM	
  không	
  phải	
  là	
  framework	
  để	
  tăng	
  
hiệu	
  suất	
  lập	
  trình	
  mà	
  nó	
  là	
  virtual	
  machine	
  biến	
  
PHP	
  parsing	
  thành	
  byte-­‐code	
  execution	
  
•  Techmaster	
  cần	
  framework	
  để	
  lập	
  trình	
  hiệu	
  
quả	
  và	
  khi	
  triển	
  khai	
  tốc	
  độ	
  thực	
  thi	
  nhanh	
  !	
  
http://techmaster.vn
Tại sao không chọn WordPress, Joomla, Drupal?

•  Khi	
  dự	
  án	
  mobile	
  nối	
  vào	
  web	
  cần	
  web	
  service	
  
dễ	
  lập	
  trình,	
  tốc	
  độ	
  cao	
  trên	
  phần	
  cứng	
  khiêm	
  
tốn	
  
•  WordPress,	
  Joomla,	
  Drupal	
  mạnh	
  về	
  CMS,	
  dễ	
  
cài	
  đặt,	
  dễ	
  đổi	
  theme	
  nhưng	
  không	
  phù	
  hợp	
  
làm	
  server	
  cho	
  ứng	
  dụng	
  mobile	
  
http://techmaster.vn
Phalcon vs Ruby On Rails
•  Techmaster	
  đã	
  từng	
  thử	
  nghiệm	
  Ruby	
  On	
  Rails,	
  
Phusion	
  Manager,	
  Nginx	
  cố	
  gắng	
  tối	
  ưu	
  nhưng	
  khả	
  
năng	
  đáp	
  ứng	
  Requests	
  Per	
  Second	
  kém	
  
•  Dễ	
  lập	
  trình:	
  	
  Phalcon	
  tương	
  đương	
  Rails	
  
•  Cộng	
  đồng	
  chưa	
  bằng	
  Rails.	
  Rails	
  Gem	
  rất	
  
xuất	
  sắc	
  nhưng	
  Phalcon	
  có	
  thể	
  viết	
  PHP	
  
thường	
  
http://techmaster.vn
So với các PHP Framework khác
•  CodeIgniter,	
  YII,	
  Kohana,	
  Laravel	
  	
  đều	
  chậm	
  
hơn	
  Phalcon	
  
•  Vấn	
  đề	
  lớn	
  nhất	
  của	
  Phalcon	
  là	
  nó	
  không	
  chạy	
  
được	
  trên	
  SharedHosting	
  mà	
  yêu	
  cầu	
  VPS	
  
Hosting	
  
•  Tuy	
  nhiên	
  hiện	
  nay	
  VPS	
  Hosting	
  rất	
  rẻ	
  	
  à	
  
http://techmaster.vn
VPS Hosting: Digital Ocean
Chỉ	
  với	
  $5	
  một	
  tháng	
  là	
  bạn	
  đã	
  có	
  một	
  máy	
  ảo	
  chạy	
  khá	
  nhanh	
  

http://techmaster.vn
VPS Hosting
Linode	
  chạy	
  rất	
  ổn	
  định,	
  có	
  data	
  center	
  ở	
  Nhật.	
  Giữa	
  VN	
  và	
  Nhật	
  
có	
  đường	
  cáp	
  quang	
  băng	
  thông	
  rất	
  tốt	
  

http://techmaster.vn
Hiệu suất lập trình của Phalcon
•  DB:	
  MySQL,	
  Postgresql,	
  Oracle,	
  SQLite	
  and	
  PDO	
  
•  Caching:	
  File,	
  Memcache,	
  Memory,	
  Mongo,	
  Xcache	
  
•  MVC:	
  template	
  engine:	
  Volt	
  
•  ORM	
  (Object	
  Relational	
  Mapping)	
  
•  ODM	
  (Object	
  Document	
  Mapper)	
  
•  ACL	
  (Access	
  Control	
  List):	
  quản	
  lý	
  phân	
  quyền	
  rất	
  mềm	
  dẻo	
  
•  Logging:	
  stream,	
  file,	
  system,	
  FirePHP	
  
http://techmaster.vn
http://techmaster.vn
Nhóm tác giả & fan

h?p://phalconphp.com/en/team	
  

Techmaster	
  có	
  đội	
  6	
  dev	
  
Phalcon	
  thực	
  hiện	
  	
  3	
  web	
  
sites	
  phức	
  tạp	
  về	
  nghiệp	
  vụ	
  
trong	
  3	
  tháng	
  –	
  khách	
  hàng	
  
happy	
  !	
  
http://techmaster.vn
Tương lai của Phalcon
•  Bản	
  hiện	
  giờ	
  1.2.4	
  chạy	
  khá	
  ổn	
  định	
  
•  Bản	
  1.3	
  beta	
  tối	
  ưu	
  sửa	
  nhiều	
  lỗi,	
  12/2013	
  
•  Bản	
  2.0	
  xuất	
  hiện	
  ngôn	
  ngữ	
  Zephir	
  để	
  lập	
  trình	
  có	
  thể	
  
viết	
  module	
  core	
  dịch	
  ra	
  C	
  và	
  cuối	
  cùng	
  là	
  biên	
  dịch	
  
thư	
  viện	
  mở	
  rộng	
  

http://techmaster.vn
Phalcon 2.0 - Zephir
To	
  address	
  the	
  specific	
  needs	
  associated	
  by	
  building	
  a	
  framework/library	
  
as	
  a	
  PHP	
  extension	
  written	
  in	
  C,	
  we	
  have	
  decided	
  to	
  build	
  a	
  brand	
  new	
  tool	
  
that	
  will	
  help	
  all	
  of	
  us	
  in	
  terms	
  of	
  developing,	
  supporting	
  and	
  enhancing	
  
Addressing	
  the	
  specific	
  needs	
  of	
  build	
  a	
  framework/library	
  as	
  a	
  C-­‐
extension,	
  we	
  have	
  decided	
  build	
  a	
  new	
  tool	
  to	
  make	
  our	
  lives	
  easier	
  
ensuring	
  this	
  project	
  will	
  have	
  a	
  clear	
  future.	
  
In	
  recent	
  weeks	
  we	
  have	
  been	
  creating	
  a	
  new	
  programming	
  language	
  
called	
  Zephir.	
  It’s	
  a	
  high	
  level	
  language,	
  something	
  between	
  C	
  and	
  PHP.	
  It’s	
  
both	
  dynamic	
  and	
  static	
  typed	
  and	
  it	
  supports	
  just	
  the	
  features	
  we	
  need	
  
to	
  create	
  and	
  maintain	
  a	
  project	
  like	
  Phalcon.	
  
h?p://blog.phalconphp.com/post/57161129440/phalcon-­‐2-­‐0-­‐the-­‐future	
  	
  

http://techmaster.vn
Cấu hình cài đặt
http://techmaster.vn
Môi trường phát triển
•  Mac,	
  Linux,	
  Windows	
  	
  
•  Web	
  server:	
  Apache	
  –	
  Nginx	
  
–  http://techmaster.vn/2013/10/homebrew/	
  
–  http://techmaster.vn/2013/10/cai-­‐dat-­‐phalcon-­‐mac/	
  	
  
–  http://techmaster.vn/2013/10/nginx-­‐share-­‐hosting/	
  
–  http://techmaster.vn/2013/10/postgresql-­‐tren-­‐mac/	
  
http://techmaster.vn
Môi trường triển khai thật
•  Nên	
  dùng	
  web	
  server	
  Nginx,	
  PHP-­‐FPM	
  chạy	
  
trên	
  Linux	
  Ubuntu	
  -­‐>	
  rất	
  ổn	
  định	
  

FPM	
  (FastCGI	
  Process	
  Manager)	
  is	
  an	
  
alterna5ve	
  PHP	
  FastCGI	
  implementa5on	
  
with	
  some	
  addi5onal	
  features	
  (mostly)	
  
useful	
  for	
  heavy-­‐loaded	
  sites.	
  

http://techmaster.vn
Các bước chính
1.  Cài	
  Homebrew	
  
2.  Cài	
  Nginx,	
  start	
  thử,	
  nếu	
  ok	
  thì	
  tiếp	
  
3.  Cài	
  PHP-­‐FPM,	
  start	
  thử	
  kiểm	
  phpinfo()	
  
4.  Cài	
  Postgresql	
  hoặc	
  MariaDB	
  
5.  Cài	
  Phalcon	
  (php55-­‐phalcon),	
  cài	
  DevTools	
  
6.  Cài	
  Xdebug	
  (php55-­‐xdebug)	
  
http://techmaster.vn
Học Phalcon qua các ví dụ đã chạy rất ổn định
• 

Album	
  O	
  Rama	
  
–  Demo	
  http://album-­‐o-­‐rama.phalconphp.com/	
  	
  
–  Source	
  https://github.com/phalcon/album-­‐o-­‐rama	
  	
  

•  Nivo	
  
–  Demo	
  https://github.com/phalcon/invo	
  	
  
–  Source	
  https://github.com/phalcon/invo	
  	
  

•  Forum	
  
–  Production	
  http://forum.phalconphp.com/	
  
–  Source	
  https://github.com/phalcon/forum	
  	
  

•  CMS	
  
–  Demo	
  http://phalconeye.com/	
  	
  
–  Source	
  https://github.com/lantian/PhalconEye	
  	
  
http://techmaster.vn
http://techmaster.vn
Phalcon -Devtool
cuong:www TechMaster$ cd /usr/local/var/www
cuong:www TechMaster$ phalcon
Phalcon DevTools (1.2.4)
Available commands:
commands (alias of: list, enumerate)
controller (alias of: create-controller)
model (alias of: create-model)
all-models (alias of: create-all-models)
project (alias of: create-project)
scaffold
migration
webtools
cuong:www TechMaster$ phalcon project paris	
  

http://techmaster.vn
IDE để viết mã
•  Sublime	
  gọn	
  nhẹ,	
  đủ	
  dùng	
  
•  Netbean	
  hoặc	
  PHP	
  Storm	
  đều	
  ok	
  
•  Thậm	
  chí	
  khi	
  vội	
  dùng	
  nano	
  hoặc	
  VIM	
  
•  Bật	
  Xdebug	
  để	
  browser	
  hiện	
  lỗi	
  khi	
  lập	
  trình	
  

http://techmaster.vn
Bây giờ là phần thực hành

http://techmaster.vn
Nếu	
  bạn	
  cần	
  phát	
  triển	
  ứng	
  dụng	
  web	
  trên	
  Phalcon	
  với	
  
kinh	
  nghiệm	
  đội	
  phát	
  triển	
  Qch	
  lũy	
  qua	
  nhiều	
  dự	
  án	
  mobile	
  
–	
  web,	
  dynamic	
  responsive	
  web	
  quốc	
  tế	
  
	
  
Tham	
  khảo	
  khóa	
  học	
  này	
  
h^p://techmaster.vn/web/php-­‐phalcon/	
  	
  
http://techmaster.vn

Más contenido relacionado

Was ist angesagt?

Lap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dauLap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dautuananh1896
 
Ung dung foss tai NetNam
Ung dung foss tai NetNamUng dung foss tai NetNam
Ung dung foss tai NetNamAnh Tuan
 
Xậy dựng hệ thống webserver trên linux
Xậy dựng hệ thống webserver trên linux Xậy dựng hệ thống webserver trên linux
Xậy dựng hệ thống webserver trên linux Hoàng Nguyễn
 

Was ist angesagt? (6)

Web203 slide 8
Web203   slide 8Web203   slide 8
Web203 slide 8
 
Lap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dauLap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dau
 
Ung dung foss tai NetNam
Ung dung foss tai NetNamUng dung foss tai NetNam
Ung dung foss tai NetNam
 
Web1012 slide 8
Web1012   slide 8Web1012   slide 8
Web1012 slide 8
 
Xậy dựng hệ thống webserver trên linux
Xậy dựng hệ thống webserver trên linux Xậy dựng hệ thống webserver trên linux
Xậy dựng hệ thống webserver trên linux
 
Web203 slide 7
Web203   slide 7Web203   slide 7
Web203 slide 7
 

Andere mochten auch

Cơ sở dữ liệu postgres
Cơ sở dữ liệu postgresCơ sở dữ liệu postgres
Cơ sở dữ liệu postgresTechMaster Vietnam
 
Cấu hình Postgresql căn bản trong 20 phút
Cấu hình Postgresql căn bản trong 20 phútCấu hình Postgresql căn bản trong 20 phút
Cấu hình Postgresql căn bản trong 20 phútTechMaster Vietnam
 
Prototyping giao diện sử dụng Expression Blend Sketch Flow
Prototyping giao diện sử dụng Expression Blend Sketch FlowPrototyping giao diện sử dụng Expression Blend Sketch Flow
Prototyping giao diện sử dụng Expression Blend Sketch FlowTechMaster Vietnam
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tếTechMaster Vietnam
 
Bài trình bày cho sinh viên Bách Khoa 9/2012
Bài trình bày cho sinh viên Bách Khoa 9/2012Bài trình bày cho sinh viên Bách Khoa 9/2012
Bài trình bày cho sinh viên Bách Khoa 9/2012TechMaster Vietnam
 
Slide create databases_linh
Slide create databases_linhSlide create databases_linh
Slide create databases_linhkhacthuong2008
 

Andere mochten auch (12)

Cơ sở dữ liệu postgres
Cơ sở dữ liệu postgresCơ sở dữ liệu postgres
Cơ sở dữ liệu postgres
 
Cấu hình Postgresql căn bản trong 20 phút
Cấu hình Postgresql căn bản trong 20 phútCấu hình Postgresql căn bản trong 20 phút
Cấu hình Postgresql căn bản trong 20 phút
 
Phalcon overview
Phalcon overviewPhalcon overview
Phalcon overview
 
Making a living
Making a livingMaking a living
Making a living
 
Prototyping giao diện sử dụng Expression Blend Sketch Flow
Prototyping giao diện sử dụng Expression Blend Sketch FlowPrototyping giao diện sử dụng Expression Blend Sketch Flow
Prototyping giao diện sử dụng Expression Blend Sketch Flow
 
Postgresql security
Postgresql securityPostgresql security
Postgresql security
 
iOS Master - Detail & TabBar
iOS Master - Detail & TabBariOS Master - Detail & TabBar
iOS Master - Detail & TabBar
 
Minimum Viable Products
Minimum Viable ProductsMinimum Viable Products
Minimum Viable Products
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tế
 
Slide that wins
Slide that winsSlide that wins
Slide that wins
 
Bài trình bày cho sinh viên Bách Khoa 9/2012
Bài trình bày cho sinh viên Bách Khoa 9/2012Bài trình bày cho sinh viên Bách Khoa 9/2012
Bài trình bày cho sinh viên Bách Khoa 9/2012
 
Slide create databases_linh
Slide create databases_linhSlide create databases_linh
Slide create databases_linh
 

Ähnlich wie Phalcon introduction

Hướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHPHướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHPNguyễn Tuấn Quỳnh
 
Laravel
LaravelLaravel
LaravelHoc Vu
 
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXHướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXTechMaster Vietnam
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015IT Expert Club
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfHuyVnh4
 
php với oracle database
php với oracle databasephp với oracle database
php với oracle databaseNgo Trung
 
Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)The Big Deer
 
Báo cáo thực tập doanh nghiệp-Athena
Báo cáo thực tập doanh nghiệp-AthenaBáo cáo thực tập doanh nghiệp-Athena
Báo cáo thực tập doanh nghiệp-Athenaquocluong
 
Hướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebHướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebVKhang Yang
 
Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info Khánh Nguyễn
 
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptech
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-AptechLàm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptech
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptechbabyjessica0803
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Lương Bá Hợp
 
Php crawler and parser
Php crawler and parserPhp crawler and parser
Php crawler and parserNgoc Bui Dinh
 
Itlc2015
Itlc2015Itlc2015
Itlc2015Huy Do
 
Bao cao web cake php
Bao cao web cake phpBao cao web cake php
Bao cao web cake phplaonap166
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docxNgnHng26
 
Hướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxHướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxLe Thanh
 

Ähnlich wie Phalcon introduction (20)

Hướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHPHướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHP
 
Laravel
LaravelLaravel
Laravel
 
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXHướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
 
03 udpt php
03 udpt   php03 udpt   php
03 udpt php
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
 
php với oracle database
php với oracle databasephp với oracle database
php với oracle database
 
Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)
 
Mhst12 01
Mhst12 01Mhst12 01
Mhst12 01
 
Báo cáo thực tập doanh nghiệp-Athena
Báo cáo thực tập doanh nghiệp-AthenaBáo cáo thực tập doanh nghiệp-Athena
Báo cáo thực tập doanh nghiệp-Athena
 
Hướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebHướng nghiệp Lập trình Web
Hướng nghiệp Lập trình Web
 
Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info
 
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptech
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-AptechLàm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptech
Làm chủ website với khóa học lập trình web PHP TPHCM tại CNC-Aptech
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
 
Php crawler and parser
Php crawler and parserPhp crawler and parser
Php crawler and parser
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
 
Bao cao web cake php
Bao cao web cake phpBao cao web cake php
Bao cao web cake php
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docx
 
Hướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxHướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linux
 
Lesson 1 practice
Lesson 1 practiceLesson 1 practice
Lesson 1 practice
 

Mehr von TechMaster Vietnam

Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservicesTechMaster Vietnam
 
Chia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTTChia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTTTechMaster Vietnam
 
Manage your project differently
Manage your project differentlyManage your project differently
Manage your project differentlyTechMaster Vietnam
 
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMaster
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMasterChương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMaster
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMasterTechMaster Vietnam
 
Apple iOS Memory Management - Vietnamese version
Apple iOS Memory Management - Vietnamese versionApple iOS Memory Management - Vietnamese version
Apple iOS Memory Management - Vietnamese versionTechMaster Vietnam
 
Sinh viên CNTT làm gì trong 5 năm tới
Sinh viên CNTT làm gì trong 5 năm tớiSinh viên CNTT làm gì trong 5 năm tới
Sinh viên CNTT làm gì trong 5 năm tớiTechMaster Vietnam
 

Mehr von TechMaster Vietnam (13)

Neural Network from Scratch
Neural Network from ScratchNeural Network from Scratch
Neural Network from Scratch
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
 
Flutter vs React Native 2018
Flutter vs React Native 2018Flutter vs React Native 2018
Flutter vs React Native 2018
 
C đến C++ phần 1
C đến C++ phần 1C đến C++ phần 1
C đến C++ phần 1
 
Control structure in C
Control structure in CControl structure in C
Control structure in C
 
Basic C programming
Basic C programmingBasic C programming
Basic C programming
 
Knex Postgresql Migration
Knex Postgresql MigrationKnex Postgresql Migration
Knex Postgresql Migration
 
Chia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTTChia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTT
 
Manage your project differently
Manage your project differentlyManage your project differently
Manage your project differently
 
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMaster
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMasterChương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMaster
Chương trình thực tập chuyên sâu dành cho học viên khóa iOS tại TechMaster
 
Apple iOS Memory Management - Vietnamese version
Apple iOS Memory Management - Vietnamese versionApple iOS Memory Management - Vietnamese version
Apple iOS Memory Management - Vietnamese version
 
Sinh viên CNTT làm gì trong 5 năm tới
Sinh viên CNTT làm gì trong 5 năm tớiSinh viên CNTT làm gì trong 5 năm tới
Sinh viên CNTT làm gì trong 5 năm tới
 
Windows 8 vs android 4
Windows 8 vs android 4Windows 8 vs android 4
Windows 8 vs android 4
 

Phalcon introduction

  • 1. Giới thiệu Phalcon PHP Framework Trinh Minh Cuong, cuong@techmaster.vn http://techmaster.vn
  • 2. Nội dung 1.  Giới  thiệu   2.  Cài  đặt  Phalcon   3.  GET  /  POST  –  xử  lý  form  (xem  slide  sau)   4.  Upload  file  (xem  slide  sau)   5.  Tạo  web  service  (xem  slide  sau)   6.  Đọc  ghi  cơ  sở  dữ  liệu  (xem  slide  sau)   http://techmaster.vn
  • 4. Phalcon Framework •  Là  một  thư  viện  (framework)  để  phát  triển  web   site  PHP  tốc  độ  cao,  tiện  cho  lập  trình  viên   •  Phalcon  được  viết  bằng  C,  biên  dịch  ra   extension   –  Linux,  Mac:  phalcon.so   –  Windows:  php_phalcon.dll   http://techmaster.vn
  • 5. Phalcon phản hồi rất tốt Requests  per  second  của   Phalcon  cao  hơn  hầu  hết  các   PHP  framework  hiện  nay   http://techmaster.vn
  • 7. Phalcon chỉ chậm hơn raw PHP, HipHop VM •  Raw  PHP  chạy  nhanh   nhưng  không  có  sẵn   framework   •  HipHop  VM  do  FaceBook   tạo  ra,  biên  dịch  PHP  thành   bytecode   h?p://coderoncode.com/2013/07/24/introducIon-­‐hhvm.html   http://techmaster.vn
  • 8. Tại sao chọn Phalcon mà không chọn HipHop VM? •  Sẽ  thử  HipHopVM  khi  nào  nó  hoàn  toàn  tương   thích  với  PHP   •  HipHopVM  không  phải  là  framework  để  tăng   hiệu  suất  lập  trình  mà  nó  là  virtual  machine  biến   PHP  parsing  thành  byte-­‐code  execution   •  Techmaster  cần  framework  để  lập  trình  hiệu   quả  và  khi  triển  khai  tốc  độ  thực  thi  nhanh  !   http://techmaster.vn
  • 9. Tại sao không chọn WordPress, Joomla, Drupal? •  Khi  dự  án  mobile  nối  vào  web  cần  web  service   dễ  lập  trình,  tốc  độ  cao  trên  phần  cứng  khiêm   tốn   •  WordPress,  Joomla,  Drupal  mạnh  về  CMS,  dễ   cài  đặt,  dễ  đổi  theme  nhưng  không  phù  hợp   làm  server  cho  ứng  dụng  mobile   http://techmaster.vn
  • 10. Phalcon vs Ruby On Rails •  Techmaster  đã  từng  thử  nghiệm  Ruby  On  Rails,   Phusion  Manager,  Nginx  cố  gắng  tối  ưu  nhưng  khả   năng  đáp  ứng  Requests  Per  Second  kém   •  Dễ  lập  trình:    Phalcon  tương  đương  Rails   •  Cộng  đồng  chưa  bằng  Rails.  Rails  Gem  rất   xuất  sắc  nhưng  Phalcon  có  thể  viết  PHP   thường   http://techmaster.vn
  • 11. So với các PHP Framework khác •  CodeIgniter,  YII,  Kohana,  Laravel    đều  chậm   hơn  Phalcon   •  Vấn  đề  lớn  nhất  của  Phalcon  là  nó  không  chạy   được  trên  SharedHosting  mà  yêu  cầu  VPS   Hosting   •  Tuy  nhiên  hiện  nay  VPS  Hosting  rất  rẻ    à   http://techmaster.vn
  • 12. VPS Hosting: Digital Ocean Chỉ  với  $5  một  tháng  là  bạn  đã  có  một  máy  ảo  chạy  khá  nhanh   http://techmaster.vn
  • 13. VPS Hosting Linode  chạy  rất  ổn  định,  có  data  center  ở  Nhật.  Giữa  VN  và  Nhật   có  đường  cáp  quang  băng  thông  rất  tốt   http://techmaster.vn
  • 14. Hiệu suất lập trình của Phalcon •  DB:  MySQL,  Postgresql,  Oracle,  SQLite  and  PDO   •  Caching:  File,  Memcache,  Memory,  Mongo,  Xcache   •  MVC:  template  engine:  Volt   •  ORM  (Object  Relational  Mapping)   •  ODM  (Object  Document  Mapper)   •  ACL  (Access  Control  List):  quản  lý  phân  quyền  rất  mềm  dẻo   •  Logging:  stream,  file,  system,  FirePHP   http://techmaster.vn
  • 16. Nhóm tác giả & fan h?p://phalconphp.com/en/team   Techmaster  có  đội  6  dev   Phalcon  thực  hiện    3  web   sites  phức  tạp  về  nghiệp  vụ   trong  3  tháng  –  khách  hàng   happy  !   http://techmaster.vn
  • 17. Tương lai của Phalcon •  Bản  hiện  giờ  1.2.4  chạy  khá  ổn  định   •  Bản  1.3  beta  tối  ưu  sửa  nhiều  lỗi,  12/2013   •  Bản  2.0  xuất  hiện  ngôn  ngữ  Zephir  để  lập  trình  có  thể   viết  module  core  dịch  ra  C  và  cuối  cùng  là  biên  dịch   thư  viện  mở  rộng   http://techmaster.vn
  • 18. Phalcon 2.0 - Zephir To  address  the  specific  needs  associated  by  building  a  framework/library   as  a  PHP  extension  written  in  C,  we  have  decided  to  build  a  brand  new  tool   that  will  help  all  of  us  in  terms  of  developing,  supporting  and  enhancing   Addressing  the  specific  needs  of  build  a  framework/library  as  a  C-­‐ extension,  we  have  decided  build  a  new  tool  to  make  our  lives  easier   ensuring  this  project  will  have  a  clear  future.   In  recent  weeks  we  have  been  creating  a  new  programming  language   called  Zephir.  It’s  a  high  level  language,  something  between  C  and  PHP.  It’s   both  dynamic  and  static  typed  and  it  supports  just  the  features  we  need   to  create  and  maintain  a  project  like  Phalcon.   h?p://blog.phalconphp.com/post/57161129440/phalcon-­‐2-­‐0-­‐the-­‐future     http://techmaster.vn
  • 19. Cấu hình cài đặt http://techmaster.vn
  • 20. Môi trường phát triển •  Mac,  Linux,  Windows     •  Web  server:  Apache  –  Nginx   –  http://techmaster.vn/2013/10/homebrew/   –  http://techmaster.vn/2013/10/cai-­‐dat-­‐phalcon-­‐mac/     –  http://techmaster.vn/2013/10/nginx-­‐share-­‐hosting/   –  http://techmaster.vn/2013/10/postgresql-­‐tren-­‐mac/   http://techmaster.vn
  • 21. Môi trường triển khai thật •  Nên  dùng  web  server  Nginx,  PHP-­‐FPM  chạy   trên  Linux  Ubuntu  -­‐>  rất  ổn  định   FPM  (FastCGI  Process  Manager)  is  an   alterna5ve  PHP  FastCGI  implementa5on   with  some  addi5onal  features  (mostly)   useful  for  heavy-­‐loaded  sites.   http://techmaster.vn
  • 22. Các bước chính 1.  Cài  Homebrew   2.  Cài  Nginx,  start  thử,  nếu  ok  thì  tiếp   3.  Cài  PHP-­‐FPM,  start  thử  kiểm  phpinfo()   4.  Cài  Postgresql  hoặc  MariaDB   5.  Cài  Phalcon  (php55-­‐phalcon),  cài  DevTools   6.  Cài  Xdebug  (php55-­‐xdebug)   http://techmaster.vn
  • 23. Học Phalcon qua các ví dụ đã chạy rất ổn định •  Album  O  Rama   –  Demo  http://album-­‐o-­‐rama.phalconphp.com/     –  Source  https://github.com/phalcon/album-­‐o-­‐rama     •  Nivo   –  Demo  https://github.com/phalcon/invo     –  Source  https://github.com/phalcon/invo     •  Forum   –  Production  http://forum.phalconphp.com/   –  Source  https://github.com/phalcon/forum     •  CMS   –  Demo  http://phalconeye.com/     –  Source  https://github.com/lantian/PhalconEye     http://techmaster.vn
  • 25. Phalcon -Devtool cuong:www TechMaster$ cd /usr/local/var/www cuong:www TechMaster$ phalcon Phalcon DevTools (1.2.4) Available commands: commands (alias of: list, enumerate) controller (alias of: create-controller) model (alias of: create-model) all-models (alias of: create-all-models) project (alias of: create-project) scaffold migration webtools cuong:www TechMaster$ phalcon project paris   http://techmaster.vn
  • 26. IDE để viết mã •  Sublime  gọn  nhẹ,  đủ  dùng   •  Netbean  hoặc  PHP  Storm  đều  ok   •  Thậm  chí  khi  vội  dùng  nano  hoặc  VIM   •  Bật  Xdebug  để  browser  hiện  lỗi  khi  lập  trình   http://techmaster.vn
  • 27. Bây giờ là phần thực hành http://techmaster.vn
  • 28. Nếu  bạn  cần  phát  triển  ứng  dụng  web  trên  Phalcon  với   kinh  nghiệm  đội  phát  triển  Qch  lũy  qua  nhiều  dự  án  mobile   –  web,  dynamic  responsive  web  quốc  tế     Tham  khảo  khóa  học  này   h^p://techmaster.vn/web/php-­‐phalcon/     http://techmaster.vn