Thứ Ba, 17 tháng 12, 2013

Làm sao để trở thành 1 nhà thiết kế giỏi

Thiết kế là gì? Thiết kế là tạo nền tảng của việc tạo ra một đối tượng hoặc một tác phẩm. Thiết kế trong một nghĩa nào đó là truyền tải một thông điệp tới số đông vì chúng được dành cho việc phục vụ mục đích tạo ra nó.
Thiết kế, đôi khi được định nghĩa là cả quá trình tiến hành và sản phẩm cuối cùng của một nỗ lực để thoả mãn cá nhân hoặc của sự chuyên nghiệp. Thiết kế cũng là để chứng minh một cái gì đó đẹp thế nào và đôi khi, nó là về sự thay đổi của cuộc sống và ảnh hưởng tới tương lai.
Trong các lĩnh vực khác nhau, Thiết kế có thể có những mô tả khác nhau, nhưng nguyên tắc cơ bản thì tương tự. Cho dù bạn tạo ra một tác phẩm in ấn, website, thiết kế sản phẩm mới, hoặc thậm chí là một kế hoặch cho toà nhà 100 tầng, điều quan trọng là quá trình sáng tạo là tất cả.
Thiết kế là một thuộc tính có sẵn và nó không phải là kỹ năng có từ khi sinh ra. Nó là một đặc điểm có được từ sự cống hiến liên tục từ những gì bạn làm và từ những việc cực kỳ khó khăn đặt trong sự hiểu biết và học tập những nguyên tắc cơ bản của thiết kế và sử dụng nó hiệu quả.
Không phải nhà thiết kế nào cũng thành công khi anh ấy/ cô ấy tốt nghiệp đại học chuyên ngành hoặc bẩm sinh.
"Thiết kế không đơn giản chỉ là tập hợp rồi sắp xếp, hoặc thậm chí chỉnh sửa;

Nó là việc thêm các giá trị và ý nghĩa, để minh họa, để đơn giản hóa, để làm rõ, để thay đổi , để làm cho đẹp đẽ, để kịch tính hóa, để thuyết phục và thậm chí để giải trí."

- Paul Rand -
Nhà thiết kế là ai?
Một nhà thiết kế là ngươì có thể sử dụng kỹ năng thiết kế để áp dụng vào công việc của mình. Công việc của anh ta là, không chỉ chịu trách nhiệm về sản phẩm cuối cùng sẽ nhìn ra sao, mà còn tạo ra một cái nhìn rõ ràng dựa trên cách nó sử dụng và cách nó tạo ra.

Người thiết kế trong các lĩnh vực khác nhau, có các kỹ năng khác nhau, nhưng nền tảng cơ bản thì tương tự.

Thiết kế thường xuyên đòi hỏi Người thiết kế cân nhắc thẩm mỹ, tính năng, và rất nhiều khía cạnh của một đối tượng hoặc một quá trình, nó thường xuyên đòi hỏi sự nghiên cưú, suy nghĩ, mô phỏng, tương tác và thiết kế lại.

Với định nghĩa rộng lớn như vậy, không có ngôn ngữ phổ quát nào, hoặc một khái niệm thống nhất cho các thiết kế của tất cả các lĩnh vực. Điều này cho phép nhiều triết lý khác nhau và phương pháp tiếp cận tới chủ đề. Tuy nhiên, việc nghiên cứu thiết kế nghiêm túc đòi hỏi tập trung vào quá trình thiết kế.

Thiết kế tồi có thể tới từ nhiều lỗi như, không áp dụng nguyên tắc thiết kế cơ bản, lên kế hoạch kém, kỹ thuật kém, bỏ qua những quy định bắt buộc của mỗi ngành, truyền thông kém…

Vậy làm thế nào để trở thành một nhà thiết kế tốt hơn? Tôi vẫn đang cố gắng theo đuổi những điều dưới đây và sẵn sàng chia sẻ với bạn.

Những điều dưới đây dựa trên quan điểm của tôi và có thể nó khác với những gì bạn biết. Tôi chân thành đề nghị bạn chia sẻ những kinh nghiệm để trở thành một nhà thiết kế tốt của bạn, và những ý kiến mà bạn cho rằng có ích cho cộng đồng thiết kế.

Những điểm dưới đây được sắp xếp ngẫu nhiên. Mỗi điều đều quan trọng như nhau và đều phải nâng cao hàng ngày.

1. Thiết kế, thiết kế, thiết kế



Tôi nghĩ không có lời khuyên nào tốt hơn điều này. Để thành một nhà thiết kế thành công, tất cả các bạn phải luôn làm việc, luôn thiết kế đến khi …chết.

Sự kiên trì là chìa khóa trong bất cứ việc gì bạn làm; Liên tục cống hiến và làm việc chăm chỉ sẽ đem lại kết quả tốt và nó là sự thật chung.

