Skipping to Another Action

June 30, 2007 at 6:14 am (Symfony)

In some cases, the action execution ends by requesting a new action execution. For instance, an action handling a form submission in a POST request usually redirects to another action after updating the database. Another example is an action alias: the index action is often a way to display a list, and actually forwards to a list action.

The action class provides two methods to execute another action:

  • If the action forwards the call to another action:
    $this->forward('otherModule', 'index');
  • If the action results in a web redirection:
    $this->redirect('otherModule/index'); $this->redirect('http://www.google.com/');

The code located after a forward or a redirect in an action is never executed. You can consider that these calls are equivalent to a return statement. They throw an sfStopException to stop the execution of the action; this exception is later caught by symfony and simply ignored.

The choice between a redirect or a forward is sometimes tricky. To choose the best solution, keep in mind that a forward is internal to the application and transparent to the user. As far as the user is concerned, the displayed URL is the same as the one requested. In contrast, a redirect is a message to the user’s browser, involving a new request from it and a change in the final resulting URL.

If the action is called from a submitted form with method="post", you should always do a redirect. The main advantage is that if the user refreshes the resulting page, the form will not be submitted again; in addition, the back button works as expected by displaying the form and not an alert asking the user if he wants to resubmit a POST request.

There is a special kind of forward that is used very commonly. The forward404() method forwards to a “page not found” action. This method is often called when a parameter necessary to the action execution is not present in the request (thus detecting a wrongly typed URL). Listing 6-12 shows an example of a show action expecting an id parameter.

Listing 6-12 – Use of the forward404() Method

public function executeShow() {   $article = ArticlePeer::retrieveByPK($this->getRequestParameter('id'));   if (!$article)   {     $this->forward404();   } }

If you are looking for the error 404 action and template, you will find them in the $sf_symfony_ data_dir/modules/default/ directory. You can customize this page by adding a new default module to your application, overriding the one located in the framework, and by defining an error404 action and an error404Success template inside. Alternatively, you can set the error_404_module and error_404_ action constants in the settings.yml file to use an existing action.

Experience shows that, most of the time, an action makes a redirect or a forward after testing something, such as in Listing 6-12. That’s why the sfActions class has a few more methods, named forwardIf(), forwardUnless(), forward404If(), forward404Unless(), redirectIf(), and redirectUnless(). These methods simply take an additional parameter representing a condition that triggers the execution if tested true (for the xxxIf() methods) or false (for the xxxUnless() methods), as illustrated in Listing 6-13.

Listing 6-13 – Use of the forward404If() Method

// This action is equivalent to the one shown in Listing 6-12 public function executeShow() {   $article = ArticlePeer::retrieveByPK($this->getRequestParameter('id'));   $this->forward404If(!$article); }   // So is this one public function executeShow() {   $article = ArticlePeer::retrieveByPK($this->getRequestParameter('id'));   $this->forward404Unless($article); }

Using these methods will not only keep your code short, but it will also make it more readable.

When the action calls forward404() or its fellow methods, symfony throws an sfError404Exception that manages the 404 response. This means that if you need to display a 404 message from somewhere where you don’t want to access the controller, you can just throw a similar exception.

Permalink Leave a Comment

Đối phó với… côn trùng

June 28, 2007 at 6:04 am (Tips)

