Rich Internet applications Web

Just another WordPress.com weblog

Bắt tay với định hướng lập trình viên web php Tháng Mười Hai 2, 2008

Chuyên mục: PHP — riasweb @ 10:34 chiều
Tags:

Tiêu đề bài viên đã nói lên mục đích của bài viết này. Lập trình viên web đang là một nghề được nhiều người lựa chọn, công việc tưởng chừng có vể dễ dàng, song nó lại bao gồm cần chuẩn bị nhiều thứ lổm ngổm ở trong đó. Nhưng làm lập trình viên phần mềm dù là desktop hay web thì rút cuộc cũng chỉ xoay quanh mấy việc là:

  • Nhập dữ liệu
  • Xử lý dữ liệu
  • Lưu trữ dữ liệu
  • Và hiển thị dữ liệu

Như vậy công việc xoay quanh cũng chỉ là làm việc với dữ liệu và tìm cách lưu trữ nó, hiển thị nó.

Công việc lập trình web cũng vậy, nhưng có nhiều định hướng cho người mới bắt đầu lựa chọn con đường này. Có thể chọn cho mình một chuyên môn mà phù hợp với khả năng của mình: Coder, Graphics Designer, System Designer. Sau đó là lựa chọn một ngôn ngữ đang thịnh hành bây giờ để bắt tay vào nghiên cứu: .NET, Java, PHP, Python, Perl… Như vậy sau khi xác định được xong các mục tiêu thì giờ chỉ còn là công việc bắt đầu nghiên cứu và thực hiện một dự án nho nhỏ để thực hành những cái mình đã học được.

Để làm một website cái đầu tiên cần có một ý tưởng tốt, một ý tưởng mà sẽ đem lại cho bạn lượng truy cập khổng lồ, đem lại các hợp đồng quảng cáo dài hạn và những dịch vụ gia tăng ở trên đó. Có thể tôi hơi nói lạc đề ở đây, vì đã là nghề lập trình viên thì chắc cũng gắn bó với công việc đi làm thuê ở các công ty để tích lũy cho mình kinh nghiệm thực tế, rồi sau đó ra ngoài thực hiện các hoài bão của riêng mình. Vậy ta hãy trở lại với vấn đề những điều khởi điểm khi bắt tay làm một lập trình viên web tốt. Tôi lấy ví dụ với một lập trình viên PHP.

I. Kiến thức cơ bản

- HTML, DHTML, XHTML

- Javascript

- CSS

- Một chút khiếu thẩm mỹ về màu mè, photoshop, Firework, illustrator, flash…

- Một số am hiểu về Database, thiết kế và phân tích.

II. Chọn một ngôn ngữ web thịnh

- Ví dụ của tôi là tôi chọn PHP (đơn giản dễ hiểu nhanh chóng, và bị chê là ko bảo mật)

- Chọn một hệ quản trị CSDL đi kèm, ví dụ MySQL.

III. Các kiến thức về Framework

- Bạn cần nắm bắt sơ qua một số kiến thức về các Framework hỗ trợ PHP, ví dụ như Zend studio, Adodb, Pear…

- Một mô hình chuẩn kiến trúc thiết kế phần mềm, ví dụ như MVC – Model view controller

- Một ít về UML để đọc các thiết kế hệ thống.

IV. Tìm kiếm các công cụ hỗ trợ lập trình

- HTML thì dễ dùng nhất là Dreamwaever, Front page. Khi bạn làm ngon rồi thì dùng notepad ++ hoặc các tools highlight code khác đễ dễ xem code là ổn.

- CSS thì có RapidCSS và một số phần mềm khác tương đối ổn cho việc thiết kế CSS

- Với PHP tôi chọn Eclipse cùng một số gói Plugin, một tools mạnh mẽ cho việc lập trình PHP mà lại hoàn toàn free.

- Sử dụng bộ Wamp hoặc Xampp để Deploy một hệ thống webserver cùng Database hỗ trợ php5 nhanh chóng và dễ config. Không cần phải cài mấy thứ bùng nhùng như Apache, PHP và MySQL.

- Chọn một tools quản trị Database MySQL như phpmyadmin (giao diện web) hay MySQL Front (desktop) hoặc SQLyog.

- Một Tools cho việc thiết kế hệ thống như Start uml, cho thiết kế database như MySQL Workbench. Các phần mềm này hoàn toàn miễn phí.

V. Tìm kiếm Opensource

- Sau khi bạn đã khá thành thục thì cũng là lúc nên tìm cho mình một Opensource hay để phát  triển, các công ty đều có chiến lược phát triển một dòng sản phẩm nào đó từ một OpenSource, vì lý do chúng có những thiết kế tốt, khả năng mở rộng cao, mềm dẻo và cộng đồng phát triển lớn, như: Joomla, drupal, WordPress, Nuke PHP hay Zend Cart…

