Author Archive for QAD

30
Aug

Cake Console [phần 1]

Bài viết này nằm trong chùm bài về CakePHP console.

Trước khi bắt đầu vào phần chùm bài này, tớ có một vài giả định sau:

  1. Bạn đang sử dụng Windows XP.
  2. Máy bạn đã có Apache, PHP và MySQL. Nếu chưa, tớ khuyên bạn nên download XAMPP về, vừa nhanh gọn vừa dễ sử dụng.
  3. Bạn có thể truy cập vào localhost thông qua URL: http://localhost
  4. Bạn có database mang tên test, với user tương ứng là test, password test.
  5. Bạn đã giải nén thư mục cakephp vào một thư mục con của htdocs. Ví dụ: C:\xampp\htdocs\cakephp\

Giờ ta vào phần 1: Cài đặt Cake console trong Windows XP.

Để có thể sử dụng Cake console một cách nhanh chóng và thuận tiện, bạn hãy thực hiện các bước sau:

  1. Mở hộp thoại System Properties bằng cách bấm phải chuột vào biểu tượng My Computer, chọn Properties. Hoặc, bạn bấm tổ hợp phím Win + Break.
  2. Trong hộp thoại System Properties, bạn chọn tab Advanced và bấm vào Environment Variables.
  3. Tại mục System Variables, bạn tìm tới biến Path, highlight dòng đó và bấm Edit.
  4. Bạn cần bổ sung 2 đường dẫn sau đây (ngăn cách bằng dấu ;) vào mục Variable value:
    1. Đường dẫn tới thư mục chứa file php.exe. Ví dụ C:\xampp\php
    2. Đường dẫn tới thư mục console của CakePHP. Ví dụ: C:\xampp\htdocs\cakephp\cake\console
  5. Bạn bấm OK 3 lần để xác nhận thay đổi và khởi động lại máy.

Sau khi khởi động lại máy, bạn đã có thể sử dụng CakePHP console. Hãy thử nghiệm bằng cách:

  1. Bấm Start > Run > cmd [enter].
  2. cake [enter]

Bạn sẽ thấy hiện ra màn hình Welcome của Cake console.

Việc cài đặt Cake console đã hoàn tất, chúc mừng bạn!

30
Aug

1.1 hay 1.2?

CakePHP 1.1 và 1.2 khác nhau như thế nào? Nên chọn phiên bản nào để sử dụng? Đây chính là một vấn đề thường làm những người mới đến với CakePHP phân vân, khi họ thấy sự tồn tại của cả 2 phiên bản trên cakephp.org: Stable 1.1 và Development 1.2 alpha.

Bài viết này nhằm so sánh Cake 1.1 và 1.2.

Trước tiên, hãy nói về Cake 1.1:

  • Cake 1.1 có tài liệu hướng dẫn rõ ràng, nhiều code và ví dụ mẫu, nổi bật là series Cook up Websites fast và Build a Production wiki của IBM.
  • Đây là phiên bản stable, nghĩa là code đã được test cẩn thận, hạn chế được các lỗi phát sinh.

Thế còn Cake 1.2?

  • Cake 1.2 có thêm rất nhiều tính năng mới, tiêu biểu như Cookie & Email component, Form & Paginator helper, Set class…
  • Nhiều tính năng có sẵn được nâng cấp, cool hơn trước rất nhiều; ví dụ như Validation class, Cake console…

Điểm mạnh của Cake 1.2 - tính năng phong phú - chính là điểm yếu của phiên bản 1.1. Trước sau gì Cake 1.1 cũng được nâng cấp lên Cake 1.2, do đó ngoại trừ các bug được fix, còn lại các tính năng mới sẽ không xuất hiện trong Cake 1.1 nữa. Nói cách khác, nếu muốn thực hiện một số tính năng vốn rất dễ dàng trong Cake 1.2 ở phiên bản 1.1 (như phân trang bằng paginator, hay tạo multiple-rule validation…) người dùng sẽ phải tự code lấy.
Ngược lại, Cake 1.2 cũng có những hạn chế không nhỏ:

  • Cake 1.2 là phiên bản alpha, code có thể còn lỗi và cần được sửa đổi nhiều. Khi cập nhật lên phiên bản sau có khi code cũ sẽ phải viết lại.
  • Điểm yếu nhất của 1.2 chính là ở tài liệu hướng dẫn - rất ít mà thật ra là hoàn toàn không tồn tại. Người sử dụng phải tự nghiên cứu API hoặc đọc source code, cũng như dành thời gian tìm hiểu về phiên bản này thông qua CakePHP Google Groups và IRC channel. Các blog của một số Cake baker như dho hay Felix cũng là một nguồn tài nguyên quý giá.

Nói tóm lại, mỗi phiên bản của Cake - 1.1 hay 1.2 - đều có những điểm mạnh và điểm yếu riêng. Lựa chọn phiên bản nào để code là tùy sở thích và suy nghĩ của mỗi người. Theo ý kiến cá nhân thì tớ chuộng Cake 1.2 hơn, do đó nội dung blog này cũng sẽ viết về phiên bản 1.2.