Chữa côn trùng chui vào tai
-Khi côn trùng chui vào tai, bạn hãy hướng tai mình vào ánh đèn sáng, vì côn trùng dễ bị thu hút bởi ánh sáng.
Xua muỗi
-Muỗi khá “ghét” hành lá. Vậy khi nào quên mua thuốc chống muỗi thì chúng ta có thể bóp vài lá hành sống để dưới gầm bàn thì không có “chàng” muỗi ghé thăm.
Tỏi đuổi gián
-Gián kỵ mùi tỏi, tỏi với liều lượng thấp có thể giết ấu trùng. Ðể tỏi tươi trong tủ thức ăn thì gián không có chui vào.
Hoa vạn thọ giúp đuổi ong
-Cây hoa Vạn Thọ được trồng sát hay chung quanh cái ghế ngoài vườn thì mấy con ong không thích tới thăm.
Khi bị ong và muỗi chích, kiến cắn
-Nên rửa ngay vết ong hoặc muỗi chích bằng nước muối thật mặn (càng mặn càng đỡ đau), sau đó dùng bông gòn thấm nước nóng có pha muối hoặc giấm chua đắp lên chỗ bị chích. Nếu chúng ta bị ong chích và vết thương gây nhiều nhức nhối, khó chịu thì chúng ta thử lấy nhíp nhổ ngòi của ong ra. Sau đó, chỉ cần lấy lá ngò tây vò nát đắp lên chỗ đau. Khoảng vài phút, vết thương sẽ dễ chịu hơn. Riêng đối với trường hợp bị muỗi chích, kiến cắn thì đơn giản hơn, chúng ta chỉ cần cắt những khoanh hành tây đắp lên chỗ những vết muỗi cắn, kiến cắn. Trong vòng vài phút, chúng ta sẽ cảm thấy hết ngứa ngáy, khó chịu. Lá bạc hà bóp nhỏ và đắp lên cũng có tác dụng như trên.
Diệt mối
-Thuốc sát trùng chỉ làm chết những con mối xuất hiện ngoài khe rãnh, còn những con ẩn núp bên trong hay những trứng mối ở trong ổ vẫn còn như thường và vẫn chờ dịp làm hại chúng ta như thường. Chúng ta hãy chịu khó làm theo cách sau: mua một ít nụ đinh hương ở tiệm thuốc, cắm những nụ đinh hương đó vào trong một trái cam tươi, để nguyên trái cam tươi đó vào những nơi có mối đang ăn hại đồ vật. Chính mùi nụ đinh hương tiết ra làm tiệt đường sinh sản của giống mối. Nên nhớ dùng cho đến khi bị khô héo thì lại tiếp tục làm như vậy.
Trừ kiến
-Tuy sức phá hoại của kiến không đáng kể, nhưng các chị em nội trợ không khỏi bực mình khi thấy từng bầy kiến hôi, kiến lửa kéo nhau đi trên vách hay trên sàn nhà. Ngoài những loại kiến bò dưới đất ra, vào mùa mưa, ở nông thôn còn có kiến cánh. Loại này không phá hoại gì mấy nhưng kiến bay đầy nhà cũng gây nhiều phiền phức.
-Chúng ta có thể tránh những phiền toái này bằng cách: nghiền nát đường và bột men bánh mì với số lượng bằng nhau. Sau đó, chúng ta nhỏ vào đó vài giọt nước và trộn lại như bột làm bánh. Tiếp theo, chúng ta đem bột này để vào những nơi có ổ kiến. Mùi đường sẽ làm cho kiến kéo ra tha những miếng bột này vào tổ để ăn với nhau.
-Bột men bánh mì khi chạy vào bụng kiến sẽ nở lớn ra và kiến sẽ vỡ bụng mà chết. Phương pháp này lạ đối với người Việt Nam nhưng lại là phương pháp thông dụng nhất của Tây Phương. Các bạn hãy áp dụng thử xem kết quả thế nào?

NHẬT TRIỀU(tuoitre online)

Permalink Leave a Comment

Làm gì để tránh viêm họng khi nắng nóng?

June 27, 2007 at 2:06 am (Medicine)

Có thể uống siro giảm ho trước khi quyết định dùng kháng sinh.
Ảnh: Corbis.

Trời quá nóng, nhiều bà mẹ băn khoăn vì nếu không bật máy điều hòa thì trẻ vật vã khó chịu, mà bật thì sợ trẻ bị viêm họng và ho.

Bác sĩ Phạm Mạnh Thân, Trưởng phòng kế hoạch tổng hợp Bệnh viện Xanh Pôn (Hà Nội), cho biết, trong những ngày nắng nóng này, số người lớn và trẻ em đến khám do viêm đường hô hấp đều tăng. Đặc biệt, có đến 80-85% trẻ đến khám bệnh là do vấn đề ở đường hô hấp. Bác sĩ cũng giải đáp những thắc mắc thường gặp về hiện tượng này:

 

 

- Tại sao khi trời nóng, con người lại dễ bị viêm họng?