Với lợi thế của thời đại kỹ thuật số, những người thiết kế có nhiều cách hơn để học hỏi và cả kiếm tiền.

2. Chuyển hóa ý tưởng của bạn vào phác thảo



Đôi khi, tất cả chúng ta quên rằng một quá trình thiết kế thực sự sẽ bắt đầu từ trong bộ não và sau đó chúng ta chuyển hóa chúng lên giấy. Tất cả chúng ta đang bị chìm trong vô số công cụ kỹ thuật số, nó khiến chúng ta quên việc vẽ bằng tay của mình.

Nếu bạn hỏi bất cứ người thiết kế giỏi nào, người đấy đều xác nhận rằng phác thảo là cách tốt nhất để thành nhà thiết kế giỏi. Khi bạn đã có phác thảo trong tay, bạn có thể dùng Photoshop hoặc bất kỳ công cụ nào để làm nó tốt hơn và đem nó tới đời sống.

Vì vậy luôn giữ một cuốn sổ ghi chép (có thể vẽ lên) ở bên người. Đơn giản là lấy bút ra và vẽ lúc bạn ăn sáng, uống cà phê, hay ngồi trong công viên… Chúng sẽ giúp bạn nhắc bản thân về điều bạn cần làm.

3. Thể hiện tình yêu, cảm xúc và trân trọng những gì bạn làm.



Đây là một trong những bước quan trọng, không những với các nhà thiết kế để trở thành một con người tuyệt vời. Nó áp dụng cho tất cả lĩnh vực khoa học, máy móc và cuộc sống. Bạn phải yêu những gì bạn làm và nó sẽ giúp bạn nhiều vô cùng khi tạo ra một sản phẩm tuyệt hảo.

Có cảm xúc để trở thành một nhà thiết kế giỏi và tạo những sản phẩm nghệ thuật ấn tượng là thực sự hữu ích, nó giữ bạn có động cơ và thúc đẩy bạn làm việc chăm chỉ hơn, tốt hơn và tạo ra những sảm phẩm để đời.

Trân trọng sự thật rằng bạn rất may mắn khi làm việc trong lĩnh vực thiết kế đồ họa, lĩnh vực có nhiều điều để học và để sáng tạo những điều mới và cố gắng thâm nhập sâu vào một số lĩnh vực bạn thấy yêu thích nhất.

Bạn sẽ có rất nhiều bạn và cộng đồng thiết kế thường có sự chia sẻ để giúp bạn nâng cao bản thân với những nền tảng thú vị.

4. Mạo hiểm và học từ những sai lầm của mình.

 Muốn thành công thì không thể thiếu sự mạo hiểm. Những sai lầm là một phần của quá trình đạt được những kết quả vĩ đại. Người thiết kế tốt sẽ rút kinh nghiệm từ những sai lầm của mình.

Biến sai lầm thành những kinh nghiệm quý giá của bạn thân. Điều quan trọng là nhìn các lỗi lầm một cách thận trọng và rút ra những điều thực sự bổ ích để tiếp tục đi lên.

5. Học điều gì đó mới mỗi ngày



Một nhà thiết kế tuyệt vời có thể khác với số còn lại khi họ thường xuyên học những điều mới. Có rất nhiều thông tin, kỹ thuật mới, xu hướng mới đang đợi bạn khám phá và nghiên cứu để có thể áp dụng.

Cảm hứng tới từ khắp nới, kiến trúc, công nghiệp, thiết kế, nghệ thuật, điêu khắc và rất nhiều trong nền công nghiệp sáng tạo này. Thậm chí chúng ta có thể lấy cảm hứng từ khoa học, hóa học, chuỗi Fibonacci và rất nhiều thứ khác.

Sự thật rằng thiết kế của bạn sẽ ngày càng tốt hơn khi bạn mở rộng kho tàng kiến thức của mình
6. Trải nghiệm



Tôi tin rằng một trong những cách để trở thành nhà thiết kế giỏi là luôn cố gắng thử những kỹ thuật mới, ý tưởng mới trong quá trình sáng tạo của bạn. Đừng sợ một kết quả xấu sẽ tới, hay bạn không thấy có gì liên quan giữa sản phẩm này với điều đó. Sức mạnh của bộ não là bị hấp dẫn bởi những ý tưởng mà nó không lường trước được.

Trải nghiệm cho phép bạn thấy những ý tưởng và khái niệm khác lạ, bộ não của bạn sẽ không ngừng hình dung. Nó cho phép bạn chuyển những suy nghĩ thực tế và những công việc tuyệt vời.

