Categories
PHP Web Design

Smarty : Một công cụ thiết yếu cho người làm web

smarty-logo-orange

Hôm nay mình giới thiệu tới các bạn một bộ thư viện được coi là một trong những thư viện tốt nhất hiện nay khi sử dụng PHP để làm web, đó là Smarty.

Mình đã sử dụng cái này lâu rồi, sáng nay rảnh rỗi đọc cái document mới của nó, thấy bổ sung nhiều cái thú vị quá, thấy phấn khởi nên viết bài này giới thiệu Smarty đến mọi người.

Categories
PHP

Người thứ 6 có chứng chỉ ZCE – PHP 5 ở Việt Nam

Thế là bao nhiêu mong đợi, hồi hộp, lo lắng suốt 3 tuần qua đã kết thúc bằng một kết quả tốt đẹp. Mình đã có chứng chỉ ZCE về PHP5 và trở thành người thứ 6 ở Việt Nam có chứng chỉ này.

Thi xong cách đây 1 tiếng, tâm trạng vẫn còn hưng phấn nên viết blog ngay kẻo quên. Hôm qua ngủ sớm, hôm nay 6h sáng đã dậy chuẩn bị tinh thần rồi. tới 8h15 thì lên chiến mã của mình tới cung điện saigonctt, tại đó gặp mí nàng công chúa rất là dễ thương và hiếu khách. Sau một số thủ tục cần thiết trước khi ra chiến trường (ký tên, đọc luật lệ của bá tước Pearson VUE), mình tiến hành đi cùng 1 tiểu thư xinh đẹp vào phòng thi, tất nhiên tiểu thư đó nói vài lời giả dối rồi bỏ mình lại chiến trường.

Sau 70 phút quyết chiến, và 20 phút xem xét lại kết quả chiến đấu, mình đã cảm thấy cồn cào trong bụng, và con ma đói bắt đầu hoành hành. Mình quyết định nhấn kết thúc để giải quyết trận chiến đã chuẩn bị từ lâu này. Theo binh pháp Tôn tử thì không nên kéo dài trận chiến, chỉ hao quân lương và làm khổ bá tánh.

Categories
PHP

Tìm hiểu về PHP Language Construct

php-language-construct

Nếu các bạn lập trình trên PHP, thì chắc đã làm việc rất nhiều với khái niệm hàm (Function). Tuy nhiên, không biết các bạn có từng nghe về Language Construct trong PHP chưa. Có lẽ các bạn đã sử dụng hoài mà không biết thôi ^^. Nói 1 cách đơn giản, Language Construct là một dạng hàm đặc biệt, các hàm này được khai báo kèm với core của PHP, tức là không thông qua một thư viện hay extension nào cả. Số lượng Language Construct của PHP không nhiều.

Vậy lợi ích của Language Construct là gì? Sau đây mình liệt kê 1 số ích lợi khi sử dụng Language Construct:
– Tốc độ thực hiện rất nhanh
– Được tối ưu cùng với trình phiên dịch của PHP, nên yên tâm về hiệu suất.
– Không có overhead khi sử dụng các Language Construct vì chúng không cần gọi thêm 1 thư viện hay 1 hàm nào thêm để thực thi cả.

Categories
Miscellaneous PHP

Mình đã trở thành giáo viên dạy PHP

athena-php-trainer

Sau gần 5 năm làm việc trong lĩnh vực thiết kế & lập trình web, tự nhiên mình có niềm hứng thú là thích đi dạy học, chia sẽ những kinh nghiệm mình học được và cũng như những kỹ thuật mình biết đến cho mọi người, nhằm hi vọng vào 1 thế hệ website hoàn hảo sau này. Với mục tiêu đó, mình đã chủ động xin được đi giảng dạy PHP.

Ngày hôm qua đã chính thức kí hợp đồng giảng dạy PHP tại trung tâm ATHENA. ATHENA là một trong những trung tâm hàng đầu trong lĩnh vực đào tạo nguồn nhân lực CNTT chất lượng cao và mình cũng rất hãnh diện được giảng dạy tại đây.

Chuyên môn mình phụ trách giảng dạy là môn thiết kế website với PHP & MySQL cơ bản và nâng cao. Hy vọng sẽ học hỏi cũng như chia sẽ được nhiều điều hay tới cho các bạn.

Cheer!

Categories
PHP

Website tham khảo PHP

php-revolution

Như các bạn cũng biết, đối với một người lập trình viên, hầu hết người nào cũng có một số website tham khảo thường xuyên trong lĩnh vực làm việc của mình để nắm bắt, tìm hiểu, tra cứu để giúp cho công việc của mình nhanh chóng và cập nhật hơn…và mình cũng không ngoại lệ.

Hôm nay mình chia sẽ với các bạn 1 số website về PHP mà mình thường hay ghé thăm để cập nhật, tra cứu thông tin về PHP.

Categories
PHP Web Programming

Triển khai ORM bằng PhpDataMapper

phpdatamapper-logo

Hôm nay mình sẽ giới thiệu với các bạn một tool khá hay phục vụ cho công việc coding PHP của các bạn, đó là PhpDataMapper.
Vậy nó là cái gì?

Trước tiên mình sẽ nói về ORM (Object-Relational Mapping), ORM là cơ chế cho phép bạn xây dựng 1 ứng dụng(cụ thể là OOP-hướng đối tượng) mà thao tác trên table trong database được đóng gói lại trong 1 business class (vd: table User tương ứng với class User), và không phải quan tâm nhiều đến việc viết query cho mỗi lần truy xuất DB. Kỹ thuật ORM thích hợp trong môi trường phát triển một hệ thống website mà trong đó cần tham gia nhiều thành viên trong nhóm code và cho các hệ thống quy mô Enterprise.

Categories
PHP Web Programming

PHP :: readfile() và Output Buffering

Hôm nay được một đồng nghiệp report một cái bug thật kỳ quặc…hem biết bà con nào đã bị dính chưa. Số là cái source PHP của mình có một trang cho phép download 1 file bằng cách sử dụng hàm readfile($filename) để tải file về…Cái source lúc đưa ra chạy rất OK và không có trục trặc gì cả..

Cho đến hôm nay, đồng nghiệp này nói là không download được file và download bị lỗi, mình cũng thật ngạc nhiên, chạy vô source thì chẳng có gì thay đổi. Hơi ngạc nhiên, mình debug 1 xíu thì thấy vấn đề ở chỗ hàm readfile(). Sau một hồi điều tra trên http://php.net/readfile, thì thấy có một ghi chú là cái hàm này có trục trặc khi sử dụng kèm với Output Buffering.

Tới đây mình mới chợt nhớ ra là cách đây nửa tháng mình có triển khai nén sử dụng Output Buffering để tiết kiệm Bandwidth nên thành ra bây giờ nó bị bug này.

Cách giải quyết: cũng khá đơn giản, chỉ cần gọi hàm “ob_end_clean()” trước hàm “readfile()” là mọi việc OK.

Mình note lại đây, hi vọng có bạn nào gặp vấn đề tương tự sẽ biết cách giải quyết. Chúc vui.