Thứ Ba, 23 tháng 6, 2015

Cách làm bánh Trung thu ngon miệng

Cách làm bánh Trung thu ngon miệng

banh trung thu nhan dau xanh
Nguyên liệu làm bánh nhân đậu xanh:
Vỏ bánh:
(1) Nước đường: 250g đường
- 2 thìa cà phê nước chanh
- 175g nước
cach lam banh trung thu nhan dau xanh
(2) Hỗn hợp baking soda: 2 thìa cà phê baking soda
- 2 thìa canh (30ml) nước
(3) 100g bột mỳ đa dụng
- 100g bột mỳ mịn (cake flour)
- 100g dầu ăn
- 215 g nước đường (1)
- ½ thìa canh hỗn hợp baking soda (2)
banh trung thu nhan dau xanh
(4) 75g bột mỳ đa dụng
- 75g bột mỳ mịn (cake flour)
Nhân:
- 400g đậu xanh đã xát vỏ
- 300g đường
- 200g dầu ăn
- 2 thìa canh mạch nha
- 100g bột bánh dẻo
- 1 + ½ thìa canh bột trà xanh
- Trứng để quết mặt bánh (1 lòng đỏ trứng + 1 quả trứng nguyên).
banh trung thu nhan dau xanh

Cách làm bánh trung thu:

Bước 1:
Cho tất cả các nguyên liệu (1) vào nồi khuấy đều, đun trên lửa nhỏ đến khi đạt tới 118 độ C thì tắt bếp để nguội.
banh trung thu nhan dau xanh
Bước 2:
Hòa đều các nguyên liệu (2).
banh trung thi nhan dau xanh
Bước 3:
Rây đều 2 loại bột mỳ ở nguyên liệu (3), trộn đều dầu ăn, nước đường, hỗn hợp baking soda ở (3) rồi đổ vào hỗn hợp bột, trộn đều cho mịn.
banh trung thu nhan dau xanh
Bước 4:
Để hỗn hợp sau khi trộn nghỉ qua đêm. Hôm sau trộn tiếp 150g bột ở nguyên liệu (4) vào hỗn hợp bột đã nghỉ, nhồi mịn ta đã có bột làm vỏ bánh nướng.
banh trung thu nhan dau xanh
Làm nhân
Bước 5:
Đậu xanh ngâm nước cho mềm, đem hấp chín, giã nhuyễn.
banh trung thu nhan dau xanh
Bước 6:
Trộn đều đậu xanh với đường, dầu ăn, bắc lên chảo xào đều cho hỗn hợp dẻo mịn là khô bớt. Bắc xuống cho bột bánh dẻo và mạch nha vào trộn đều.
banh trung thu nhan dau xanh
Bước 7:
Chia đôi hỗn hợp nhân đậu xanh, một nửa trộn với bột trà xanh cho đều.
banh trung thu nhan dau xanh
Bước 8:
Viên nhân làm các viên tròn đường kính tầm 4 cm cho khuôn 75g.
banh trung thu nhan dau xanh
Bước 9:
Nếu làm 2 vị thì nặn viên đậu xanh nhỏ rồi bao nhân trà xanh bên ngoài.
banh trung thu nhan dau xanh
Bước 10:
Bột vỏ lấy mỗi viên khoảng 35g, cán mỏng bao đều nhân.
banh trung thu nhan dau xanh
Tùy từng kích cỡ khuôn mà các bạn áng chừng cho phù hợp, thường khi làm bánh nướng tỉ lệ khối lượng vỏ và nhân là 1:2.
banh trung thu nhan dau xanh
Bước 11:
Cho vào khuôn, nén bánh ra khay nướng đã lót sẵn giấy nến.
banh trung thu han dau xanh
Bước 12:
Cho bánh vào lò nướng 180oC, 2 lửa, ngăn giữa (lò bật trước khi nướng bánh 20 phút), nướng trong 10 phút. Lấy bánh ra khỏi lò quết trứng lên thành bánh, cho lại vào lò nướng thêm 5 phút.
banh trung thu nhan dau xanh
Bước 13:
Lấy bánh ra tiếp khỏi lò quết trứng lên mặt bánh, cho bánh trở lại vào lò nướng 5 phút nữa cho bánh vàng đẹp.
banh trung thu nhan dau xanh
Bánh nướng nhân đậu xanh, trà xanh mới ra lò sẽ có cảm giác cứng, sau khi nguội và để khoảng vài tiếng sau là bánh đã mềm và ngon.
banh trung thu nhan dau xanh
Chúc các bạn làm bánh trung thu thành công!!!
Ngon miệng ! ^^.

Xem thêm: Khóa học php từ Cơ bản đến Nâng cao

Thứ Hai, 22 tháng 6, 2015

Món ngon cho ngày bận rộn

Món ngon cho ngày bận rộn

Để tiết kiệm thời gian, hôm nay mình sẽ đơn giản hóa các công thức chế biến đến mức tối đa. Bắt đầu là món chính với cơm sườn nấm nhé. Tất cả các nguyên liệu sẽ được nấu chung một lúc, trong cùng một nồi, rất đơn giản và tiện lợi. Điều đặc biệt nhất ở món ăn này chính là phần cơm luôn được ủ nóng kèm với sườn non chín mềm thấm đượm gia vị. Ai bảo bận rộn thì không thể có cơm ngon canh ngọt nào?



MÓN RAU:

Bạn chỉ cần luộc 1 bó rau cải, rưới chút sốt dầu hào và tỏi băm phi vàng lên trên, thế là chúng ta đã có ngay món rau thơm ngon, hấp dẫn mà chẳng cần bày vẽ cầu kỳ gì rồi.



ĐỒ UỐNG:

Kết thúc thực đơn của chúng ta hôm nay sẽ là một ly chanh đường mát lạnh.  Không chỉ dễ làm dễ uống, nước chanh còn chứa một lượng vitamin C dồi dào giúp bạn tăng cường sức đề kháng và xua tan mệt nhọc đó. Nếu thích, bạn có thể cắt thêm 1 lát cam tươi để tăng thêm hương vị nhé.


Đi chợ cần mua những gì:
(Cho 3 - 4 người ăn)
Thịt:
- 400g sườn non
Rau, củ, quả:
- 1 củ cà rốt
- 10 tai nấm hương
- 1 bó rau cải
- Hành củ, gừng, tỏi
- 3 quả chanh
- 1 quả cam
 Khác:
- Xì dầu, muối, đường
- ½ gói ngũ vị hương
4 kỹ năng để học lập trình web tốt

4 kỹ năng để học lập trình web tốt

Học kỹ năng “kỹ thuật mới” và “phi kỹ thuật” theo quan điểm riêng của mình

Lập trình viênkém chỉ học hỏi những điều khi nó hoàn toàn cần thiết. Lập trình viên giỏi học các kỹ năng “kỹ thuật mới” xuất hiện. Còn người lập trình xuất sắc không chỉ học các kỹ năng “kỹ thuật mới” cho riêng mình mà còn học kỹ năng “phi kỹ thuật”. Họ sẵn sàng đón nhận nguồn kiến thức mà những người khác có thể không bao giờ quan tâm.