Nên nhớ rằng, phần lớn các phát minh vĩ đại đều là kết quả của trải nghiệm. Tôi cũng tin rằng thiết kế kinh điển là kết quả của một lỗi ngẫu nhiên và kết quả được giữ lại.

Không nên phá vỡ quy luật, những OK nếu bạn bẻ cong nó.

7. Đánh giá và kiểm tra công việc của bạn



Đừng bao giờ quên đánh giá lại sản phẩm của mình. Khi bạn trong quá trình thiết kế điều gì đó, dành chút thời gian nhìn vào sản phẩm của mình và hỏi chính mình những câu hỏi sau:

  • Tôi sẽ trả lời thế nào nếu ai đó hỏi tôi về quan điểm thực sự của thiết kế này
  • Tôi sẽ đề nghị gì để làm nó tốt hơn?
  • Có thể sử dụng những yếu tố khác với cách sử dụng hiệu quả hơn không?
  • Tôi có thể làm nó đơn giản hơn không? LESS IS MORE.

Khi bạn đã có thể xác định các câu hỏi trên, bạn đang đi đúng hướng để trở thành 1 nhà thiết kế tốt hơn.

Và khi dự án hoàn thành, bạn không nên bỏ nó vào quên lãng, hãy nhìn chúng lần nữa và xem liệu bạn có thể làm tốt hơn không. Bỏ qua những thói quen thiết kế hàng ngày và nghĩ khác và hỏi bản thân "Điều gì xảy ra nếu tôi bỏ thói quen với thiết kế này".

Cố gắng, cố gắng bỏ qua cách giải quyết vấn đề mà bạn hay dùng và thúc đẩy bản thân để thiết kế theo một cách khác thường.

8. Hiểu rõ các nguyên tắc và yếu tố của thiết kế.



Thiết kế có thể được coi là sắp xếp có tổ chức một hay nhiều yếu tố với các nguyên tắc có mục đích. Mục đích ở đây là chắc chắn khiến người dùng nhận được thông điệp mạnh mẽ của điều mà nhà thiết kế đang cố gắng diễn giải.

Một điều cần hiểu là không có gì ngẫu nhiên trên thế giới này. Mọi thứ đều được xác định và có một lý do đằng sau sự tồn tại và sử dụng chúng. Thậm chí cả vũ trụ, dù ai đó cho rằng nó hoàn toàn ngẫu nhiên, thì đối với tôi không có gì tồn tại mà không có lý do.

Khái niệm đó tương tự với thiết kế, khi chúng ta thiết kế, chúng ta có một mục đích và đó là đưa ra thông điệp cho người xem. Cho dù nó là một quảng cáo, một bức tranh, nó được làm để quảng bá sản phẩm hoặc để truyền tải cảm xúc của người nghệ sĩ.

Các yếu tố của thiết kế xuất hiện trong mọi thứ bạn tạo ra, dù muốn hay không. Nó như những lực vô hình ở phía trên thẩm mỹ thị giác của người xem. Có nhiều điều khiến cuộc sống thành những tấm hình. Một trong số đó là những yếu tố như Đường Nét, Hình dạng, Chất liệu, Hình khối, Không Gian và Hướng.

Các nguyên tắc của thiết kế cũng đa dạng. Chúng khác nhau giữa các trường phái tư tưởng có ảnh hưởng tới thiết kế và giữa sự thực hành các nhân các nhà thiết kế.

Nhận thức về các yếu tố và các nguyên tắc trong thiết kế là bước đầu tiên trong việc tạo dựng một tác phẩm thị giác thành công.

Một số trong số đó là: Hài hòa, Tương Phản, Nhịp điệu, Nhấn mạnh, Lặp lại, Cân bằng, Phân cấp. Các nguyên tắc sẽ chẳng là gì nếu như nhà thiết kế không biết cách kết hợp các yếu tố với nhau.

9. Dõi theo một nhà thiết kế mà bạn hâm mộ



Bạn chắc hẳng có một người nghệ sĩ, nhà thiết kế nào đó, người mà gây cảm hứng về nghề nghiệp cho bạn. Nếu không có, bạn nên dành thời gian để nghiên cứu về một người có ảnh hưởng trong nghề này. Sau đó hãy nghiên cứu các tác phẩm của họ, dành thời gian xem các thiết kế chuyên nghiệp của họ.

Hãy đặt các câu hỏi như "Điều gì thật sự cuốn hút bạn?, Điều gì khiến bạn phải WOW"? Cố gắng xác định các yếu tố khiến tác phẩm trở nên kiệt xuất.

Ghé thăm các Portfolio của các nhà thiết kế yêu thích và hỏi họ những câu hỏi mà bạn đang tìm kiếm; Làm sao để làm vậy? Anh/chị đã học thế nào? Tại sao anh chị lại làm vậy?… Những nhà thiết kế giỏi thường không ngần ngại chia sẻ những kinh nghiệm của mình.

