Lý do tại sao 2013 chỉ có thể là năm của PHP

Lý do tại sao 2013 chỉ có thể là năm của PHP

2012 là một năm tuyệt vời cho cộng đồng PHP, nhờ nhiều tính năng cần thiết được bổ sung vào phiên bản 5,4, cũng như vô số các dự án, tiến PHP để cấp độ tiếp theo. Trong bài viết này, tôi muốn xem xét một số ít trong những vấn đề mà mọi người đã có với PHP trong quá khứ, và cung cấp một cái nhìn thoáng qua vào lý do tại sao 2013 chỉ có thể là năm của PHP!


Tại sao sự thù địch?

Điều này có thể đến như là một bất ngờ cho bạn, nhưng nhiều người có những cách nghĩ tiêu cực đối với các nhà phát triển PHP, và ngôn ngữ như mì ăn liền. Bạn có thể biết chính xác những gì tôi có nghĩa là gì

Tuy nhiên, trước khi bạn thực hiện bất kỳ thay đổi, bạn phải tự hỏi mình: “Tại sao PHP có một sự kỳ thị như vậy?”

Vâng, giống như nhiều câu hỏi quan trọng của cuộc sống, không có câu trả lời rõ ràng. Sau khi làm một chút tìm kiếm trực tuyến, đối với một số đối số PHP, bạn sẽ thấy rằng khoảng 87% của các luận cứ chống lại PHP được bắt nguồn từ sự thiếu hiểu biết, dưới hình thức này hay hình thức khác.

Người mới bắt đầu

Có những người mới bắt đầu, họ không thực sự biết PHP hoạt động như thế nào. Điều này dẫn đến câu hỏi, như ” Tại sao bạn không thể xem các sự kiện nút với PHP? “, và các câu hỏi về AJAX.

Một ngôn ngữ để Rule Them All

Tiếp theo, bạn có folks người không biết gì về ngôn ngữ khác hoặc khuôn khổ hơn mà họ đang sử dụng. Đây là các loại của những người làm cho tham số, chẳng hạn như ” Rails là dễ dàng hơn nhiều sau đó PHP , và vật như thế.

Đấu PHP 4

Hình thức thứ ba của quan niệm sai lầm xuất phát từ những người đã không bắt kịp với những tiến bộ của PHP trong những năm qua. Họ không chịu cập nhật các biên bản và cải tiến mới của php đưa ra mà dựa vào các bản đời cũ để phán . Điều này kết quả trong báo cáo, như: ” PHP là không hướng đối tượng “hoặc” PHP nó không hỗ trợ namespacing. “

Scaling

Cuối cùng, có các nhà phát triển thông minh hơn những người tin rằng “PHP không có thể mở rộng” hoặc “PHP không có tiêu chuẩn,” là hoàn toàn sai. Scaling có ít hơn để làm với ngôn ngữ, và nhiều hơn nữa với máy chủ và ứng dụng của bạn được cấu trúc như thế nào. Cũng như đối với các tiêu chuẩn? Vâng, nó chỉ mất một tìm kiếm Google nhanh chóng cho PHP-FIG.

PHP-FIG là gì? “Ý tưởng đằng sau nhóm cho đại diện dự án để nói về sự tương đồng giữa các dự án của chúng tôi và tìm thấy cách chúng ta có thể làm việc cùng nhau. Đối tượng chính của chúng tôi là mỗi khác, nhưng chúng tôi rất ý thức rằng phần còn lại của cộng đồng PHP được xem. Nếu người khác muốn áp dụng những gì chúng tôi đang làm, họ được chào đón để làm như vậy, nhưng đó không phải là mục đích. “

Đây là một sự thật không may rằng một số đối số, mà tràn ngập thông qua các trang web hoặc là hoàn toàn sai, hoặc cập nhật.


PHP là không hoàn hảo

PHP không phải là hoàn hảo. Khi nói đến việc thực hiện các tính năng và chức năng cốt lõi, PHP là không phù hợp. Những lập luận này hoàn toàn hợp lệ.

Những mâu thuẫn này là không phải không có lý do, mặc dù. PHP bắt đầu ra như những gì chúng tôi sẽ đề cập đến ngày hôm nay như là một ngôn ngữ templating. Kể từ đó, nó đã trải qua nhiều thay đổi mô hình, chuyển đổi thành một ngôn ngữ chức năng, giống như C, và sau đó với ngôn ngữ lập trình hướng đối tượng đầy đủ mà chúng ta được hưởng ngày hôm nay. Trên đường đi, thực hành tốt nhất đã xuất hiện, và những người khác nhau đã được kiểm soát những gì được thêm. Điều này dẫn đến rất nhiều “khác biệt” các loại mã trong một ngôn ngữ. Bây giờ bạn có thể hỏi, ” Tại sao không chỉ yêu cầu những phần xấu? “