Đặt điều đó trong tình huống cụ thể, các dev kém chỉ học XAML khi họ bắt đầu một dự án sử dụng WPF. Lập trình viên giỏi đã học nó một năm trước bởi vì họ cảm thấy thú vị. Lập trình viên xuất sắc lại chăm chỉ đọc hướng dẫn thiết kế các ứng dụng WPF, lý thuyết khả năng sử dụng, hoặc học một số khóa học như nghiên cứu chẳng hạn, để làm cho UIS trở nên đặc biệt hơn.

Biết nhìn vào thực tế, không giáo điều

Tuân thủ cứng nhắc các "quy tắc bất thành văn của lập trình" là một điều rất khó thực hiện với lập trình viên. Một người viết web giỏi sẽ luôn biết nhìn vào thực tế, căn cứ ình huống cụ thể chứ không chỉ giáo điều theo sách vở. Điều ấy có nghĩa là phải biết sáng tạo và học hỏi. Sẽ có lúc bạn viết code mà không học hỏi cách thực hiện của người đi trước. Nhiều khi bạn bế tắc khi không biết phải viết code như thế nào. Nhưng hãy nhớ rằng sẽ không bao giờ có bad-code nếu có nhiều hơn một cách để viết nó, trừ khi bạn đã cạn kiệt khả năng sáng tạo.

Biết cách nghiên cứu để tìm ra giải pháp những giải pháp cần thiết

Tìm tòi để tìm câu trả lời có nghĩa là bạn sẽ làm nhiều hơn việc chỉ gõ một số từ khóa vào một công cụ tìm kiếm hoặc đăng một câu hỏi tại Stack Overflow hoặc các diễn đàn MSDN. Tôi từng nhập vấn đề vào công cụ tìm kiếm mà không tìm ra kết quả. Mỗi câu hỏi tôi đăng trên Stack Overflow hoặc các diễn đàn MSDN cũng không bao giờ có được một câu trả lời thỏa đáng. Nhưng tôi vẫn giải quyết được vấn đề và nghĩ cách chuyển vấn đề sang một hướng đi khác. Tôi biết làm thế nào để tìm câu trả lời hoặc phát hiện ra nguyên nhân gốc rễ của tình huống này.
Có nhiều vấn đề là tình hình, và nếu bạn phụ thuộc vào công cụ tìm kiếm hoặc các diễn đàn, bạn có thể lãng phí rất nhiều thời gian để đi xuống một cái hang thỏ (ý nói đi vòng vèo, lãng phí thời gian) và có thể không bao giờ nhận được một giải pháp như ý. Bạn hãy nghiên cứu kỹ vấn đề để phân tíchnguyên nhân gốc, tìm hiểu đầy đủ về hệ thống cơ bản để tìm manh mối và giải pháp khác. Và hơn hết, bạn hãy tìm hiểu thật kỹ để có cái nhìn xa hơn về một hoàn cảnh trước khi tìm hiểu vào nó.

Có niềm đam mê

Bạn phải có niềm đam mê lập trình nhiều hơn nữa - bạn cũng phải vui mừng và tự hào về công việc của bạn, công nghệ bạn đang dùng, ông chủ của bạn, dự án của bạn, và tất cả những cái khác. Tôi đã thấy một số lập trình viên giỏi và thậm chí các lập trình  web xuất sắc chỉ làm việc ở mức độ bìnhthường bởi vì một số thứ không thích hợp với họ. Chẳng hạn như họ ghét dự án hoặc là phải sử dụng một công nghệ mà họ không thích. Tôi đã có một dự án phát triển, đã làm việc với dự án đó. Nhưng tôi không thích nó ngay từ lúc đầu. Nếu bạn thấy mình trong tình huống đó, bạn cần phải giải quyếtngay lập tức bằng cách khám phá điều gì đó về công việc, dự án được nhận, hoặc ra khỏi đó. Dự án đó sẽ không có giá trị nếu bạn không đam mê nó.
Thực phẩm tốt nhất cho việc chống viêm loét dạ dày.

Thực phẩm tốt nhất cho việc chống viêm loét dạ dày.

Công việc bề bộn, tạo cho bạn nhiều áp lực sẽ dẫn đến sức khỏe của bạn suy giảm, trong đó vấn đề dạ dày rất rễ xảy ra cho những người bị stress nặng. Dưới đây tôi xin giới thiệu các loại thực phẩm tốt cho việc chống viêm dạ dày. 
1. Mật ong
Loại thực phẩm kỳ diệu chống nhiễm khuẩn và vi khuẩn này tấn công các loại vết thương hở, đặc biệt là các tổn thương trong bệnh viêm loét. Mật ong cũng giúp dự phòng sự phát triển không mong muốn của bệnh và hỗ trợ điều trị.
2. Sữa chua và các sản phẩm sữa ít béo khác
Các sản phẩm sữa ít béo, đặc biệt là sữa chua chứa nhiều probiotic và vi khuẩn lành mạnh giúp dự phòng và điều trị bệnh viêm loét.
bapcai-2277-1434763586.jpg
3. Thịt nạc và thịt gia cầm
Thịt nạc và thịt gia cầm là những loại thực phẩm đặc biệt có hiệu quả trong dự phòng loét dạ dày. Hãy bổ sung chúng vào chế độ ăn của bạn để tránh viêm loét do chúng có hàm lượng chất béo và muối thấp.
4. Cải bắp
Cải bắp là vua của các loại thực phẩm có thể dự phòng viêm loét do chúng có chứa S-methylmethionine.
5. Rau mầm
Dùng khoảng một nửa cốc rau mầm, đặc biệt là rau mầm Brussels cũng giúp dự phòng loét trong cơ thể. Chúng chứa các hợp chất giúp ức chế sự phát triển của vi khuẩn trong cơ thể và giết chết những vi khuẩn xấu.
6. Súp lơ trắng
Súp lơ trắng có hàm lượng rất cao hợp chất sulforaphane rất cần thiết để dự phòng và điều trị viêm loét dạ dày. Loại thực phẩm được ưa thích này cũng cung cấp một lượng lớn vitamin C và chất xơ.
xuplo1-2704-1434763586.jpg
7. Những thực phẩm nhiều chất xơ
Cnêhất xơ rất cần thiết nếu bạn mắc các bệnh liên quan tới dạ dày, ruột đặc biệt là trong loét dạ dày-tá tràng. Bạn nên đưa những loại thực phẩm giàu chất xơ giúp dự phòng loét vào chế độ ăn để có được hiệu quả tối đa.
8. Lê
Lê rất giàu các chất flavonoid lành mạnh và chất chống oxy hóa giúp dự phòng loét dạ dày. Ngoài ra, chúng cũng giàu chất xơ giúp điều tiết quá trình tiêu hóa trong cơ thể.
5 loại nước thanh lọc cơ thể tốt nhất

5 loại nước thanh lọc cơ thể tốt nhất