- Thời tiết nóng làm giảm sức đề kháng của cơ thể nên dễ gây viêm đường hô hấp, nếu nặng có thể gây viêm họng mủ, viêm amiđan mủ. Nguy cơ càng cao khi có sự thay đổi nhiệt độ đột ngột, chẳng hạn như: Uống nước quá lạnh khi đang nóng hay khi đang toát mồ hôi, vừa ở ngoài trời nóng về đã tắm nước lạnh, từ bên ngoài bước ngay vào phòng lạnh hoặc ngược lại…

Đặc biệt, việc uống nước lạnh rất dễ gây viêm đường hô hấp bởi nó làm nhiệt độ ở vùng họng giảm đột ngột. Tuy nhiên, đây lại là sở thích và thói quen của nhiều người trong mùa hè. Tốt nhất chỉ nên uống nước mát vừa, nếu thích nước lạnh thì chỉ nên uống từ từ từng ngụm nhỏ.

- Nhiều người cho rằng việc dùng máy điều hòa nhiệt độ rất có hại cho đường hô hấp, nhất là trẻ em. Điều đó có đúng không?

- Bởi cái nóng làm giảm sức để kháng nên việc dùng máy điều hòa vào những ngày quá nóng là cần thiết. Những ngày nóng thường đi kèm với độ ẩm cao, cơ thể rất khó tự cân bằng nên sinh ra mệt mỏi, nhất là trẻ em sẽ kém ăn, toát mồ hôi và dễ bị viêm họng.

Tuy nhiên, nếu dùng điều hòa không hợp lý thì thiết bị tiện nghi này lại là yếu tố gây viêm đường hô hấp. Tránh nằm ở nơi luồng gió trực tiếp phả vào. Nhiệt độ chỉ nên để ở mức 24 độ C. Nên tạo ra một “vùng đệm” có nhiệt độ vừa phải trước khi vào hoặc ra khỏi phòng lạnh. Khi không bật máy, cần mở cửa phòng cho thoáng khí, thường xuyên vệ sinh máy lạnh để tránh nhiễm bẩn.

- Với những nhà không có máy điều hòa thì sao?

- Việc dùng quạt máy giúp mọi người dễ chịu hơn nếu không có máy điều hòa. Tuy nhiên vào những ngày độ ẩm không khí cao, quạt máy không giúp được gì nhiều, dù nằm quạt vẫn ra mồ hôi. Trong trường hợp này vẫn nên dùng quạt với cường độ vừa phải, đồng thời dùng khăn lau mồ hôi thường xuyên cho trẻ. Tránh để quạt thốc gió vào mặt.

- Có nên tắm nước lạnh vào mùa nóng?

- Để làm dịu cơn nóng, nhiều người bơm nước từ bể chứa ngầm dưới nền nhà để tắm, bởi nước trong bể thường mát lạnh, chỉ 8-12 độ C. Với những người khỏe mạnh đã quen rèn luyện với sự thay đổi môi trường, nước lạnh này làm họ khoan khoái. Nhưng với người yếu và trẻ em, tắm nước lạnh như vậy không tốt, dễ gây cảm hoặc viêm đường hô hấp. Tốt nhất nên tắm nước khoảng 20 độ C, nghĩa là pha nước lạnh này với nước ở bể chứa ngoài trời (nhiệt độ khoảng 30-32 độ C), hoặc dự trữ nước ở các thùng chứa trong nhà.

- Có nên dùng kháng sinh khi bị viêm họng, ho do nắng nóng?

 - Có đến 90-95% trường hợp viêm đường hô hấp khi nắng nóng là do virus, chỉ 5-10% do vi khuẩn. Vì vậy với đa số bệnh nhân, việc dùng kháng sinh là vô ích, thậm chí làm tăng nguy cơ nhờn thuốc trong những lần ốm sau. Vì vậy ban đầu, chỉ nên tăng sức đề kháng bằng chế độ ăn và bổ sung sinh tố, dùng thuốc chữa triệu chứng như hạ sốt nếu sốt cao, siro ho hoặc các loại thuốc nam chữa ho nếu ho nhiều. Sau vài ngày không đỡ, nên đến bác sĩ để được chỉ định kháng sinh nếu cần. Nếu đi khám khi mới có triệu chứng, bác sĩ cũng không cho dùng kháng sinh ngay.