Câu trả lời cho câu hỏi này là tương tự như lý do tại sao chúng tôi vẫn đang xây dựng các trang web cho các phiên bản cũ của Internet Explorer. Đừng làm cho tôi sai, tôi sẽ yêu thương để chỉ cần thả nó, nhưng những thay đổi lớn như thế này không thể được thực hiện mà không có một chút thời gian. Hy vọng rằng, qua thời gian, PHP sẽ tiến xa hơn vào lập trình hướng đối tượng, và bắt đầu chuyển đổi các đối tượng của nó để sử dụng chức năng của mình với các ký hiệu dấu chấm, chứ không phải là thừa nhận lúng túng -> cú pháp. So, instead of array_push($arr, “Value”); , you would write something, like $arr.push(“Value”);

Đừng lo lắng, những thứ như thế này đã xảy ra từ từ. Chỉ cần nhìn vào các tính năng mới PHP 5,5. Chức năng định hướng MySQL add-on đã bị phản đối, ủng hộ của các phương pháp tiếp cận hướng đối tượng mới.


Hiện Tại

Bao phủ quá khứ, chúng ta hãy chuyển cho đến ngày nay. Có một số ít các dự án thực sự ngon và theo phong trào, một số trong đó vay mượn ý tưởng từ các ngôn ngữ khác, để để đẩy PHP để cấp độ tiếp theo.

Hãy xem xét những điều sau đây:


Composer

Lý do tại sao 2013 chỉ có thể là năm của PHP

Lấy cảm hứng bởi các công cụ, như Bundler và NPM, cộng đồng PHP bây giờ có thể ngừng tái phát minh wheel over hơn và hơn một lần nữa, nhờ Composer. Node.js là ngôn ngữ đầu tiên mà làm cho tôi cảm thấy thoải mái với sử dụng các gói. Nếu bạn đã sử dụng nó trước, sau đó bạn biết những gì tôi có ý nghĩa. Các gói được cài đặt cục bộ vào thư mục của dự án của bạn, đó là dễ dàng để tìm tài liệu cho hầu hết các phần bổ trợ, và nó tương đối đơn giản để gửi gói riêng của bạn.

PEAR?

PHP đã cung cấp một sự thay thế trong nhiều năm, PEAR, nhưng nó không phải là quá trực quan dễ sử dụng. Nó cảm thấy cồng kềnh cho một cái gì đó mà cuối cùng lấy các tập tin văn bản đơn giản. Hơn nữa, nó được cài đặt tất cả các gói trên toàn cầu. Điều này buộc bạn để thông báo cho mọi người những gói nào được sử dụng khi phân phối mã nguồn của bạn. Như bạn có thể đoán, điều này dẫn đến mis-phù hợp với phiên bản, và những thứ khác của tự nhiên.

Composer sửa chữa tất cả những điều này, cảm ơn các gói được lưu trữ tại địa phương, và khả năng để tạo ra các tập tin phụ thuộc cho mỗi dự án. Điều này có nghĩa là bạn có thể dễ dàng phân phối dự án của bạn với tập tin này phụ thuộc, và những người khác có thể sử dụng bản sao của chính Composer của họ để tự động tải về tất cả phụ thuộc quy định, đồng thời giữ cho chúng được cập nhật.

Ngoài ra, Composer là một ứng dụng ánh sáng – viết bằng PHP, chính nó – và đi kèm với một tính năng autoloader. Điều này làm việc tiêu chuẩn PSR-0 (đề cập ở trên), mà sẽ tự động tải dependancies của bạn khi bạn cần chúng, do đó, ứng dụng của bạn vẫn còn càng sạch càng tốt.

Tất cả các tính năng này là một cải tiến nhất định, tuy nhiên, mà không cần thông qua cộng đồng, nó có nghĩa là không có gì. Tôi rất vui thông báo cho bạn rằng nó được cũng được chấp nhận. Các dự án lớn, chẳng hạn như Symfony và Laravel, đã tải lên các thành phần của họ vào thư viện Composer, Packagist . Có khuôn khổ tách ra thành các thành phần có nghĩa là bạn có thể dễ dàng xây dựng khuôn khổ riêng của bạn để phù hợp với ý thích của bạn. Nói cách khác, không có khuôn khổ cồng kềnh hơn. Nếu bạn muốn, bạn có thể chọn và chọn các thành phần của bạn.