Cuối tuần là ngày nghỉ cho các bạn thư giãn cả về thể xác về tinh thần. Sau đây, tôi xin giới thiệu với các bạn 5 loại nước hoa quả tốt cho cơ thể, giúp thanh lọc, tạo ảm giác thoải mái nhất. 
1. Nước kiwi
kiwi-1-9956-1434774178.jpg
Chuẩn bị: Tám quả kiwi, ba quả táo xanh, nửa quả dưa chuột kèm thêm vài nhánh gừng tươi, lá bạc hà và đá lạnh.
Trộn tất cả các thành phần trên, đưa vào máy xay và xay nhuyễn. Uống ngay sau khi xay để giữ nguyên vitamin và hương vị.
2. Nước rau xanh
kiwi-4-6060-1434774178.jpg
Chuẩn bị: Ba lá cải xoăn (bỏ hết cuống), bốn lá xà lách, vài ngọn rau chân vịt, nửa quả chanh và hai quả táo.
Cho hết các thành phần trên vào máy ép trái cây và thưởng thức. Nếu thích nước ép ngọt hơn, bạn có thể thêm một củ cải đường vào.
3. Nước rau, củ, quả
Chuẩn bị: Một chén cải xoăn, một chén rau chân vịt, nửa chén dứa, hai quả táo xanh và một nhánh bạc hà.
Xay tất cả trong máy ép trái cây và uống ngay khi pha chế xong.
4. Nước ép cần tây
kiwi-3-1486-1434774178.jpg
Chuẩn bị: Nửa chén rau chân vịt, một quả dưa chuột to, một quả táo, hai cọng cần tây và ba nhánh mùi tây, một thìa nước cốt chanh và gừng tươi.
Kết hợp tất cả hỗn hợp trên và xay nhuyễn.
5. Nước táo
Chuẩn bị: Một quả chanh, hai quả táo, một nhánh gừng nhỏ, sáu cọng cần tây, một quả dưa chuột và hai nắm rau bina.
Sau khi xay xong tất cả các thành phần trên, bạn đổ ra cốc và uống ngay.
Nhất định sẽ cứu anh trước

Nhất định sẽ cứu anh trước

Untitled-1-2422-1434774283.jpg

Hai vợ chồng ngồi nói chuyện với nhau.Vô tình nghe được câu chuyện giữa mẹ và vợ rơi xuống sông thì cứu ai. Vợ quay sang hỏi chồng:

- Nếu em và mẹ anh rơi xuống sông cùng lúc, anh sẽ cứu ai?

- Mẹ anh biết bơi, mẹ sẽ cứu em lên.

- Không, bắt buộc anh phải nhảy xuống cơ.

- Thế thì không hay cho em rồi, vì anh không biết bơi, mẹ nhất định sẽ cứu anh trước.

- !?!
Chàng rể cũng có yêu cầu với bố vợ

Chàng rể cũng có yêu cầu với bố vợ

Một ông bố, có người con gái đến tuổi đi lấy chồng. Một ngày nọ, ông yêu cầu con gái mang người yêu đến để ông duyệt. Cô gái vui mừng vì được bố cho phép giới thiệu người yêu. Ngồi nói chuyện được vài câu, cô con gái biết ý ra ngoài cho ông già hỏi chuyện chàng trai.
3-7950-1434618390.jpg

Ông già hỏi chàng con rể tương lai về gia cảnh, ông ưng ý lắm, nhưng vẫn chưa an tâm, ông bắt chàng rể phải hứa với ông vài điều. Chàng trai hỏi:

- Bây giờ bố muốn con hứa với bố điều gì thì bố cứ nói?

- Ta chẳng có gì, chỉ có mỗi đứa con gái này thôi. Anh phải hứa với ta: không được uống rượu, không hút thuốc, không gái gú, không được đánh đập vợ con, không tiêu xài hoang phí, không đi về quá khuya… thì ta mới cho anh lấy con gái ta về làm vợ!

Chàng trai đáp lời:

- Con hứa sẽ làm đúng những điều trên, nhưng con mong bố hứa với con một việc.

- Việc gì?

- Bố đừng nói với ai là bố đã gả con gái mình cho một thằng ngu!

- !?!
Cách làm tai lợn cuộn giòn

Cách làm tai lợn cuộn giòn

Nguyên liệu:
- 1 cái tai lợn
- Quế, hoa hồi, gừng
- Nước mắm, bột canh, dầu hào, xì dầu, hạt tiêu, đường, nước hàng.
tai-lon-cuon-4089-1434513884.jpg
Cách làm:
- Tai lợn làm sạch, xát muối rồi rửa lại.
- Cuộn từ đầu nhọn của tai đến hết thành một cuộn tròn chặt rồi dùng dây chỉ hoặc dây gai bó lại.
- Cho tai vào chần qua nước sôi rồi rửa lại. Đổ nước cho sâm sấp tai.
- Cho vào nồi 3 thìa canh nước mắm, 1 thìa nhỏ đầy gia vị (bột canh), 1 thìa canh dầu hào, 1 thìa canh xì dầu, 1/2 thìa nhỏ hạt tiêu, 1 thìa canh đường, 3 thìa canh nước hàng, 1 mẩu quế, 2 bông hoa hồi, 1 nhánh gừng nhỏ.
- Đun sôi, luộc tai khoảng 40 phút cho ngấm gia vị và tai có màu vàng nâu.
- Vớt tai ra để nguội rồi cho vào ngăn mát tủ lạnh độ 3 - 4 tiếng để tai được dính, khi ăn mang ra thái lát mỏng, chấm tương ớt rất ngon.
- Món này có thể để tủ lạnh ngăn mát khoảng 3 ngày để ăn dần. Gia vị có thể nếm thử rồi gia giảm độ mặn, ngọt cho phù hợp khẩu vị từng nhà.

Thứ Bảy, 20 tháng 6, 2015

Các kiểu hôn

Các kiểu hôn



Hôn vợ gọi là hôn thê

Hôn chồng gọi là hôn phu

Mơ hôn được người nào đó gọi là hôn ước

Mới hôn xong gọi là tân hôn

Hôn thêm cái nữa gọi là tái hôn

Hôn hai cái một lượt gọi là song hôn

Đang hôn nửa chừng bị xô ra gọi là ly hôn

Hôn trộm được ai đó thì gọi là thành hôn

Đang hôn bị dính mép gọi là đính hôn

Vừa hôn vừa quỳ lạy gọi là hôn lễ

Mê một người nào đó và hôn gọi là hôn mê

Hôn cây rong tảo biển gọi là tảo hôn

Hôn 7 người 1 lúc gọi là thất hôn
Mẹo trị hôi chân tốt nhất

Mẹo trị hôi chân tốt nhất

Hàng ngày, việc mang giày để hoạt động liên tục và thường xuyên khiến cho đôi chân của bạn tiết ra nhiều mồ hôi và dễ dàng bị vi khuẩn xâm nhập. Điều này khiến đôi chân xuất hiện những mùi hôi khó chịu làm bạn thiếu tự tin.

Sau đây chúng tôi xin giới thiệu với các bạn về cách giữ cho đôi chân luôn sạch sẽ:

1. Giữ cho đôi chân luôn sạch sẽ, khô thoáng



- Đôi chân thường phải hoạt động rất nhiều mỗi ngày, việc tiết ra mồ hôi chân là điều không thể tránh khỏi, nhất là trong mùa nóng.

- Để hạn chế và làm đôi chân không có mùi hôi, bạn cần phải vệ sinh chân hàng ngày bằng xà phòng diệt khuẩn và đảm bảo lau khô đôi chân trước khi mang giày.

