Khi nhắc tới PHP thì không thể ko nhắc tới PHP framework là một mảnh
ghép không thể thiếu để giúp hoàn thiện PHP, nó giúp PHP trở nên trơn tru
hơn bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng ứng dụng .
PHP Frameworkhiện nay khá đầy đủ và đáp ứng hầu hết các điều kiện cần
và đủ cho việc xây dựng một dự án. Nói tới Framework thì nổi bật nhất vẫn
là: Zend Framework, CodeiGniter Framework, CakePHP Framework, .
Các framework này chú trọng những chi tiết nhỏ nhất trong lập trình. Nhằm
giảm tải thời gian vận dụng cho người sử dụng chúng. Chẳng hạn như các
helper giúp người dùng xây dựng form, các helper giúp người dùng sử dụng
những thẻ HTML, các helper giúp người dùng validation các form và dữ
liệu, .Những điều này, thực tế chỉ góp phần làm cho Framework đó trở nên
thân thiện và quen thuộc với người dùng nhiều hơn
8 trang |
Chia sẻ: lylyngoc | Lượt xem: 1551 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Cần hay không cần PHP Framework, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
[Thảo luận]Cần hay
không cần PHP
Framework
php framework
Khi nhắc tới PHP thì không thể ko nhắc tới PHP framework là một mảnh
ghép không thể thiếu để giúp hoàn thiện PHP, nó giúp PHP trở nên trơn tru
hơn bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng ứng dụng .
PHP Framework hiện nay khá đầy đủ và đáp ứng hầu hết các điều kiện cần
và đủ cho việc xây dựng một dự án. Nói tới Framework thì nổi bật nhất vẫn
là: Zend Framework, CodeiGniter Framework, CakePHP Framework,….
Các framework này chú trọng những chi tiết nhỏ nhất trong lập trình. Nhằm
giảm tải thời gian vận dụng cho người sử dụng chúng. Chẳng hạn như các
helper giúp người dùng xây dựng form, các helper giúp người dùng sử dụng
những thẻ HTML, các helper giúp người dùng validation các form và dữ
liệu,….Những điều này, thực tế chỉ góp phần làm cho Framework đó trở nên
thân thiện và quen thuộc với người dùng nhiều hơn.
Nhưng thực tế, PHP Framework cũng để lại những hệ lụy tác động tới nhiều
yếu tố của ứng dụng hay nghiêm trọng hơn vẫn là tới yếu tố con người.
Trong bài này, chúng ta cùng phân tích xem. Vấn đề gì cần quan tâm và cần
chú ý khi vận hành bất kể PHP Framework nào.
Tại sao chúng ta nên sử dụng PHP Framework?
Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework,
nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền
tăng tốc quá trình phát triển ứng dụng. Việc sử dụng lại các mã lệnh giống
nhau trong nhiều project sẽ giúp các bạn tiết kiệm được thời gian và công
sức 1 cách đáng kể. Một framework sẽ cung cấp sẵn các module nền tảng
cần thiết để xây dựng 1 project, vì thế, các lập trình viên có thể tận dụng
được thời gian để phát triển các ứng dụng thực tế, hơn là mất thời gian để
xây dựng lại nền tảng trên mỗi project.
Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng
Framework. Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại
có nhiều người thích sử dụng nó, nhưng đồng thời đó cũng là điểm yếu của
nó. PHP thì khá dễ học và sử dụng, đặc biệt là đối với những người mới làm
quen với lập trình, tuy nhiên, họ có thể thường xuyên viết mã 1 cách không
khoa học và thậm chí không hề nhận thức được điều này, với PHP, trong
nhiều trường hợp các ứng dụng vẫn sẽ làm việc được, nhưng vô tình họ có
thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và bị hacker khai
thác.
Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng
(extensive), và cũng có rất nhiều framework khác nhau để các bạn lựa chọn.
Bạn thậm chí còn có thể tự viết riêng cho mình 1 framework. Tuy nhiên, bạn
nên cân nhắc kỹ trước khi quyết định sử dụng 1 framework nào cho mình
hay không, nên tự đặt câu hỏi cho chính mình là: Nó có tiết kiệm được cho
bạn thời gian và công sức hay không ? Có giúp ứng dụng bạn hoạt động tốt
hơn không ? Có cải thiện được sự ổn định cho ứng dụng không? Hãy tìm ra
câu trả lời cho chính mình để quyết định xem bạn có cần xài framework hay
chưa, và nên xài framework nào.
Những điểm cần lưu ý khi lựa chọn 1 PHP Framework ?
Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn lựa chọn, thậm
chí bạn có thể tự tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều
này chỉ được khuyến khích dành cho các chuyên gia PHP (PHP expert) ,
những người đã có kiến thức và hiểu biết vững vàng về framework. Khi bạn
cần tìm một loại PHP framework phù hợp nhất với nhu cầu của mình, đừng
quên lưu ý về độ phổ biến của nó, ngoài ra ứng dụng web của bạn được phát
triển bởi bao nhiêu người cũng là 1 điều nên lưu ý. Một PHP framework
càng được phổ biến, tức là nó càng được nhiều người sử dụng và phát triển.
Mặt khác, nếu bạn muốn xây dựng ứng dụng cho website của riêng mình, tốt
nhất bạn nên chọn 1 PHP framework phù hợp và dễ sử dụng nhất đối với
nhu cầu của bạn – không quan trọng nó có được nhiều người sử dụng hay
không.
Các yếu tố bạn nên lưu ý trước khi muốn tìm kiếm 1 PHP framework để sử
dụng bao gồm như sau: dễ sử dụng, phát triển nhanh và hiệu quả, phổ biến
giữa các developer, có các tính năng mạnh mẽ, có diễn đàn hỗ trợ. Hầu hết
các framework đều có các điểm yếu và thế mạnh khác nhau, ví dụ Zend
Framework đã được phổ biến từ version 1.3 và có đầy đủ các tính năng
mạnh mẽ, cộng thêm 1 cộng đồng phát triển hỗ trợ extension rộng lớn.
Ngược lại, CakePHP lại là 1 loại PHP framework khác, mới ra đời sau này,
nhưng lại ít có cộng đồng phát triển hỗ trợ hơn Zend, nhưng nó cũng được
nhiều người lựa chọn vì tính thân thiện với người dùng và dễ sử dụng.
Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó,
thế nên tốt nhất là bạn nên tìm hiểu kỹ và xài thử để có chọn lựa đúng đắn
cho nhu cầu của mình. Ngoài ra bạn có thể nhờ những người đã có kinh
nghiệm sử dụng tư vấn thêm cho mình, họ sẽ giúp bạn phân tích các tính
năng cần thiết cho nhu cầu của mình và nên sử dụng loại nào.
Những điểm cần lưu ý khi sử dụng 1 PHP framework ?
Lỗi là điều không thể tránh khỏi trong việc lập trình, nhưng PHP framework
sẽ giúp bạn hạn chế rất nhiều sai sót bằng cách cung cấp các thư viện mã
lệnh chuẩn. Viết lại các đoạn mã lặp lại nhiều lần không cần thiết sẽ dễ dẫn
đến việc phát sinh lỗi, và PHP framework sẽ loại bỏ vấn đề này giúp bạn.
Tuy nhiên, bạn vẫn phải có những chú ý khi sử dụng bất kỳ PHP framework
nào. Ví dụ, nếu bạn không phải là 1 chuyên gia lập trình PHP, bạn nên sử
dụng 1 loại framework phổ biến, có 1 cộng đồng hộ trợ rộng lớn. Vẫn có rất
nhiều loại framework có ít hoặc không có cộng đồng hỗ trợ, và các loại
framework này chủ yếu được viết bởi các cá nhân nào đó với kiến thức
không chuyên sâu.
Một số lỗi phổ biến khác là do bạn không bảo đảm được cấu hình để xuất
phiên bản database và web server tương thích với framework. Ví dụ, Seagull
PHP Framework đề xuất cấu hình như sau:
PHP: PHP 4.3.0 is the minimum, later versions work fine, as do versions
PHP 5.1.1 and above. Avoid anything in the 5.0.x series
MySQL: MySQL 4.0.x, 4.1.x and 5.0.x are all supported. You can also use
3.23.x.
Apache: Seagull works fine with 1.3.x and 2.x series of Apache
Nếu bạn không đáp ứng được các yêu cầu này, thì framework sẽ không thể
hoạt động 1 cách hiệu quả được. Thậm chí nếu bạn là 1 chuyên gia PHP, bạn
cũng nên xem qua các tài liệu hướng dẫn về cấu hình đề xuất của framework
trước khi muốn sử dụng nó. Ngoài ra việc xem hướng dẫn cài đặt của 1
framework sẽ giúp bạn tránh được những lỗi không cần thiết và tiết kiệm
được thời gian để đi vào phát triển ứng dụng của mình cho những lần sau.
Model PHP framework.
Hầu hết các PHP Framework đều xây dựng trên mô hình M-V-C một trong
những design pattern. Mô hình này sẽ tách code thành 3 phân vùng khác
nhau với 3 trách nhiệm khác nhau. Controller sẽ đóng vai trò tiếp nhận
request (yêu cầu) để chuyển chúng tới cho Model. Lúc này model sẽ vận
hành các cấu trúc Active Record hoặc SQL thuần để lấy ra thông tin từ
database sau đó đổ chúng vào dạng mảng. Lúc này khi controller yêu cầu tới
request nào nó sẽ đẩy mảng thông tin đó vào view. Tại view để lấy được các
giá trị trong mảng, ta lại phải duyệt mảng để lấy ra từng phần tử đơn lẻ như
thế. Việc này càng làm cho ứng dụng trở nên chậm chạp. Góp phần gia tăng
tính chậm chạp của PHP
Autoload – yếu tố chính làm chậm framework.
Để giúp người sử dụng dễ dàng vận hành các thư viện, các PHP
Frameworkthường cho phép tính năng autoload luôn bật ở mọi nơi. Điều này
giúp cho người lập trình không tốn thời gian khởi tạo các đối tượng khi cần
dùng tới. Bởi chúng đã được triệu gọi ngay khi chúng ta truy cập tới
controller . Có vẻ lợi nhiều hơn hại. Nhưng thực tế, chính autoload trở thành
bài toán khá nan giải khi người sử dụng triệu gọi một đối tượng bất kỳ. Vì
không phải controller nào cũng cần những thư viện giống nhau. Nó tùy
thuộc vào yêu cầu của controller đó như thế nào và ra sao. Do đó, đừng bao
giờ áp đặt cho PHP Frameworkcủa chúng ta phải load tất cả các thư viện.
Thực sự là có lợi nhưng phần nào ảnh hưởng tới ứng dụng của bạn.
Hướng đối tượng trong PHP framework.
Để code được mạch lạc, được trong sáng. Người lập trình đều muốn đưa mã
nguồn của họ về hướng đội tượng Để giúp họ phát huy yếu tố kế thừa và vận
hành hiệu quả những gì mà họ đã từng làm với các ứng dụng trước đó. Hơn
nữa, mô hình hướng đối tượng (Object-Oriented Programming) cũng là một
thế mạnh của PHP. Nên cứ thế mà lập trình viên không ngừng xây dựng
code của mình theo hướng đó. Đúng là OOP làm code trở nên trong sáng và
rõ ràng, nhưng lạm dụng OOP một cách thiếu linh động sẽ làm gây tác dụng
ngược lại với lợi ích mà chúng ta luôn mong muốn. Nên vận dụng OOP thật
khéo léo với design pattern để phát huy tối đa sức mạnh mà OOP vốn có.
Lười Code – sự lo lắng của lập trình viên.
PHP Framework đúng một trong những bước tiến đáng kể của PHP. Bởi
việc xây dựng hàng loạt các thư viện giúp người dùng giải quyết bài toán
một cách khoa học và không cần phải làm lại những thao tác đã quá căn bản.
Nhưng cũng chính vì những điều này mà PHP Framework làm cho người lập
trình có thói quen ỷ lại một cách nghiêm trọng khi vận dụng PHP
Framework. Chẳng hạn ở phiên bản CodeIgniter 1.7.2, CodeIgniter đã hỗ trợ
cho người sử dụng cả thư viện shopping cart, image,….Việc này vô tình làm
cho Lập trình viên PHP có suy nghĩ lười nhác trong việc vận dụng và phát
triển. Với họ việc tạo 1 cart online chỉ đơn giản là móc, móc, trỏ, trỏ. Gọi
lớp kia, gọi lớp này là xong. Vô tình chính PHP Framework đã giết chết suy
nghĩ của người lập trình.
Nếu lúc nào lập trình viên cũng chỉ biết dựa vào PHP Framework mà quên
mất PHP Framework cũng được làm nên từ những kiến thức mà họ có được.
Thì chắc chắn, lập trình viên đó mãi sẽ không thể thoát khỏi cái bóng lớn
của PHP Framework đem lại. Vậy ở khía cạnh 1 lập trình viên, chúng ta nên
có cách nhìn đúng đắn. Khi PHP Frameworkcung cấp 1 thư viện mới, đừng
ngần ngại vọc xem làm thế nào chúng giải quyết bài toán đó. Từ đó ta mới
có thể rút ra được những cải tiến, tối ưu mà PHP Frameworkđem lại. Chưa
kể nó sẽ bổ sung một lượng kiến thức khổng lồ cho bạn khi đọc sâu và tìm
hiểu chu trình hoạt động của một thư viện PHP Framework bất kỳ.