Cần một ví dụ? Bạn có thể có các thành phần cơ sở dữ liệu từ Laravel, và ghép nối nó với các thành phần khuôn mẫu từ khung Symfony. Trong thực tế, khuôn khổ Laravel, tự nó, thúc đẩy các thành phần Symfony nhiều thử nghiệm. Tại sao xây dựng lại các bánh xe, khi bạn thay vì có thể tập trung nỗ lực vào các lĩnh vực khác?


Laravel

laravel 2013

Thậm chí nếu bạn có vấn đề với một số mâu thuẫn PHP, Laravel tóm tắt gần như tất cả về nó.

Bây giờ điều này sẽ không là một bài viết về tương lai của PHP Laravel mà không thảo luận chi tiết hơn một chút. Chúng tôi thường được hỏi lý do tại sao nettuts + dường như được đẩy Laravel nhiều như nó đã được. Đây là câu hỏi sai. Thay vào đó, hãy hỏi ” Tại sao không? “

Thậm chí nếu bạn có vấn đề với một số của sự mâu thuẫn của PHP, Laravel tóm tắt gần như tất cả của nó, cung cấp cho bạn những cảm nhận và sang trọng của một ngôn ngữ, như Ruby, nhưng với sự dễ dàng của PHP.

Laravel đi kèm với hùng biện , một ORM hoàn toàn suy nghĩ lại tất cả mọi thứ để làm với cơ sở dữ liệu. Tôi chủ yếu sử dụng MySQL với PHP, những gì bạn nhận được từ cơ sở dữ liệu là một đối tượng tài nguyên, mà sau đó bạn phải chạy thông qua một chức năng để nắm bắt được kết quả. Trong Laravel, tất cả mọi thứ trở lại như là tiêu chuẩn PHP, bạn đang đưa ra các đối tượng, mà bạn có thể sửa đổi và lưu. Bạn có thể làm điều gì đó, chẳng hạn như kết hợp kết quả từ nhiều bảng để lưu các cuộc gọi cơ sở dữ liệu (gọi tắt như tải háo hức), và đáng buồn cười đơn giản để thực hiện, như xác nhận và các truy vấn tùy chỉnh. Là một tiền thưởng, nếu bạn không thích SQL, tất cả điều này có thể được thực hiện với một phong cách lập trình hướng đối tượng, sử dụng phương pháp đơn giản và dễ đọc, chẳng hạn nhưtìm và xóa .

Chúng ta chỉ nhìn thấy đỉnh của tảng băng trôi với những gì hùng biện mang đến cho bảng, nhưng, đã có, bạn có thể nhìn thấy những cải tiến. Laravel mang loại của sự đổi mới gần như mọi lĩnh vực của PHP, bao gồm những thứ như templating, định tuyến, di cư, yên tĩnh các lớp học, và nhiều hơn nữa. Phần tốt nhất, mặc dù, là, với mỗi bản phát hành mới, Laravel của người sáng tạo, Taylor Otwell, tiếp tục nâng cao thanh.

Cuối cùng nó không thực sự về khuôn khổ, nhưng hỗ trợ cộng đồng. Miễn là có hỗ trợ cho một dự án, nó sẽ được cập nhật và sẽ vẫn có liên quan. Nếu lo lắng về bao lâu nó sẽ vẫn còn phổ biến của bạn, sau đó, chỉ đơn giản bằng cách tích cực bằng cách sử dụng nó, bạn đang đảm bảo tỷ lệ cược của bạn!


PHP 5.4 / 5.5

php 5.4 php 5.5

Điều tiếp theo mà tôi muốn thảo luận về các bản cập nhật cho PHP đã được phát hành vào năm 2012. Với việc phát hành phiên bản 5.4 đến rất nhiều tính năng tuyệt vời mới. Để có cái nhìn đầy đủ các bản cập nhật, bạn có thể có một cái nhìn tại hai bài viết ở đây trên nettuts +: 5.4 bài viết 5.5 bài viết .

Tuy nhiên, đối với một bản tóm tắt nhanh chóng yêu thích của tôi:

Traits

  • Đặc điểm thêm khả năng tạo ra Class “partials”, cho phép bạn tạo các đối tượng phù hợp mà không cần viết lại tất cả mọi thứ hơn và hơn.

Generators

  • Generators cho bạn làm một số điều mát mẻ với danh sách các dữ liệu, cũng như cho phép bạn được hưởng lợi từ tất cả các tính năng đi kèm với đánh giá lười biếng.

CLI Web Server

  • Một bổ sung tuyệt vời là được xây dựng trong máy chủ web, cho phép bạn kiểm tra các ứng dụng của bạn với các phiên bản khác nhau của PHP, mà không có sự cần thiết cho một cái gì đó như Apache.