Ngoài ra, bạn nên thường xuyên thoa kem dưỡng da cho chân để da chân được mềm mại và cắt, tỉa móng chân thường xuyên.

2. Vệ sinh giày, tất hợp lý

- Khi mang giày, nhất là trong thời gian quá dài, đôi chân thường xuyên đổ mồ hôi rất khó chịu. Nhằm hạn chế tối đa sự hình thành và phát triển của các loại vi khuẩn khi mang giày, bạn cần phải thường xuyên vệ sinh giày, tất hợp lý.

- Cần phải mang tất khô, sạch, làm bằng chất liệu cotton dễ thấm mồ hôi và thay tất thường xuyên nếu chân ra mồ hôi. Hạn chế việc mang 1 đôi giày, ít nhất bạn nên có 2 đôi giày và thay đổi hàng ngày để giày có thời gian “thở” và làm khô nó. Một cách nữa là bạn nên rắc loại phấn rôm trẻ em lên đôi giày bạn chuẩn bị sử dụng, cách làm này tuy đơn giản nhưng hiệu quả lắm đấy.

3. Sử dụng phèn chua

Trong phèn chua có chứa nhôm sunfat là chất khử mùi mồ hôi rất tốt. Bạn có thể tán phèn chua thành bột, xoa lên lòng bàn chân trong 10 phút. Làm liên tục khoảng 3-4 ngày chân sẽ không bị ra mồ hôi gây mùi khó chịu nữa. Cách làm này sẽ giúp bạn “tống khứ” mùi hôi chân trong khoảng thời gian từ 7-8 tháng đấy.

4. Sử dụng chanh tươi

- Hàm lượng axit cao có trong quả chanh sẽ giúp làm sạch mồ hôi chân, đồng thời mùi hương của chanh cũng giúp xoa dịu mùi khó chịu do mồ hôi chân gây ra.

Sau khi rửa chân sạch sẽ, bạn dùng nước cốt chanh tươi thoa vào hai bàn chân, để trong 10-15 phút rồi rửa lại với nước sạch, thực hiện đều đặn hàng ngày sẽ giúp chân bạn khô ráo sạch sẽ và giảm bớt mùi hôi chân khó chịu.

5. Sử dụng lá trầu tươi

Sử dụng lá trầu tươi là cách dân gian vẫn thường dùng để trị hôi chân. Bạn có thể lấy một nắm nhỏ lá trầu tươi vò nát xá vào chân sau khi đã vệ sinh chân sạch sẽ, để trong 30 phút rồi rửa lại với nước ấm, thực hiện đều đặn trong 10 ngày mùi hôi chân sẽ giảm đi đáng kể.

6. Một số bài thuốc ngâm trị hôi chân hiệu quả trong dân gian

Nước ấm, muối, gừng: Bạn sử dụng 2 lít nước ấm với 1 nắm nhỏ muối hạt, một vài lát gừng đạp dập và ngâm chân thư giãn trong 30 phút mỗi ngày trước khi đi ngủ, sau đó lau khô chân bằng khân bông mềm mại, thực hiện đều đặn và liên tục sẽ giúp bạn đánh bay mùi hôi khó chịu và mang lại cảm giác thoải mái, dễ chịu.

- Lá chè xanh: Vo nát lá chè xanh, đun sôi với nước và hòa thêm nước lạnh để ngâm chân có tác dụng giải độc, khử mùi hôi rất hiệu quả.

- Lá sung: Vò nát một nắm lớn lá sung, đun sôi với nước và hòa thêm nước lạnh để ngâm chân, bạn có thể thực hiện 2-3 lần một ngày sẽ thấy rõ hiệu quả sau 3-4 ngày sử dụng.

- Tỏi: Giã nát 5 củ tỏi hòa với nước ấm và ngâm chân 2 lần/1 tuần có tác dụng khử mùi hôi ở chân rất tốt.

- Giấm: Hòa 20ml giấm gạo hay giấm nếp vào 2 lít nước ấm, ngâm chân trong vòng 20 phút, mỗi ngày một lần, thực hiện liên tục trong 1 tuần sẽ thấy hiệu quả bất ngờ.

Bạn có thể sử dụng một hoặc phối hợp nhiều biện pháp luân phiên để thấy rõ hiệu quả tác dụng của nó.


Chú ý: Để tác dụng trị hôi chân thêm hiệu quả, ngoài việc dùng các biện pháp trên, thói quen ăn uống sinh hoạt cũng đóng góp vai trò rất quan trọng.

- Không ăn các thực phẩm dể gây ra mùi mồ hôi như: ớt cay, hành sống, tỏi sống,… nó sẽ làm mùi mồ hôi thêm nặng và phát tán nhanh hơn.

 - Hạn chế uống rượu bia, thuốc lá và các chất kích thích như cà phê … vì cũng là các yếu tố nguy cơ khiến đôi chân bạn bị mùi.

Chúc bạn thành công!

Thứ Năm, 18 tháng 6, 2015

Phân trang trong CakePHP Framework

Phân trang trong CakePHP Framework

Trong bài trước chúng ta đã tìm hiểu cách thao tác trên cơ sở dữ liệu trong CakePHP Framework. Tiếp theo trong phần này chúng ta sẽ đi tìm hiểu một kỹ thuật phổ biến và được sử dụng trong hầu hết các ứng dụng đó là kỹ thuật phân trang. Cụ thể bài này chúng ta sẽ tìm hiểu Phân trang trong CakePHP Framework.

                                                                hình ảnh minh họa

Giả sử ta làm việc với bảng dữ liệu như trong bài trước. Ta sẽ thay đổi nội dung file InfosController như sau :
<?php
class InfosController extends  AppController{
    var $name = "Infos";// ten cua Controller Info
    var $helpers = array('Paginator','Html');
    var $components = array('Session');
    var $paginate = array();
       
    function paging(){
        $this->paginate = array(
          'limit' => 3,
          'order' => array('id' => 'desc'),
        );
        $data = $this->paginate("Info");
        $this->set("data",$data);
    }
?>

Để sử dụng chức năng phân trang trong CakePHP Framework thì cần có helper Paginator
var $helpers = array('Paginator','Html');

và namespace paginate
var $paginate = array();

Chúng ta sẽ lấy 3 bản ghi đầu tiên theo id giảm dần
$this->paginate = array(
  'limit' => 3,
  'order' => array('id' => 'desc'),
);

Để lấy dữ liệu theo cấu hình của biến namespace paginate ta dùng hàm
$this->paginate("ten_model")

trong ví dụ này model của tôi có tên là Info.
$data = $this->paginate("Info")

Việc cấu hình biến namspace paginate dùng hàm
$this->paginate("ten_model")

Giống như việc cấu hình điều kiện truy xuất dữ liệu và lấy dữ liệu bằng hàm $this->find(‘…’).
Như vậy là chúng ta có thể phân trang trong CakePHP Framework, mặc định CakePHP sẽ dùng biến page để xác định trang hiện tại. Bây giờ chúng ta chỉ cần xây dựng view để hiển thị phân trang trong quá trình học PHP.

Trong thư mục app/views/infos ta tạo một file có tên là paging.ctp có nội dung như sau :

<html>
<body>
<?php
    // Tạo link về trang trước
    echo $this->Paginator->prev('« Previous ', null, null, array('class' => 'disabled'));