10. Làm việc thông minh hơn (smarter, not harder)



Bạn thử lướt vài vòng trên Behance, DevianArt, bạn sẽ phát hiện ra vô số những nhà thiết kế giỏi đang cập nhật sản phẩm của họ. Một trong những cách trở thành nhà thiết kế giỏi là làm việc thông minh.

Đừng đơn giản chỉ là Thiết kế, bạn cần trưng bày những tắc phẩm có chọn lọc để chỉ ra tài năng của mình. Ngày nay, tạo một online porfolio và upload chúng trở nên dễ dàng hơn bao giờ hết.

Là một nhà thiết kế, bạn nên biết cách để sử dụng kỹ năng thuần thục và đúng chỗ. Hãy học Typography và sử dụng trong tác phẩm của mình. Nhiều nhà thiết kế đưa ra các thông điệp mạnh mẽ chỉ bằng vài dòng chữ và đôi khi nó rất hiệu quả.

11. Tổ chức và lên lịch công việc của bạn



Đây là một trong những điều quan trọng nhất để theo đuổi nếu bạn muốn trở thành nhà thiết kế tốt hơn. Có gắng tổ chức thông tin tự do để bạn có thể xem một cách dễ dàng. Nếu bạn đang bị tấn công dồn dập vởi công việc, hãy lên lịch cho chúng và bạn sẽ thấy dễ dàng hơn nhiều.

Nếu bạn đang tìm cách để nâng cao khả năng tổ chức của mình, không cần tìm kiếm đâu xa. Hãy thử đọc bài viết của Brian Behoff từ Design Cubicle, với chia sẻ các cách để thành một nhà thiết kế hiệu quả hơn, nổi bật hơn. Đọc tại đây.

12. Trì hoãn đường dẫn tới… tương lai
Đừng bao giờ trì hoãn công việc của bạn. Thường xuyên tìm cách kết thúc nó trong thời gian định trước. Loại bỏ sự phân tâm và những thứ gây ảnh hưởng tới công việc.

Thỏa hiệp là một thói quen cực xấu và kết quả là bạn có 1 dự án dang dở. Vì vậy có gắng duy trì thói quen làm việc chuyện nghiệp, nghiêm chỉnh.

Vâng, đó là những suy nghĩ của tôi về việc trở thành một nhà thiết kế tốt hơn, bạn có thể thêm vài điều bạn biết và bạn cho rằng nó rất hiệu quả. Tất cả chúng ta sẵn sàng đón nhận những ý kiến, những kiến thức mới. Vậy nên thoải mái để lại bình luận của bạn
(St)


Thứ Hai, 16 tháng 12, 2013

Tự học Javascript – cơ bản về cú pháp Javascript

Khác với các giáo trình tự học Javascript khác, giáo trình tự học Javascript của Course Webs bắt đầu rất căn bản bằng bài cú pháp cơ bản của Javascript. Theo HHV đây là một cách tiếp cận khá hay bởi bắt tay ngay vào việc mà không có một quá trình chuẩn bị là thiếu sót lớn. Chậm mà chắc thôi nào!
blog thiết kế - thiết kế web trên nền blogger blogspot

1. Hai cách nhúng Javascript vào một trang HTML

Để chèn một đoạn mã javascript vào trang HTML thuần tuý ta phải dùng thẻ <script>... </script>. Sử dụng thẻ này ta cần phải có thuộc tính “language” để báo cho trình duyệt biết ngôn ngữ lập trình được sử dụng. Tuy nhiên trong các trang web XHTML (Blogger) chúng ta cần phải sử dụng thuộc tính type = "text/javascript" thay thế cho “language”
Chúng ta sẽ viết đoạn mã javascript bên trong thẻ <script>... </script> như sau
Data provided by Pastebin.com - Download Raw - See Original
  1. <script type = "text/javascript">
  2.  
  3. // code javascript
  4.  
  5. </script>
Đoạn code Để viết code chúng ta cần có trình soạn thảo text cơ bản như Notepad. Tuy nhiên hiện tại có nhiều chương trình soạn thảo code chuyên nghiệp như Textpad, Editplus. Blog Thiết Kế khuyến cáo các bạn sử dụng Notepad++. Để kiểm tra các đoạn code chúng ta cần sử dụng các trình duyệt phổ thông như IE Firefox hoặc Chrome…
Dưới đây là ví dụ khi nhúng đoạn code vào một trang XHTML
Data provided by Pastebin.com - Download Raw - See Original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Cod JavaScript</title>
  6. </head>
  7. <body>
  8.     <script type="text/javascript">
  9.         document.write("The text will be displayed");
  10.     </script>
  11. </body>
  12. </html>