Dereferencing

  • Dereferencing không phải là một bổ sung lớn, nó tốt để có thể tham khảo các phần tử con mà không có việc sử dụng các chức năng. Điều này bao gồm những thứ như truy cập vào các đặc điểm cá nhân của một hằng số bằng cách chỉ sử dụng ký hiệu khung hình vuông.

The New Password Hashing API

  • Với API mới này, bạn có khả năng cả hai chuỗi mã hóa, cũng như xác minh và tăng cường mật khẩu – tất cả mà không cần bất kỳ kiến ​​thức bcrypt hoặc băm bất kỳ thuật toán khác.

Những đại diện cho chỉ là một vài trong số những cải tiến mới, và là một danh sách toàn bộ những thứ hiện đang được thảo luận cho các phiên bản tiếp theo, dự kiến ​​sẽ được phát hành vào cuối năm nay.


Test Driven Development

php unit

Cuối cùng, chúng ta hãy nói một chút về kiểm tra mã của bạn. Trong khi thừa nhận một chút muộn để trò chơi, vào năm 2012, cộng đồng của chúng tôi đã thấy áp dụng rộng rãi phương pháp kiểm tra theo định hướng phát triển. Tôi có thể làm cho một tỷ lệ phần trăm tăng trưởng, những một dấu hiệu tốt của sự thật là chỉ đơn giản là nhìn xung quanh trên các trang web dev và các diễn đàn khác nhau. Bạn chắc chắn sẽ thấy một cành! Khi nói đến thử nghiệm trong PHP, PHPUnit là tiêu chuẩn được chấp nhận.

Tại sao nó quan trọng?

Hãy suy nghĩ về dự án của bạn trước khi lặn, giống như một chàng cao bồi.

Nhiều lần, bạn thiết lập ra để viết một số mã, nhưng bạn bị mất một cái gì đó trong bản dịch. Những gì tôi có nghĩa là bằng cách này là bạn có kế hoạch về một điều, nhưng khi thực hiện nó, bạn sẽ mất một chút của sự toàn vẹn hoặc chức năng. Một vấn đề phổ biến khác phát sinh khi viết mã cho các dự án lớn: bạn kết thúc với nhiều lớp học và các tập tin mà mỗi có dependancies riêng của họ. Bên trái của bạn với một “gắn bó với nhau tiến hóa” các chức năng đó có thể chứng minh khó khăn để theo dõi và duy trì. Giống như một trò chơi Jenga, bằng cách cập nhật một mảnh, bạn có thể phá vỡ khác, làm tê liệt ứng dụng của bạn. Đây chỉ là hai vấn đề ví dụ, nhưng chắc chắn có những người khác.

TDD Trợ giúp?

Vâng, bạn viết bài kiểm tra rõ ràng trước khi viết bất kỳ mã sản xuất. Điều này có nghĩa là, khi bạn nhận được để viết mã thực tế của bạn, nó được buộc phải phù hợp với kế hoạch ban đầu của bạn. Không chỉ này, nhưng, xuống dòng, phụ thuộc sẽ được theo dõi trong các bài kiểm tra của bạn. Nếu bạn cập nhật một chút mã, và vô tình phá vỡ một trong các bài kiểm tra, bạn sẽ ngay lập tức được thông báo.

Có thiết lập, xét nghiệm này đòi hỏi phải có thêm một bước, nhưng như vậy là suy nghĩ trước khi nói. Có ai những lợi ích của điều đó? Dĩ nhiên không. Điều này cũng đúng cho các bài kiểm tra: suy nghĩ về dự án của bạn trước khi lặn, giống như một chàng cao bồi.


Kết luận

Đó là thú vị khi là một nhà phát triển PHP. Nhiều người đang tìm hiểu vấn đề này

Vì vậy, bạn nghĩ sao? Là bạn nhận được định như thế nào? Đồng ý với tôi?

Nếu vậy, chúng ta hãy tiếp tục các cuộc thảo luận dưới đây!

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Google Street View Tới Đất Nước Bỉ Xinh Đẹp

Google Street View Tới Đất Nước Bỉ Xinh Đẹp

Hầu hết mọi người đều biết đến đất nước Bỉ nhỏ bé xinh đẹp với một những nét văn hóa độc đáo với trên 300 lâu đài, 40 di sản văn hóa Thế giới

Chiến dịch bán hàng với Drupal Commerce và MailChimp

Chiến dịch bán hàng với Drupal Commerce và MailChimp

Measuring how much sales are generated from an email campaign becomes easy with Commerce MailChimp module.

SEO mũ đen, mũ trắng, mũ xám là thế nào?

SEO mũ đen, mũ trắng, mũ xám là thế nào?

Sự khác nhau giữa kỹ thuật mũ đen và mũ trắng trong SEO là như thế nào?

Công ty diệt chuột T&C

 

Diet con trung