    // Tạo link tương ứng với số trang
    echo " | ".$this->Paginator->numbers()." | ";

    // Tạo link đi đến trang sau
    echo $this->Paginator->next(' Next »', null, null, array('class' => 'disabled'));

    // Hiển thị trang hiện tại và tổng số trang
    echo " Page ".$this->Paginator->counter();
?>

<?php
if($data==NULL){
    echo "<h2>Dada Empty</h2>";
}
else{
    echo "<table>
          <tr>
            <td>id</td>
            <td>Name</td>
            <td>Email</td>
            <td>Phone</td>
          </tr>";
    foreach($data as $item){
        echo "<tr>";
        echo "<td>".$item['Info']['id']."</td>";
        echo "
          <td><a href='".$this->webroot."infos/view/".$item['Info']['id']."' >".$item['Info']['name']."</a>
          </td>";
        echo "<td>".$item['Info']['email']."</td>";
        echo "<td>".$item['Info']['phone']."</td>";
        echo "</tr>";
    }
}
?>
</body>
</html>

Nguồn: the gioi web
Một số quy tắc trong CakePHP Framework

Một số quy tắc trong CakePHP Framework

Tiếp tục với series CakePHP Framework, trong bài này chúng ta sẽ đi tìm hiểu một số quy tắc trong CakePHP Framework giúp cho các bạn có thể nắm bắt và sử dụng CakePHP một cách linh hoạt nhất.

Quy tắc đặt tên file, tên class

  • Tên File sử dụng chữ in thường và phân cách các từ bằng dấu gạch dưới (_)  ví dụ: my_file.php
  • Tên Class phải viết hoa chữ cái đầu tiên của từ ví dụ: MyClass
  • Quy tắc trong Model và Cơ sở dữ liệu (CSDL)


      CakePHP không hỗ trợ khóa chính gồm nhiều cột. Nếu bạn muốn thao tác trực tiếp kết nối (join) các bảng, hãy truy vấn trực tiếp hoặc thêm một khóa chính thay cho khóa nhiều cột.

Tên bảng tương ứng với các model của CakePHP ở dạng số nhiều và sử dụng gạch dưới (_). Ví dụ ứng với model  CategoriesProducts là categories_products. Bạn có thể dùng thư viện Inflector có sẵn trong CakePHP để kiểm tra dạng số ít/số nhiều của các từ.


Các khóa ngoại trong các quan hệ có tên mặc định là số ít của tên bảng kèm theo_id ở cuối cùng. Ví dụ với quan hệ NewsCategory có nhiều News, bảng news sẽ có khóa ngoại đến bảng news_categories lànews_category_id.

 Các bảng liên kết được sử dụng trong quan hệ nhiều-nhiều đặt tên bằng cách kết nối các tên model theo thứ tự abc, vì vậy tên đúng sẽ là apples_zebras chứ không phải là zebras_apples. Do đó, ta phải thêm một khóa khác có tên là id

Khóa chính mặc định trong CakePHP là cột id, kiểu int, tự tăng. Tuy nhiên, bạn cũng có thể định nghĩa lại khóa chính cho bảng thông qua biến $primaryKey trong model. Thay cho việc sử dụng kiểu int, auto-increment làm khóa chính, bạn có thể sự dụng char(36) hoặc binary(36), khi đó CakePHP sẽ tự động tạo ra UUIDs để làm khóa khi ta thêm mới một record. UUID là một chuỗi gồm 32 byte, tương ứng với 36 ký tự.

Quy tắc trong Controllers

  • Tên lớp của controller đặt theo dạng số nhiều.
  • Tuân theo CamelCased (viết hoa chữ cái đầu tiên của mỗi từ) và cuối tên phải có chữ “Controller”.


Ví dụ: Tạo một controller có tên “products” thì class sẽ có tên là ProductsController.
<?php
   Class ProductsController extends AppController{
     //Code...
   }
?>
Khi một phương thức trong Controller được đặt tên bắt đầu với với dấu “_”ở phía trước, bạn sẽ không thể truy xuất nó từ bên ngoài mà chỉ có thể truy xuất trong controller đó (hay phạm vi là private).

Ví dụ:
<?php
  Class ProductsControllers extends AppController{
    function index(){
      //Code...
    }

    function _get_product(){
      //Code...
    }

    function viewProduct(){
      $this->_get_product();
    }
  }
?>

Quy tắc trong Views

  • Giả sử trong Controller ta có controller ProductsController gồm 2 function get_all() và get_a_record(). Thì trong views (trong thư mục app/view/products ) ta cũng phải có 2 file get_all.ctp và get_a_record.ctp.