Cũng đoạn mã đó nhúng vào một trang HTML
Data provided by Pastebin.com - Download Raw - See Original
  1. <html>
  2. <head>
  3. <title>Cod JavaScript</title>
  4. </head>
  5. <body>
  6.     <script type="text/javascript">
  7.         document.write("The text will be displayed");
  8.     </script>
  9. </body>
  10. </html>
Trong hai đoạn code trên có dùng một hàm phổ biến là document.write dùng để viết ra một đoạn text hoặc mã được chỉ định. Kết quả đoạn code trên sẽ xuất ra màn hình thông điệp.

The text will be displayed

Còn một cách khác để nhúng một đoạn mã javascript vào trang HTLM là sử dụng các tập tin javascript bên ngoài. Khi sử dụng tập tin bên ngoài là có thể dùng chung một đoạn mã javascript cho nhiều trang web khác nhau. Nếu phải sửa đổi chúng ta chỉ cần sử đổi một lần cho tất cả các trang dùng chung tập tin javascript
Nếu sử dụng cách thức này thì cần thêm thuộc tính "scr" để chỉ định địa chỉ file javascript được sử dụng. Ví dụ
Data provided by Pastebin.com - Download Raw - See Original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="ro">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Cod JavaScript</title>
  6. </head>
  7. <body>
  8.     <script src="cod.js" type="text/javascript">     </script>
  9. </body>
  10. </html>

2. Giấu một đoạn code đối với trình duyệt cũ

Một vài trình duyệt không hiểu các đoạn mã javascript và hiển thị nó trên trang web như là các đoạn text thông thường. Để tránh điều này ta sử dụng các thẻ chú thích của HTML, xem ví dụ
Data provided by Pastebin.com - Download Raw - See Original
  1. <script type="text/javascript">
  2.  
  3. <!-- Codul scriptului -->
  4.  
  5. </script>

3. Một số quy ước

Bất cứ ngôn ngữ lập trình nào cũng có các nguyên tắc và quy ước riêng hãy ghi nhớ cẩn thận những điều sau đây nó sẽ giúp bạn rất nhiều trong việc coding sau này:
a) Cẩn thận viết thường và viết hoa. Ví dụ "examples” hoàn toàn khác với “Examples"
b) Dấu chấm phẩy ( ; ): mọi câu lệnh đều kết thúc bằng dấu châm phẩy. Ví dụ: var1 = 3; var2 = 8;).
c) Khoảng trắng: javascript không quan tâm đến các khoảng trống giữa các ký tự. Người ta thường dùng spacebar và tab để phân biệt các đoạn code giúp dễ đọc. javascript chỉ hiểu 1 khoảng trắng giữa chuỗi ký tự. Ví dụ: var1  =  2; cũng được hiểu là var1 = 2;
d) Dấu nháy: dấu nháy đơn ( ‘ ) và nháy đôi ( “ ) đều được dùng để phân định một chuỗi ký tự. Ví dụ: 'I learn JavaScript' or "I learn JavaScript"
e) Một số ký tự đặt biệt: Khi viết code đôi khi chúng ta cần dùng đến các ký tự đặc biệt trong dữ liệu đầu ra. Trong trường hợp này ta phải sử dụng ký tự dấu gạch chéo ngược ( \ ) trước ngay ký tự đặc biệt đó.
  • \b – backspace
  • \f - new page
  • \n - new line
  • \r - indicate a carriage return
  • \t - indicate a pressing TAB key
  • \\ - a backslash character
  • \' - indicate an apostrophe (single quotes)
  • \" - double quotes
Ví dụ nếu bạn hiển thị lên trình duyệt một đoạn text sử dụng hàm document.write trong đoạn text này có một số ký tự đặc biệt như

"JavaScript" Course \ blog.nguoiaolam.net

 Để trình duyệt có thể hiểu ý bạn cần viết đoạn code đó như sau
Data provided by Pastebin.com - Download Raw - See Original
  1. <script type = "text/javascript">
  2.  
  3. document.write ("\" JavaScript \" Course \\ blog.nguoiaolam.net");
  4.  
  5. </script>
f) Ghi chú: việc sử dụng ghi chú trong đoạn mã là cần thiết để phân biệt làm rõ vai trò, chức năng của các hàm, biến nhất định hoặc đơn giản là giải thích ý nghĩa một đoạn mã nào đó.
  • Để ghi chú cho một dòng đơn ta dùng 2 dấu gạch chéo // . Tất những ký tự nào nằm bên phải cùa dấu // được hiểu là một dòng ghi chú.
  • Để ghi chú nhiều hơn một dòng ta đặt đoạn ghi chú giữa 2 ký hiệu /* … */
Data provided by Pastebin.com - Download Raw - See Original
  1. // Comment on a single line
  2.  
  3. /* comment on ...
  4. multiple lineas
  5. ... */
