Giới thiệu nền tảng Phalcon PHP. Phalcon hiện có benchmark cao nhất trong số các framework PHP. Năng suất lập trình cao, đầy đủ thư viện, cộng đồng phát triển này. Kinh nghiệm chia sẻ trong bài từ các dự án mà Techmaster.vn đã thực hiện
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
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
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