OK giờ hãy thực hành một dự án nho nhỏ với một trang tin tức, bán hàng nhỏ để bạn luyện dần các kỹ năng làm việc. Với người lập trình web trên PHP thì công việc sẽ khá nhanh vì PHP là một ngôn ngữ dễ đọc và dễ làm. Nhưng nó đỏi hỏi bạn phải code nhiều và có những thiết kế tốt. Các ngôn ngữ khác như .NET hoặc Java thì độ khó chắc chắn là hơn PHP rồi, nhưng bù lại là sự hỗ trợ từ công cụ và các tài liệu phong phú trên mạng. Với PHP bạn cũng hoàn toàn được hỗ trỡ từ cộng đồng đông đảo, một trang khá hay bạn nên biết đó là trang www.phpclasses.org/.

 

Khái niệm php Tháng Chín 1, 2008

Chuyên mục: PHP — riasweb @ 12:45 sáng
Tags:

Khái niệm

PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào:

<html>
<head>
<title>Mã mẫu</title>
</head>
<body>
<?php
echo “Chào thế giới PHP!”;
?>
</body>
</html>

Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP.

Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp.

Lịch sử phát triển của PHP

PHP/FI

PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là ‘Personal Home Page Tools’. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.

PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.

Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.

PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.

PHP 3

PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác.

Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là ‘PHP’, một kiểu viết tắt hồi quy của “PHP: Hypertext Preprocessor”.

Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet.

PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm.

PHP 4

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả.

Một động cơ mới, có tên ‘Zend Engine’ (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.

Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.

Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP.

PHP 5

Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.

Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SPL

PHP 6

Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ http://snaps.php.net. Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL…

PHP ở cấp doanh nghiệp

Rất nhiều nhà phát triển ứng dụng và quản lý dự án có quan điểm rằng PHP vẫn chưa sẵn sàng cho cấp doanh nghiệp (enterprise) và trên thực tế, PHP vẫn chưa xâm nhập sâu được vào thị trường này. Chính vì thế, Zend đã tiến hành nhiều biện pháp nhằm chuẩn hóa PHP, tạo được sự tin cậy hơn cho giới người dùng cao cấp.

* Zend Platform là một bộ sản phẩm giúp quản lý hệ thống ứng dụng PHP, nâng cao hiệu suất, tăng tốc độ của ứng dụng PHP.
* Zend Framework là một tập hợp các lớp, các thư viện lập trình viết bằng PHP (PHP 5) nhằm cung cấp một giao diện lập trình chuẩn cho các nhà phát triển ứng dụng.

Ngoài ra, một số framework khác cũng đã được phát triển nhằm hỗ trợ lập trình PHP ở cấp doanh nghiệp, trong đó đáng chú ý có thể kể đến là CodeIgniter, CakePHP, Symfony, Seagull…

Sự hưởng ứng PHP ở Việt Nam

Mặc dù đây PHP 5 được coi là đã sẵn sàng cho doanh nghiệp nhưng sự chấp nhận PHP vẫn tiến triển khá chậm chạp đặc biệt là ở Việt Nam. Nhưng những nỗ lực đầu tiên để phổ biến PHP trong đó có dự án xây dựng Quy tắc viết mã PHP tiếng Việt đã được xúc tiến. Ngày 24 tháng 10 năm 2004, nhóm PHPVietnam đã đề xuất xây dựng PHPVietnam Mailing List đầu tiên trên Google Groups tại địa chỉ: http://groups-beta.google.com/group/phpvietnam. Tại đây cũng đã diễn ra những thảo luận để xây dựng diễn đàn cho cộng đồng PHP Việt Nam.

Đóng góp của người Việt cho cộng đồng PHP thế giới

Người Việt chưa đóng góp được gì nhiều. Chủ yếu sự tham gia của người Việt là thông qua việc dịch các tập tin ngôn ngữ và dựa trên những ứng dụng PHP sẵn có với chút sửa đổi để tạo nên các hệ thống thông tin thuần Việt như NukeViệt của nhóm NukeViệt.

Đóng góp lớn nhất ghi nhận đến hiện nay là sự xuất hiện của PHP Designer 2006 do Michael Pham (quốc tịch Việt Nam và Đan Mạch) xây dựng. Địa chỉ: http://www.mpsoftware.dk/ hoặc http://www.mpsoftware.eu/

Ngoài ra có nhiều mã nguồn mở viết bằng PHP được người Việt Nam sử dụng nhiều, chẳng hạn như mã nguồn Xtremedia là một hệ thống web giải trí được gọi tắt là “web nhạc”, do tác giả Lê Thanh Minh Quân (biệt danh trên mạng là redphoenix89) viết và phát triển. Nó được ưa chuộng vì mã nguồn đơn giản, giao diện bắt mắt, tốc độ nhanh, dung lượng nhẹ (file nén của toàn source chỉ có 112kb – bản 1.1) và đặc biệt là hoàn toàn miễn phí. Nhưng kèm theo đó là rất nhiều lỗi chưa được sửa. Một mã nguồn khác là SosoVN của tác giả Nguyễn Tôn Viễn, đây là 1 dạng CMS, hay còn gọi là “Hệ quản lí bài viết” rất hay, hiện SosoVN chỉ phát hành bản thương mại.

Cộng đồng người Việt hiện nay cũng cho ra đời khá nhiều script miễn phí PHP để giúp phát triển PHP ở Việt Nam. Ngoài ra còn có một số người đã biên dịch các sách PHP ra tiếng Việt cho những người mới biết.

(vi.wikipedia.org)