g) Cách đặt tên các biến và hàm: Tên của các biến và hàm phải tuân theo nguyên tắc sau
  • Ký tự đầu tiên phải là một chữ cái một dấu gạch dưới ( _ ) hoặc một dấu đô la ( $ )
  • Ký tự đầu tiên không phải là một con số
  • Tên không nên chứa các khoảng trắng
  • Không được sử dụng các tên có trung với các từ khoá thông dụng của javascript như “array”, “status”, “alert”… Vì các trình duyệt sẽ không nhận ra được sự khác biệt.

Chủ Nhật, 15 tháng 12, 2013

PHP 5.4 và những điều nên biết

PHP 5.4 ra đời là một bước tiến quan trọng kể từ phiên bản 5.3- các tính năng mới sẽ được giữ lại trong phiên bản PHP 6 sau này (được hỗ trợ đầy đủ Unicode). Bản nâng cấp mang ý nghĩa quan trọng gần đây nhất là hoàn thiện tính năng cùng với việc bỏ hẳn các chức năng bị phản đối, kết quả là tận dụng triệt để runtime (tăng 20% tốc độ và giảm bộ nhớ sử dụng).
Những cải tiến và tính năng mới
Những tính năng mới quan trọng bao gồm các trait, cú pháp array rút gọn, webserver nhúng sẵn cho phép test code nhanh chóng, sử dụng từ khóa $this trong các closure, truy cập các lớp thành viên vào trong hiện thể, short_open_tag luôn được bật sẵn và còn nhiều hơn thế nữa!
Đáng nói ở đây, PHP 5.4.0 đã nâng cấp hiệu suất, memory footprint và chỉnh sửa trên 100 bug. Bỏ các tính năng  đáng chú ý bao gồm register_globals, magic_quotes (về thời gian) và safe_mode. Điều đáng chú ý ở đây nữa là thực tế sự hỗ trợ multibyte đã được kích hoạt mặc định và default_charset đã thay đổi từ ISO-8859 thành UTF-8.
"Content-Type: text/html; charset=utf-8 thì luôn được gởi đi, vì vậy không cần thiết phải cài đặt thẻ HTML meta hoặc gởi thêm các header để tương thích với UTF-8"
Traits
Thế mạnh của các trait thể hiện rõ khi nhiều class dùng chung một nhóm chức năng.
Trait (chuyển sang phong cách kế thừa hàng ngang thay vì kiểu phả hệ trước đây) là một tập hợp các phương thức với các cấu trúc tương tự như một class (nhưng không thể được khởi tạo), nó cho phép các nhà phát triển có thể dùng lại các tập hợp phương thức một cách tự do ở trong các class độc lập. PHP là một ngôn ngữ đơn kế thừa, do vậy một subclass có thể thừa hưởng từ một superclass duy nhất; đó là lí do vì sao trait xuất hiện.
Cách dùng tối ưu nhất của traits được thể hiện khi nhiều class dùng chung một nhóm chức năng. Ví dụ, hình ảnh chúng ta tạo ra trên các website và cần sử dụng cả API của Facebook lẫn Twitter. Chúng ta sẽ tạo 2 class và có một cURL bao gồm chức năng/phương thức. Thay vì thường sử dụng phương thức thực hiện copy & paste ở 2 class, chúng ta sẽ sử dụng Trait (copy & paste, cách trình biên dịch). Theo cách này, chúng ta sẽ tận dụng code và làm theo đúng quy tắc DRY (Don’t Repeat Yourself).
Dưới đây là ví dụ:
/** cURL wrapper trait */
trait cURL
{
    public function curl($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }
}
/** Twitter API Class */
class Twitter_API
{
    use cURL; // use trait here
    public function get($url)
    {
        return json_decode($this->curl('http://api.twitter.com/'.$url));
    }
}
/** Facebook API Class */
class Facebook_API
{
    use cURL; // and here
    public function get($url)
    {
        return json_decode($this->curl('http://graph.facebook.com/'.$url));
    }
}
$facebook = new Facebook_API();
echo $facebook->get('500058753')->name; // Rasmus Lerdorf
/** Now demonstrating the awesomeness of PHP 5.4 syntax */
echo (new Facebook_API)->get('500058753')->name; // Rasmus Lerdorf
$foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name; // and again, Rasmus Lerdorf
echo (new Twitter_API)->get('1/users/show.json?screen_name=rasmus')->name;
// and yet again, Rasmus Lerdorf
// P.S. I'm not obsessed with Rasmus :)

Bạn vẫn chưa hiểu? Ví dụ này sẽ đơn giản và dễ hiểu hơn!
trait Net
{
    public function net()
    {
        return 'Net';
    }
}