Hải Hà

Permalink Leave a Comment

June 26, 2007 at 3:38 am (Blogroll)

sad_man.jpg

 

Here is FireBird

Permalink Leave a Comment

All out of love – Air Supply

June 25, 2007 at 6:28 am (Listen and Feel)

I am lying alone with my head on the phone
Thinking of you till it hurts
I know you’re hurt too
but what else can we do
Tormented and torn apart

I wish I could carry your smile in my heart
For times when my life seems so low
It would make me believe what tomorrow could bring
When today doesn’t really know, doesn’t really know

CHORUS
I’m all out of love, I’m so lost without you
I know you were right, believing for so long
I’m all out of love, what am I without you
I can’t be too late to say that
I was so wrong

I want you to come back and carry me home
Away from this long lonely nights
I’m reaching for you, are you feeling it too
Does the feeling seem oh, so right

And what would you say if I called on you now
And said that I can’t hold on?
There’s no easy way, it gets harder each day
Please love me or I’ll be gone, I’ll be gone

CHORUS

Ooh, what are you thinking of
What are you thinking of
What are you thinking of
what are you thinking of

Permalink Leave a Comment

Love, Works and Nothing

June 25, 2007 at 5:45 am (My Stories)

Today, it is a bad day with me.
Why? Why do someone say about that with me? They don’t understand or really want that. I don’t know.
What? What happen with me in a new day? I don’t know.

But i am happy beacause of having some good friends who really understand and share my troubles.

Tonight, i have a meeting with my old friend. Hopefully, It is better.

Permalink Leave a Comment

Ngư ông & Thương gia (Marketing Magazine)

June 23, 2007 at 2:25 pm (Business Stories)

Chuyện kể rằng có 1 ngư ông nằm dài thư giãn trên bãi biển. Một thương gia giàu có nổi tiếng đi ngang qua, nhiền thầy bèn hỏi chuyện ngư ông: “Tại sao ông lại nằm đây, ông không đi làm, ông không thấy bao nhiêu người đổ mồ hôi sôi nước mắt làm việc ngoài kia đó sao ?”.
Ngư ông bình thản hỏi lại: “Thế theo ông làm việc vất vả để làm gì ?”.
Thương gia rất ngạt nhiên: “Ông thật là lạ, làm việc thì mới có tiền”.
Người ngư phủ vẫn với giọng nói như vậy: “Vậy thế ông kiếm được tiền rồi để làm gì”.
Người thương gia bắt đầu cảm thấy khó chịu nhưng vẫn có gắng trả lời: “Tôi thật chưa gặp ai như ông, có tiền ông có thể mua được mọi thứ: nhà cửa, xe hơi, đi du lịch,… Chẳng lẻ ông chưa bao giờ nghĩ đến nó”.
“Tôi biết nhưng tại sao ông lại thích được tất cả những thứ đó ?” – Ngư ông nói.
Thương gia cảm thấy tức giận và trả lời: “Ừ thì ông cứ nằm đẩy thư giãn thoải mái, ông có thể nằm dài trên bãi biển mà chẳng phải lo nghĩ gì”.
Ngư ông trả lời:”Thế ông không thấy tui nằm rất xung sướng và thoải mái đó sao!”.

Trong đời, nhiều người nghĩ họ sẽ hạnh phúc, vui vẻ khi có được nhiều của cải vật chất và họ mãi mê kiếm tìm nó trong quá khứ, hiện tại và tương lai. Tuy nhiên, nếu dành 1 chút thời gian dừng lại và quan sát những gì mình đang có họ sẽ thấy ngay niềm hạnh phúc đơn giản mà quá khứ họ đã kiếm tìm được. Hiện tại là tương lai của quá khứ và là quá khứ của tương lai, nếu chúng ta bỏ qua hiện tại thì ngây lập tức chúng ta mất cả quá khứ lẫn tương lai, đồng nghĩa với việc chúng ta mất đi hạnh phúc. Có 1 câu rất hay: “Hãy sống từng ngày trọn vẹn, trân quý những người ngay bên cạnh mình, những thứ mình đang có và yêu cuộc sống mình hơn“.

Permalink 1 Comment