Đăng ký nhận RSS Feed

<?php echo 'Welcome to my blog!' ?>

one true brace

viết về những thứ tớ quan tâm, thế là đủ

Bạn đang xem danh sách các bài viết được gửi vào July, 2008


Thủ thuật CakePHP, phần 1

Trong loạt bài viết (không thường xuyên) này, tớ sẽ tổng hợp một vài thủ thuật nhỏ liên quan đến CakePHP. Trong đó, tớ mặc định bạn đang sử dụng Cake 1.2 - phiên bản mới nhất tại thời điểm này là 1.2.0.7296 RC2.

1. counterCache

Như bạn có thể thấy, khi code với CakePHP, nếu tuân theo các quy ước liên quan đến việc đặt tên table, column, class…, bạn sẽ đỡ cho mình được rất nhiều công việc, ví dụ như xử lý các giá trị created - thời điểm tạo record, modified - thời điểm cuối record được sửa.

Check out “CakePHP Conventions” for more information, but suffice it to say that naming our table ‘posts’ automatically hooks it to our Post model, and having fields called ‘modified’ and ‘created’ will be automagically managed by Cake.

- Example Applications :: Blog

“Automagic” của Cake không dừng lại ở đó - bên cạnh các field created, modified, *_id, bạn có thể sử dụng field có tên dạng *_count để lưu số lượng record liên quan.

Một ví dụ đơn giản: Mỗi record trong table Comment có field post_id trỏ tới record liên quan trong table Post. Để đếm số lượng comment của một post nhất định, thay vì dùng findCount(), nghĩa là mất thêm 1 query, bạn chỉ việc xem giá trị field comment_count được Cake xử lý tự động.

Việc khai báo trong 2 file model post.php, comment.php đơn giản là:

class Post extends AppModel {
	var $hasMany = array('Comment');
}

class Comment extends AppModel {
	var $belongsTo = array(
		'Post' => array('counterCache' => true)
	);
}

Ổn đấy chứ?

Đọc tiếp →

Bài viết được gửi hôm 20.07.08 · Mang các từ khóa , · Phản hồi [6]


Bookmarklet E3

Long time no update.

1. Tớ mới viết (thêm) một bookmarklet mới, lấy tên là E3. Nếu theo dõi tumblelog của tớ thì bạn hẳn đã biết về nó, và cũng có thể đã dùng thử E3 rồi:

Bookmarklet hỗ trợ chèn nhanh emoticon tớ mới viết. Đã test qua loa trên Firefox - ngon và Safari - hỏng. Hiện mới chỉ hỗ trợ textarea, chứ iframe kiểu WYSIWYG như TinyMCE và FCKeditor thì chưa.

- E3

Đoạn mã khởi động E3 như sau:

javascript:var%20e3%20=%20document.createElement("script");%20e3.setAttribute("src","http://onetruebrace.com/e3/e3.js?mc="+new%20Date().getTime());%20void(document.getElementsByTagName("head")[0].appendChild(e3));

Đọc tiếp →

Bài viết được gửi hôm 13.07.08 · Mang các từ khóa , , , · Phản hồi [9]