trait Tuts
{
    public function tuts()
    {
        return 'Tuts';
    }
}
class NetTuts
{
    use Net, Tuts;
    public function plus()
    {
        return '+';
    }
}
$o = new NetTuts;
echo $o->net(), $o->tuts(), $o->plus();
echo (new NetTuts)->net(), (new NetTuts)->tuts(), (new NetTuts)->plus();
Gợi ý : Hằng số bất biến của các trait là __TRAIT__.
Nhúng sẵn webserver CLI
Trong phát triển web, người bạn thân thiết của PHP là Apache HTTPD Server. Dù đôi lúc nó có thể bị hủy để cài đặt httpd.conf cho việc sử dụng trong môi trường phát triển, khi bạn thật sự cần web server nhỏ mà có thể khởi động nó chỉ bằng một dòng lệnh đơn giản. May mắn thay, PHP 5.4 ra đời cùng với việc nhúng sẵn webserver CLI.
Web server CLI PHP được thiết kế dành cho các mục đích phát triển và không nên dùng để chạy các hệ thống đã hoàn thiện.
Chú ý : Hướng dẫn dưới dây dành cho Window
Bước 1 – Tạo thư mục gốc Document, File Router và File Index
Vào thư mục ổ cứng chính (thường là C:\). Tạo một đường dẫn/thư mục, có tên gọi là public_html. Tạo một file mới trong thư mục có tên gọi là router.php. Copy nội dung dưới đây và paste nó vào trong file vừa tạo mới.
// router.php
if (preg_match('#\.php$#', $_SERVER['REQUEST_URI']))
{
    require basename($_SERVER['REQUEST_URI']); // serve php file
}
else if (strpos($_SERVER['REQUEST_URI'], '.') !== false)
{
    return false; // serve file as-is
}
?>
Bây giờ, tạo một file khác, gọi là index.php. Copy nội dung ở dưới và lưu file.
// index.php
echo 'Hello Nettuts+ Readers!';
?>
Mở file php.ini (nó nằm trong đường dẫn cài đặt PHP –ví dụ: C:\php).
Tìm phần cài đặt include_path (nó nằm ở vào khoảng dòng thứ 708). Thêm C:\public_html vào cuối chuỗi giữa các dấu nháy, cách nhau bởi dấu phẩy. Kết quả cuối cùng sẽ giống như vậy:
include_path = ".;C:\php\PEAR;C:\public_html"
Lưu và đóng file. Chuyển qua bước tiếp theo.
Bước 2 – Chạy web server
Mở bảng gõ lệnh (Windows + R, gõ vào CMD và nhấn Enter); tùy thuộc vào phiên bản Windows, bạn sẽ thấy dòng như dưới đây,
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\nettuts>

Thay đổi đường dẫn hiện tại đến cài đặt PHP theo ví dụ sau:
C:\Documents and Settings\nettuts>cd C:\php
C:\php>
Phần quan trọng nhất- chạy web-server. Copy đoạn dưới…
php -S 0.0.0.0:8080 -t C:\public_html router.php
…và dán nó vào dòng lệnh ( click chuột phải, chọn Paste để paste). Nhấn Enter. Nếu nó hoạt động, bạn sẽ thấy các dòng giống như ở dưới. Đừng đóng bảng gõ lệnh, nếu bạn làm vậy,  bạn sẽ thoát khỏi web-server.
C:\php>php -S 0.0.0.0:8080 -t C:\public_html router.php
PHP 5.4.0 Development Server started at Fri Mar 02 09:36:40 2012
Listening on 0.0.0.0:8080
Document root is C:\public_html
Press Ctrl-C to quit.
Mở trên trình duyệt của bạn địa chỉ http://localhost:8080/index.php và bạn sẽ thấy:
Hello Nettuts+ Readers!
Mẹo 1: Tạo một file php-server với nội dung sau: C:\php\php -S 0.0.0.0:8080 -t C:\public_html router.php. Click đôi và bây giờ, máy chủ đã được tải lên và hoạt động.
Mẹo 2: Dùng 0.0.0.0 thay cho localhost nếu như bạn đoán trước được máy chủ của bạn sẽ truy cập từ Internet.
Cú pháp Array rút gọn
PHP 5.4 đưa ra một cú pháp array mới ngắn hơn
$fruits = array('apples', 'oranges', 'bananas'); // "old" way
// The same as Javascript's literal array notation
$fruits = ['apples', 'oranges', 'bananas'];
// associative array
$array = [
    'foo' => 'bar',
    'bar' => 'foo'
];
Hãy lưu ý rằng phương thức cũ vẫn được sử dụng và sẽ luôn như vậy. Đây chỉ đơn giản là sự lựa chọn.
Array Dereferencing
Không còn các biến tạm thời khi xử lý với các array!
Hãy tưởng tượng rằng chúng ta muốn gọi tên lót của Alan Mathison Turing:
echo explode(' ', 'Alan Mathison Turing')[1]; // Mathison
Rất hay, nhưng trước đây nó không dễ dàng như vậy. Trước 5.4, chúng ta phải:
$tmp = explode(' ', 'Alan Mathison Turing');
echo $tmp[1]; // Mathison

