Cũng như nhiều bạn đang học lập trình và sẽ chọn lập trình là sự
nghiệp của mình sau này thì việc đứng trước những ngôn ngữ lập trình
khác nhau sẽ có những thắc mắc và tò mò về ngôn ngữ đó. Và PHP là một trong số những ngôn ngữ mà các bạn trẻ IT đang rất
quan tâm và muốn tìm hiểu để thiết kế Website. Với một chút kinh nghiệm
làm việc và hiểu biết về PHP, mình viết bài này để chia sẽ và giới
thiệu tới các bạn – những người đang quan tâm tới PHP – một cái nhìn
thấu đáo và dễ hiểu hơn về ngôn ngữ lập trình thú vị này.
[You must be registered and logged in to see this image.]Mặc dù ra đời chưa lâu, nhưng Internet đã trở thành một phần trong
cuộc sống của hầu hết chúng ta. Cùng với sự hình thành của Internet, sự
ra đời và phát triển của hệ thống website đã làm cải thiện và phong phú
hơn cho xã hội hiện nay. Với xu thế đó, xây dựng website trở thành một
hành động “cần được xem xét” đối với lập trình viên.
Khác với mô
hình lập trình Desktop thông thường, lập trình trên môi trường web chủ
yếu dựa vào mô hình Client-Server và giao thức HTTP để làm việc. Hiện
tại, có khá nhiều ngôn ngữ cho phép chúng ta lập trình web như Java,
.NET, PHP, Perl, Python, Ruby on Rails…mỗi ngôn ngữ đều có những ưu và
khuyết điểm riêng. Nội dung của bài viết này sẽ đi vào một số điểm nổi
bật của PHP và một số nhân tố khiến PHP ngày càng trở nên phổ biến như
ngày nay.
Với PHP, bạn có thể viết ra nhiều kiểu ứng dụng có mô hình
tương tác khác nhau như thông qua website (HTTP Request – Response),
thông qua Command Line Interface – CLI (Shell, Batch processing…), Web
Service (SOAP, REST…), thông qua ứng dụng Desktop (PHP-GTK)…. Giống như
các công nghệ web khác, PHP là một ngôn ngữ phía Server, có nghĩa là
code của bạn sẽ được triển khai và thực thi trên Server.
Mới ra đời
gần 15 năm nhưng PHP đã có sự phát triển nhanh chóng và chóng mặt. Có
thể chỉ ra đây một số ứng dụng nổi tiếng viết bằng PHP như: Yahoo,
Facebook, Wikipedia, Digg, Joomla, WordPress…Sự phổ biến của PHP trong
xây dựng web đã làm cho ngày càng nhiều website triển khai bằng PHP. Một
số dạng web tiêu biểu có thể viết bằng PHP là : Social Network, Message
Board (Forum, Guestbook, Blog…), CMS (Content Management System),
E-Commerce, Multimedia (Image Gallery, Music, Video…), Web Mail, IM
(Instant Message), Office tools…
Tôi chọn PHP vì:Mã nguồn mở- Có lẽ nhiều bạn cũng biết PHP là một sản phẩm mã nguồn mở (Open-source) nên việc cài đặt và tùy biến PHP là miễn phí và tự do.
- Vì có ưu thế nguồn mở nên PHP có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS…
Tính Cộng đồng của PHP- Là một ngôn ngữ mã nguồn mở cùng với sự phổ biến của PHP thì cộng đồng PHP được coi là khá lớn và có chất lượng.
- Với cộng đồng phát triển lớn, việc cập nhật các bản vá lỗi phiên bản
hiện tại cũng như thử nghiệm các phiên bản mới khiến PHP rất linh hoạt
trong việc hoàn thiện mình.
- Cộng đồng hỗ trợ, chia sẽ kinh nghiệm
của PHP cũng rất dồi dào. Với rất nhiều diễn đàn, blog trong và ngoài
nước nói về PHP đã khiến cho quá trình tiếp cận của người tìm hiểu PHP
được rút ngắn nhanh chóng.
Thư viện phong phú- Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong
phú và đa dạng. Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm
(PHP.net…) cho tới những cái lớn hơn như Framework (Zend, CakePHP,
CogeIgniter, Symfony…) ,ứng dụng hoàn chỉnh (Joomla, WordPress, PhpBB…)
- Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất
dễ dàng và nhanh chóng. Đây cũng chính là đặc điểm khiến PHP trở nên
khá nổi bật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử
dụng PHP để phát triển web.
Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu- Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất
yếu và PHP cũng đáp ứng rất tốt nhu cầu này. Với việc tích hợp sẵn nhiều
Database Client trong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới
các hệ cơ sở dữ liệu thông dụng.
- Việc cập nhật và nâng cấp các
Database Client đơn giản chỉ là việc thay thế các Extension của PHP để
phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc.
- Một số hệ cơ sở dữ liệu thông dụng mà PHP có thể làm việc là: MySQL, MS SQL, Oracle, Cassandra…
Lập trình hướng đối tượng- Ngày nay, khái niệm lập trình hướng đối tượng (OOP) đã không còn xa
lạ với lập trình viên. Với khả năng và lợi ích của mô hình lập trình
này nên nhiều ngôn ngữ đã triển khai để hỗ trợ OOP.
- Từ phiên bản
PHP 5, PHP đã có khả năng hỗ trợ hầu hết các đặc điểm nổi bật của lập
trình hướng đối tượng như là Inheritance, Abstraction, Encapsulation,
Polymorphism, Interface, Autoload…
- Với việc ngày càng có nhiều
Framework và ứng dụng PHP viết bằng mô hình OOP nên lập trình viên tiếp
cận và mở rộng các ứng dụng này trở nên dễ dàng và nhanh chóng.
Tính Bảo mật- Bản thân PHP là mã nguồn mỡ và cộng đồng phát triển rất tích cực nên có thể nói PHP khá là an toàn.
- PHP cũng cung cấp nhiều cơ chế cho phép bạn triển khai tính bảo mật
cho ứng dụng của mình như session, các hàm filter dữ liệu, kỹ thuật ép
kiểu, thư viện PDO (PHP Data Object) để tương tác với cơ sở dữ liệu an
toàn hơn.
- Kết hợp với các kỹ thuật bảo mật ở các tầng khác thì ứng dụng PHP sẽ trở nên chắc chắn hơn và đảm bảo hoạt động cho website.
Khả năng mở rộng cho PHP- Bằng việc xây dựng trên nền ngôn ngữ C và là mã nguồn mở nên khả
năng mở rộng cho ứng dụng PHP có thể nói là không có giới hạn.
- Với
thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thể tương
tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ
liệu, mã hóa, thao tác file PDF, Office, Email, Streaming…
- Bạn
hoàn toàn có thể tự xây dựng cho mình các Extension để tối ưu, bổ sung
các chức năng cho PHP cũng như tối ưu luôn Core của PHP để phục vụ cho
các mục đích mở rộng website của mình.
Liệu biết PHP là đủ?Như nhiều bạn lập trình viên có khả năng học khá nhiều ngôn ngữ lập
trình nói chung và ngôn ngữ lập trình web nói riêng thì việc chỉ biết
mỗi PHP thì có lẽ chưa “thỏa mãn”. Biết một ngôn ngữ chưa hẳn là ít, nếu
bạn chú tâm và đào sâu thì mỗi ngôn ngữ luôn có những tầng khác nhau để
khám phá. Không sợ học hết, chỉ sợ học không nổi mà thôi!
Nói đi
cũng phải nói lại, nếu chỉ biết mỗi PHP thì thật sự bạn khó có khả năng
triển khai 1 website. Bởi vì trong một hệ thống website, Coding PHP chỉ
là một mảng nhỏ trong khâu sản xuất web mà thôi. Bạn cần phải trang bị
một số kiến thức khác trong công nghệ web như : HTML, CSS, Javascript,
SEO, UML, Database, Networking…để đảm bảo bạn nắm được những gì sẽ xảy
ra trong quá trình làm web vì nó sẽ rất có ích cho bạn khi triển khai
PHP.
Như vậy có nghĩa là học lập trình web thì bạn phải vừa học theo
chiều sâu và học theo chiều rộng. Ngôn ngữ lập trình web phía Server
(PHP) thì học càng sâu càng tốt và các công nghệ của web thì tìm hiểu
càng rộng càng tốt. Có như vậy bạn mới có một cái nhìn toàn diện hơn về
ứng dụng web và dễ dàng hoàn thiện website.
Môi trường làm việc, thị trường & tương lai của PHPĐể học tập và nghiên cứu PHP thì triển khai môi trường để tiến hành
rất dễ. Bạn có thể cài các bộ ứng dụng đầy đủ để tạo mô hình
Client-Server ngay trên máy của mình để học (AppServ, WAMP, XAMPP…) .
Nếu bạn không muốn code từ đầu thì có thể nghiên cứu các Framework PHP
để phát triển ứng dụng trên đó như là Zend, CakePHP, CodeIgniter…
Như hầu hết các ngôn ngữ lập trình hiện đại khác, bạn cũng có thể sử
dụng các IDE để phát triển ứng dụng PHP như Zend Studio, Nusphere PhpED,
NetBeans…Với các tính năng nổi bật như là Code & Syntax
Highlighting, Auto-Complete, Project Manager, Code Navigator, Debug…thì
việc code PHP sẽ trở nên dễ dàng và nhanh chóng hơn.
Với việc
ngày càng có nhiều ứng dụng lớn viết bằng PHP, sự đa dạng trong ứng dụng
và Framework làm cho thị trường và tương lai dành cho các bạn yêu thích
PHP là rất lớn. Ngoài ra, bạn có thể thử sức với chứng chỉ ZCE của Zend
trong lĩnh vực PHP. Rất nhiều công ty đang chọn PHP làm ngôn ngữ phát
triển website cho khách hàng cũng như sản phẩm của riêng họ nên việc
hiểu biết và chuyên sâu về công nghệ web nói chung và chuyên sâu về PHP
nói riêng sẽ là một lợi thế rất lớn cho các bạn.