  • Mặc định, nếu trong controller ProductsController có phương thức view(), khi gọi function view() trên trình duyệt (http://localhost/products/view) thì Controller sẽ tìm file view.ctp trong app/views/news/view.ctp

* Tuy nhiên, để dễ dàng hơn trong việc lap trinh web, bạn có thể gọi một file view khác không phải là view.ctp bằng lệnh:
<?php
   $this->render('ten_view');
?>

Nguồn: the gioi web
Làm việc với Model trong CodeIgniter Framework

Làm việc với Model trong CodeIgniter Framework

Trong phần trước chúng ta đã tìm hiểu cách làm việc với View trong CodeIgniter Framework. Bài này chúng ta tiếp tục đi tìm hiểu một thao tác quan trọng nữa trong CodeIgniter đó là làm việc với Model trong CodeIgniter Framework.

Vậy Model trong CodeIgniter là gì và Model dùng để làm gì?

Model là tầng xử lý trung gian, nó nhận yêu cầu của các Controller và tương tác với cơ sở dữ liệu để trả về kết quả dưới dạng mảng dữ liệu. Tiếp đó chúng ta sẽ lấy các dữ liệu đó ra và đem hiển thị ở View.

Cấu hình kết nối với cơ sở dữ liệu

Vào file database.php theo đường dẫn application/config. Ta điều chỉnh các nội dungn
$db['default']['hostname'] = 'hosting';
$db['default']['username'] = 'user';
$db['default']['password'] = 'pass';
$db['default']['database'] = 'dbName';

Trong đó:

  • hosting : là hosting website của bạn.
  • user : là tên đăng nhập vào cơ sở dữ liệu.
  • pass: là mật khẩu đăng nhập vào cơ sở dữ liệu.
  • dbName: là tên cơ sở dữ liệu.

Sau khi đã thiết lập kết nối như trên thì khi nào cần sử dụng đến cơ sở dữ liệu chúng ta chỉ việc sử dụng cú pháp
$this->load->database();

Để hiểu rõ hơn vấn đề, chúng ta đi làm một ví dụ như sau:

In ra tất cả các thông tin của một bảng bất kỳ trong cơ sở dữ liệu. Giả sử trong trường hợp của tôi thì tôi có cơ sở dữ liệu “mydb” và trong đó có bảng khach_hang với 3 trường dữ liệu lần lượt là idCustomer, name, phone.

Bây giờ chúng ta sẽ đi xây dựng một hàm có chức năng lấy toàn bộ thông tin của bảng khach_hang. Trong thư mục models tạo mới một file có tên là mcustomer với nội dung như sau:
<?php
 Class Mcustomer extends CI_Model{
  function __construct(){
    parent::__construct();
    $this->load->database();
  }

  function get_all(){
    $query = $this->db->get("khach_hang");
    return $query->result_array();  
  }
 }

?>
Trong thư mục controllers tạo mới một file có tên customer.php nội dung như sau :
<?php
 Class Customer extends CI_Controller{
  function __construct(){
    parent::__construct();
    $this->load->model('Mcustomer');
  }

  function show(){
    $data = $this->Mcustomer->get_all();
    print_r($data);
  }
 }
?>
Trên thanh địa chỉ của trình duyệt ta truy cập tới: http://localhost/democi/index.php/customer/show để kiểm tra kết quả.

Đến bước này chắc có nhiều thắc mắc trong đầu các bạn. Chúng ta sẽ lần lượt phân tích ví dụ trên

Trong file mcustomer.php trong model

  • Đặt tên class tương tự như đặt tên class trong Controller, đó là tên class giống với tên file và phải viết hoa chữ cái đầu tiên.
  • Hàm __construct() là hàm khởi tạo, có chức năng thực thi toàn bộ nội dung trong nó mà không cần phải gọi đến hàm.
  • Câu lệnh $this->db->get(“khach_hang”) là câu lệnh lấy ra toàn bộ thông tin trong bản khach_hang. Tương đương với câu lệnh truy vấn “SELECT * FROM khach_hang” trong SQL.
  • Câu lệnh $query->result_array() là câu lệnh lấy dữ liệu trả về từ câu truy vấn dưới dạng mảng.

Trong file customer.php trong model

  • Câu lệnh $this->load->model(“Mcustomer”) là câu lệnh dùng để load model có tên là Mcustomer.
  • Chúng ta gọi đến một chức năng trong model theo cú pháp $this->tên_model->tên_hàm, như ở trên ta có $this->Mcustomer->get_all().

Như vậy các bạn đã nắm được quá trình làm việc với Model, từ đó sẽ phát triển hoc php lên và tùy thuộc vào mục đích,  chức năng mà bạn muốn xây dựng.

Một số phương thức tương tác cơ sở dữ liệu trên model trong CodeIgniter Framework

1. Lựa chọn trường dữ liệu
$this->db->select("trường_dữ_liệu_1", "trường_dữ_liệu_1", ....);

2. Điều kiện truy vấn
$this->db->where("trường_dữ_liệu","giá_trị");

3. Câu lệnh sắp xếp
$this->db->order_by("trường_sắp_xếp ASC | DESC");

4. Lấy tất cả bản ghi từ truy vấn
$query->result_array();

5. Lấy một bản ghi từ truy vấn
$query->row_array();

6. Đếm số dòng trả về từ truy vấn
$query->num_rows();

7. Thêm dữ liệu
$this->db->insert("tên_bảng","mảng_dữ_liệu");

8. Sửa dữ liệu
$this->db->update("tên_bảng","mảng_dữ_liệu");

9. Xóa dữ liệu
$this->db->delete("tên_bảng");
Hướng dẫn các bạn sử dụng Zend Studio

Hướng dẫn các bạn sử dụng Zend Studio

Zend Studio là môi trường phát triển kết hợp (IDE) duy nhất dành cho các chuyên viên thiết kế chuyên nghiệp để hoàn thiện tất cả những phần phát triển cần thiết cho chu kỳ đầy đủ của ứng dụng PHP. Thông qua một bộ công cụ toàn diện gồm editing, debugging, analysis, optimization and database tools, Zend Studio đẩy mạnh các chu kỳ phát triển và làm đơn giản những đề án phức tạp.
- Làm tăng hiệu suất làm việc của bạn
– Phát triển một cách nhanh chóng và thông minh hơn với Syntax Highlighting.
Và bây giờ tôi sẽ hướng dẫn các bạn sử dụng zend studio
  1. Để bắt đầu hoc php, trước tiên khởi tạo một project mới :
Bạn vào File-> new->Local PHP Project
Bạn điền tên project và chọn đường dẫn đến nơi bạn muốn đặt project
Để tạo một file php bạn click chuột phải vào tên project ->New ->PHP File
Làm tương tự khi muốn tạo file .html, .css,….
  1. Quản lý một project đã có sẵn :
Sau đó bạn điền tên và chọn đường dẫn
  1. Sử dụng menu
  • Bạn vào Search -> PHP và nhập các tiêu chí bạn muốn tìm kiếm.
  • Bạn vào Run -> debug và chọn để debug file bạn đang xây dựng.
  • Bạn vào Source-> format để định dạng lại code cho dễ nhìn
Sử dụng zend studio thật đơn giản phải không bạn. Bây giờ bạn bắt đầu sử dụng thôi nào !


Chúc các bạn thành công!

Tìm hiểu Controller trong Laravel 4.X

Tìm hiểu Controller trong Laravel 4.X

Ở bài trước chúng ta đã được tìm hiểu về Route và View trong Laravel. Tiếp tục chuỗi bài tìm hiểu về Laravel Framework tôi xin giới thiệu tới các bạn phần tiếp theo Tìm hiểu Controller trong Laravel 4.X

Cũng ở bài trước chúng ta đã thây được sự linh hoạt và mạnh mẽ đến từ route trong Laravel, nó cho phép chúng ta thực thi trực tiếp một quá trình thông qua route mà không cần xử lý bởi Controller. Tuy nhiên đối với các dự án có độ lớn và phức tạp cao thì chúng ta nên thao tác chúng với Controller giúp cho việc xây dựng và vận hành một cách linh hoạt cũng như sự dễ dàng phát triển sau này.

Điều đầu tiên khi làm việc với Controller trong Laravel ta tạo một file trong thư mục app/controllers theo cấu trúc tên file như sau: tên_fileController.php

Ví dụ: tintucController.php, sanphamController.php …

Để hiểu rõ hơn quá trình làm việc trong Controller ta đi làm một ví dụ như sau. Tạo một file có tên là WebController.php với nội dung :
<?php
 Class WebController extends BaseController{
   public function index(){
     $data = array(
       "name"=>"Thế Giới WEB",
       "website"=>"thegioiweb.net.vn"
     );
     return view::make(webView, $data);    
   }
 }
?>
Ở đây chúng ta đã tạo ra một lớp controller với tên là WebController được kế thừa từ lớp ban đầu BaseController. Trong lớp WebController ta xây dựng phương thức index. Và trong phương thức index ta gọi đến views có tên là webView và tham số truyền là mảng $data.

Tiếp đến ta tạo một file view có tên là webView.php có nội dung như sau :
<?php
 echo $name."---".$website;
?>
Sau đó ta khai báo trong file routes.php như sau :
<?php
 Route::get("web","WebController@index");
?>
Và truy cập với đường dẫn http://localhost/laravel/public/web

Kết quả
Thế Giới WEB---thegioiweb.net.vn
Trong trường hợp bạn muốn truyền giá trị từ route tới controller ta sẽ thực thi như sau:

Trước hết, trong quá trình lap trinh PHP này,  ta cần khai báo trong Route đối số ta mong muốn:
Route::get("web/content/{webName}","WebController@welcome");
Sau đó ta tạo phương thức welcome() với đối số là $website như sau:
<?php
class WebController extends BaseController{
    public function welcome($website){
        return "WELCOME TO ".$website;
    }
}
Ta chạy đường dẫn: localhost/laravel/public/web/welcome/thegioiweb.net.vn

Kết quả
WELCOME TO thegioiweb.net.vn

Nguồn: the gioi web
Tìm hiểu Route và View trong Laravel 4.X

Tìm hiểu Route và View trong Laravel 4.X

Trong phần này chúng ta sẽ đi tìm hiểu Route và View trong Laravel 4.X. Nếu như các bạn đã từng làm việc với một Framework bất kỳ thì chắc hẳn không còn xa lạ gì với khái niệm Route và View nữa. Tuy nhiên trong Laravel thì Route có sức mạnh hơn nhiều, bạn có thể dễ dàng thao tác trực tiếp với route mà không cần thiết phải tạo Controller.

Route trong Laravel

Để làm việc được với route trước hết ta tiếp xúc chúng với công thức cơ bản như sau:
Route::method('tên_định_danh', tham_số);

Trong đó:

  • tên_định_danh :  là đường dẫn trong ứng dụng mà người dùng chỉ định.
  • tham_số : là thao tác muốn thực thi với tên định danh trên.
  • method : là một trong các phương thức được định nghĩa dưới đây
  • post: dành cho các thao tác lấy dữ liệu từ form.
  • get: dành cho các thao tác truy cập thông thường tương đương với request cơ bản trong PHP.
  • put: dành cho thao tác lấy dữ liệu từ form (nhưng là cập nhật bản ghi).
  • delete: thao tác xóa bỏ.
  • any: là sự tổng hợp của các thao tác ở trên.


Ví dụ: Ghi thêm nội dung như sau vào file app/routes.php
Route::get("web","TGWController@show");
Câu lệnh trên sẽ được hiểu khi ta truy cập đường dẫn http://localhost/laravel/public/web thì nó sẽ gọi đến controller “TGW” và action “show”

Nếu muốn gửi kèm tham số thì cũng rất đơn giản như cú pháp dưới
Route::get("web/{param}", function($param){
   echo "Chào mừng bạn đến với ".$param;
});
Sau đó ta truy cập vào thanh địa chỉ duyệt web và nhập nội dung: http://localhost/laravel/public/web/thegioiweb.net.vn

Kết quả
Chào mừng bạn đến với thegioiweb.net.vn
Lưu ý:

Đôi khi tham số truyền vào của bạn không chắc chắn sẽ tồn tại thì ta sẽ sử dụng dấu (?) đằng sau tham số. Tuy nhiên đây cũng là một điểm nhạy cảm để hacker có thể tấn công website của chúng ta. Do vậy cần thật sự cẩn thận khi học php và khéo léo khi sử dụng đối số truyền vào trong quá trình làm dự án.

View trong Laravel

Để sử dụng views trong Laravel ta sử dụng cú pháp sau:
return View::make("tên_view",tham_số);

Trong đó:

  • tên_view: là tên file view cần triệu gọi (không có phần mở rộng)
  • tham_số: là tham số truyền sang view, có thể có hoặc không.


Ví dụ: Tạo một file view có tên là webView.php và triệu gọi vào như sau:
Route::get("web",function(){
    return View::make("webView");
});
Nếu muốn truyền tham số vào view ta có thể sử dụng một trong những cách sau:

1. Sử dụng tham số truyền là một mảng đơn thuần
Route::get("web",function(){
    $data['webName']= "Thế Giới WEB";
    return View::make("webView",$data);
});
2. Sử dụng phương thức with()
Route::get("web",function(){
    return View::make("webView")->with("webName"=>"Thế Giới WEB");
});
3. Sử dụng hàm compact()
Route::get("web",function(){
    $webName = "Thế Giới WEB";
    return View::make("webView",compact("webName"));
});
Bạn có thể lựa chọn 1 trong 3 cách trên để truyền tham số sang View (khuyến khích sử dụng cách 1 và 3). Sau đó bạn có thể sử dụng tham số được truyền qua View một cách tùy ý. Giả sử tôi chỉ dùng để in ra giá trị của biến được truyền sang View , thì ở views tôi tạo một file có tên là webView.php với nội dung như sau:
<?php
 echo "Chào mừng bạn đến với ".$webName;
?>

 Kết quả
Chào mừng bạn đến với Thế Giới WEB
Kiểm tra tính hợp lệ của dữ liệu trong CakePHP Framework

Kiểm tra tính hợp lệ của dữ liệu trong CakePHP Framework

Kiểm tra tính hợp lệ của dữ liệu là một quá trình vô cùng quan trọng đối với các ứng dụng website có sự tương tác dữ liệu giữa người dùng và hệ thống. Cũng giống như các Framework khác thì trong CakePHP Framework cũng cho phép chúng ta kiểm tra tính hợp lệ của dữ liệu thông qua các hàm được xây dựng sẵn.

hình ảnh minh họa


Sau đây, chúng ta sẽ đi tìm hiểu quá trình Kiểm tra tính hợp lệ của dữ liệu trong CakePHP Framework (Data Validation). Để sử dụng Data Validation thì chúng ta phải có 2 thành phần chính :

Thành phần Form Helper sử dụng cho việc tạo Form :
<?php
  var $helpers = array("Html", "Form")
?>
Thành phần namespace validate : sử dụng các tập luật để validation dữ liệu :
<?php
  var $validate = array(tập_luật);
?>

 Xây dựng ứng dụng Data Validation
Tạo một controller valid trong thư mục app/controllers có tên là valids_controller.php
<?php
  class ValidsController extends AppController{
  var $name = "Valids";
  var $helpers = array ('Html','Form');
  var $components = array('Session');
?>
Tạo một model trong thư mực app/model có tên là valid.php
<?php
  class valid extends AppModel{
  var $useTable = false; // không sử dụng bảng trong CSDL
  var $validate = array(); // name space mặc ðịnh khi sử dụng datavalidation
?>
Sử dụng điều kiện kiểm tra cho các trường

Giả sử đưa ra yêu cầu tạo 1 form nhập liệu với 2 trường với các điều kiện sau:

– title : không được phép rỗng

– info : không được phép rỗng

Ta tạo một function valid1() để thực thi :
<?php
  class ValidsController extends AppController{
  var $name = "Valids";
  var $helpers = array ('Html','Form');
  var $components = array('Session');

  function valid1(){
    $this->Valid->set($this->data);
    if($this->Valid->valid_01()==TRUE){
    $this->Session->setFlash("Data is avaliable !");
  }else{
    $this->Session->setFlash("Data is not avaliable !");
 }
?>

Để kích hoạt chức năng Data Validation ta sử dụng cú pháp
$this->Valid->set($this->data)

Sau đó model valid sẽ gọi hàm valid_o1() để kiểm tra điều kiện cho các trường tương ứng.
Trong thư mục app/views/valid ta tạo một file có tên là valid1.ctp có nội dung như sau :
<h1>Add Post</h1>
<?php
  echo $this->Form->create('Valid', array('action' => 'valid1'));
  echo $this->Form->input('title');
  echo $this->Form->input('info');
  echo $this->Form->end('Register');
?>
Để validate dữ liệu chúng ta sử dụng namespace validate ($this->validate) để gán tập luật cho các trường
$this->validates($this->validate)
Sử dụng từ khóa rule để chỉ tập luật và từ khóa notEmpty để chỉ không được rỗng. Một số tập luật thông dụng

§ ‘rule’ => ‘alphaNumeric’ : chỉ có số hoặc chữ
§ ‘rule’ => array(‘between’, 6, 32) : giá trị nằm trong khoản từ 6-32
§ ‘rule’ => array(‘comparison’, ‘>=’, 6) : giá trị phải lớn hơn 6
§ ‘rule’ => array(‘email’, true) : định dạng email
§ ‘rule’ => array(‘extension’, array(‘gif’, ‘jpeg’, ‘png’, ‘jpg’)) : dành cho upload file , kiểm tra extension
§ ‘rule’ => array(‘minLength’, 8) : độ dài nhỏ nhất là 8
§ ‘rule’ => array(‘maxLength’, 8) : độ dài tối đa là 8
§ ‘rule’ => ‘numeric’ : dữ liệu nhập là số
§ ‘rule’ => ‘notEmpty’ : dữ liệu không được bỏ trống
§ ‘rule’ => ‘url’ : định dạng địa chỉ url
 Sử dụng nhiều tập luật cho một trường

Như phần trên, trong quá trình lap trinh PHP chúng ta chỉ kiểm tra một điều kiện không rỗng đối với trường title và trường info. Giả sử chúng ta muốn kiểm tra nhiều hơn 1 điều kiện như :

– Trường title: không được rỗng, số ký tự lớn hơn 8 và chỉ có số hoặc chữ

Ta tùy chỉnh lại file valid.php trong model như sau:
<?php
class valid extends AppModel{
  var $useTable = false;
  var $validate = array();

  function valid_01(){
    $this->validate = array(
     "title"=>array(
       "rule1" => array(
           "rule" => "notEmpty",
           "message" => "Title không được để trống",
        ),
       "rule2" => array(
           "rule" => array('minLength', 8),
           "message" => "Số ký tự phải lớn hơn 8",
        ),
        "rule3" => array(
           "rule" => array('alphaNumeric'),
           "message" => "Title chỉ bao gồm số hoặc chữ",
        ),
     ),
    );
  if($this->validates($this->validate))
   return TRUE;
  else
   return FALSE;
 }
?>
Trong nhiều trường hợp các rule có sẵn không thể giải quyết được yêu cầu đặt ra, lúc này chúng ta phải sử dụng đến biểu thức chính quy (Regular Expression)

Ví dụ: Điều kiện cho title là số ký tự lớn hơn 8 và chỉ bao gồm chữ hoặc số
'rule' => '/^[A-z0-9]{8,}$/'
Sử dụng callback function

Callback function là thay vì sử dụng các từ khóa có sẵn hay biểu thức chính quy để kiểm tra quy luật thì ta còn có thể viết một hàm để kiểm tra các quy luật đó.

Bắt đầu viết ứng dụng với Call Back function :

-Yêu cầu tạo 1 form nhập liệu với 1 field với các tập luật được mô tả :

– Username : Không được rỗng, dữ liệu nhập vào hợp lệ là chuỗi “admin” nếu không thì báo lỗi, dùng hàm checkUsername để kiểm tra tính hợp lệ đó.

Trong Controller Valid ta thêm hàm valid2 :
<?php
class ValidsController extends AppController{
 var $name = "Valids";
 var $helpers = array ('Html','Form');
 var $components = array('Session');

 function valid2(){
  $this->Valid->set($this->data);
  if($this->Valid->valid_02()==TRUE){
   $this->Session->setFlash("Data is avaliable !");
  }else{
   $this->Session->setFlash("Data is not avaliable !");
  }
 }
?>
Trong thý mục app/views/valids/ tạo file valid2.ctp :
<h1>Add Post</h1>
<?php
echo $this->Form->create('Valid', array('action' => 'demo04'));
echo $this->Form->input('username');
echo $this->Form->end('Check');
?>
Trong model Valid thêm hàm valid_02() và hàm checkUsername()

<?php
class valid extends AppModel{
  var $useTable = false;
  var $validate = array();

  function valid_02 (){
   $this->validate = array(
    "username" => array(
    'rule' => 'checkUsername',
    'message' => 'Username is not avaliable',
   ),
  );
  if($this->validates($this->validate))
   return TRUE;
  else
   return FALSE;
  }

  function checkUsername(){
   if($this->data['Valid']['username']=="admin"){ // so sánh dữ liệu nhập từ form có tên username
    return true;
   }
   else{
    return false;
   }
  }
?>
Nguồn: the gioi web
Thao tác trên cơ sở dữ liệu trong CakePHP Framework

Thao tác trên cơ sở dữ liệu trong CakePHP Framework

Trong mỗi một Framework khác nhau thì chúng sẽ đưa ra cách thao tác với cơ sở dữ liệu khác nhau. Và trong phần này tôi xin được hướng dẫn các bạn Thao tác trên cơ sở dữ liệu trong CakePHP Framework.

Như tất cả chúng ta đã biết, để xây dựng ra một website thì một quá trình đầu tiên là phải phân tích và xây dựng cơ sở dữ liệu. Để từ đó, trong quá trình lap trinh web, ta có thể  thao tác với cơ sở dữ liệu đó một cách tùy ý, phụ thuộc vào chức năng của chúng ta cần xử lý.

Để thao tác với cơ sở dữ liệu thì tôi giả sử có một bảng trong cơ sở dữ liệu như sau (tên bảng là infos)


Ta tạo file info.php trong thư mục app/models với nội dung sau:
<?php
  Class Info extends AppModel{
    var $name = "Info"; // Tên của model info
  }
?>
Tạo tiếp file infos_controller trong thư mục app/controllers với nội dung sau:
<?php class InfosController extends  AppController{
   var $name = "Infos"; // tên của Controller Info
   function get_all(){
        $data = $this->Info->find("all");
        $this->set("data",$data);
    }
}
?>
Trong đó ta để ý tới câu lệnh $this->Info->find(“all”) có chức năng gọi tới model Info và lấy tất cả dữ liệu trong bảng infos

Truy vấn có điều kiện

Trong controller InfosController ta tạo thêm một function get_cond() có chức năng truy vấn theo điều kiện

Ví dụ: Chúng ta sẽ sử dụng điều kiện để lấy ra những bản ghi có số điện thoại bắt đầu là 09
<?php class InfosController extends  AppController{
   var $name = "Infos"; // tên của Controller Info
   public function get_cond(){
     $sql = array(
       "condition" => array("phone LIKE" => "09%"),
     );
     $data = $this->Info->find("all", $sql);
     $this->set("data", $data);
   }
}
?>

* Chúng ta cũng có thể sử dụng những câu truy vấn hoàn chỉnh (không sử dụng hàm hỗ trợ)
<?php
 class InfosController extends  AppController{
 
   var $name = "Infos"; // tên của Controller Info
   public function get_cond(){
     $sql = "SELECT * FROM infos WHERE phone LIKE '09%' ";
     $data = $this->Info->query($sql);
     $this->set("data", $data);
   }
}
?>