Những gì chúng ta cần làm bây giờ là lấy họ (thành phần cuối trong array)
echo end(explode(' ', 'Alan Mathison Turing')); // Turing
Câu lệnh này hoạt động tốt tuy nhiên nó lại tạo ra một lỗi E_STRICT (Các tiêu chuẩn Strict: các biến thể chỉ nên được thông qua bằng cách tham chiếu, do đó nó đã trở thành một phần của E_ALL trong error_reporting
Đây là một ví dụ cho ý trên:
function foobar()
{
    return ['foo' => ['bar' => 'Hello']];
}
echo foobar()['foo']['bar']; // Hello
Từ khóa $this trong hàm nặc danh
Bây giờ bạn có thể tham chiếu đến một đối tượng hiện thể từ các hàm nặc danh (được biết đến là các closure) bằng cách dùng $this
class Foo
{
    function hello() {
        echo 'Hello Nettuts!';
    }
    function anonymous()
    {
        return function() {
            $this->hello(); // $this wasn't possible before
        };
    }
}
class Bar
{
    function __construct(Foo $o) // object of class Foo typehint
    {
        $x = $o->anonymous(); // get Foo::hello()
        $x(); // execute Foo::hello()
    }
}
new Bar(new Foo); // Hello Nettuts!

Lưu ý rằng nó có thể được ưu tiên hoàn thành đối với 5.4, nhưng nó cũng có thể bị hủy.
function anonymous()
{
    $that = $this; // $that is now $this
    return function() use ($that) {
        $that->hello();
    };
}
short_open_tag luôn bật sẵn
Không để ý tới cài đặt của php.ini, short_open_tag, = (mở tag và echo PHP) sẽ luôn luôn có sẵn, điều này có nghĩa là an toàn khi sử dụng
Sự biểu diễn số nhị phân
Chỉ có 0b10 loại người đó chính là hiểu số nhị phân và số còn lại là không hiểu.
Cho đến bây giờ, các số nguyên được chia thành các hệ thập phân (cơ số 10), hệ thập lục phân (cơ số 16), hệ bát phân (cơ số 8) hoặc hệ nhị phân (cơ số 2),  thứ tự tùy chọn bằng các kí hiệu ( -  hoặc +). Để sử dụng hệ bát phân, con số trước phải bắt đầu bằng 0 (số 0). Để sử dụng hệ thập lục phân, con số trước phải bắt đầu bằng 0x.
Để dùng hệ nhị phân, con số trước bắt đầu với 0b.
Ví dụ: biểu diễn số 31 (thập phân)
echo 0b11111; // binary, introduced in PHP 5.4
echo 31; // duh
echo 0x1f; // hexadecimal
echo 037; // octal
Callable Typehint
Typehint dành cho những ai mong muốn PHP trở thành một ngôn ngữ định kiểu mạnh hơn. Trong PHP 5.1, Type Hint chỉ hỗ trợ object và array . Sang PHP 5.4, có thêm callable. Typehint truyền thống vẫn chưa hỗ trợ kiểu int và string.
function my_function(callable $x)
{
    return $x();
}
function my_callback_function(){return 'Hello Nettuts!';}
class Hello{static function hi(){return 'Hello Nettuts!';}}
class Hi{function hello(){return 'Hello Nettuts!';}}
echo my_function(function(){return 'Hello Nettuts!';}); // anonymous function
echo my_function('my_callback_function'); // callback function
echo my_function(['Hello', 'hi']); // class name, static method
echo my_function([(new Hi), 'hello']); // class object, method name
Tính toán thời gian với độ chính xác cao
$_SERVER['REQUEST_TIME_FLOAT'] đã được thêm vào với độ chính xác một phần triệu của giây (float). Điều này thật sự rất cần thiết khi bạn muốn tính toán thời gian thực thi script.
echo 'Executed in ', round(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], 2), 's';
__destruct() (hoặc Tóm tắt)
Nhìn chung, PHP 5.4 đã có những cái thiện đáng kể. Vào lúc này đây, tùy thuộc vào bạn nếu bạn muốn một bản copy mới tinh từ trang php.net, hãy lấy về và viết ra những dòng code PHP hướng đối tượng tuyệt vời và chất lượng hơn.
Theo bạn thì PHP 5.5 sẽ mang đến cho chúng ta những chức năng gì mới và bạn đang mong đợi gì từ nó?