Một cách tốt để làm quen với PHP, đến từ nền tảng ASP.NET là gì? [đóng cửa]


10

Hiện tại, tôi rất thoải mái với các công cụ xây dựng / ứng dụng web trong môi trường ASP.NET. Tôi không thực sự muốn rời khỏi tbh, vì tôi thực sự thích C #, ASP.NET, MVC 3, Visual Studio, v.v.

Tuy nhiên, ngay bây giờ tôi gần như không biết gì về PHP và đó dường như là một thiếu sót mà tôi muốn khắc phục.

Có cuốn sách nào (hoặc các phương pháp học tập khác) sẽ là một tài nguyên tốt để học PHP không? Rõ ràng là có rất nhiều sách PHP bắt đầu, nhưng tôi đã thoải mái với phần lớn những gì liên quan đến việc xây dựng một trang web và quan tâm đến việc tập trung vào chính PHP có thể không tương thích với phạm vi của một số sách PHP bắt đầu.

Tôi đã xem qua Hướng dẫn PHP khá nhiều và dường như nó không trôi chảy như lý tưởng. Có một cuốn sách PHP bắt đầu nào sẽ phù hợp? Tôi nhớ sự gắn kết mà hầu hết các cuốn sách có khi xem qua các mẫu đó. Có rất nhiều thông tin nhiều hơn, nhưng nó cảm thấy giống như một tài liệu tham khảo trong khi mã hóa hơn là một phương tiện học tập chính.


5
Tại sao bạn nghĩ rằng không biết PHP là một thiếu sót bạn cần phải khắc phục. Không biết Rails, Django, J2EE, node.js, v.v ... một thiếu sót bạn cần khắc phục? Có nhu cầu thực sự để bạn biết và sử dụng PHP trong công việc hiện tại của bạn không?
Raynos

1
@Raynos Sự phổ biến của php lớn hơn rails, django, node.js kết hợp ...
yannis

Tại sao (không phải là ngọn lửa) bạn muốn cải thiện với PHP? Có phải là để học cách phát triển trong một môi trường năng động hơn, được giải thích hay nhiều hơn chỉ vì có quá nhiều thứ ngoài kia?
sbrenton

1
@Raynos - thị phần. Tỷ lệ một số kiến ​​thức về php rất hữu ích để so sánh các giải pháp, đánh giá một vấn đề, giúp đỡ một người bạn, v.v ... cao hơn các ví dụ bạn liệt kê imo. Tôi không muốn rời khỏi asp.net, vì vậy biết môi trường thay thế "tốt nhất" sẽ ít hữu ích hơn so với việc biết phổ biến nhất.
Eric

1
Tham gia vào MVC3 có thể là bước khởi đầu tốt
Daniel Little

Câu trả lời:


7

Tài nguyên tốt nhất để học PHP là hướng dẫn sử dụng PHP . Nó được viết rất tốt và có cấu trúc tốt, và nó là một trong những tài sản lớn nhất của cộng đồng PHP. Nếu bạn tự tin với ASP.net, hướng dẫn sử dụng là đủ để bạn bắt đầu.

Trước khi bạn bắt đầu đọc, bạn nên thiết lập một ngăn xếp PHP. Bạn có thể tự cài đặt Apache, PHP và cơ sở dữ liệu yêu thích của mình (SQLServer vẫn ổn) (cực kỳ dễ dàng) hoặc bạn có thể thiết lập một ngăn xếp đã sẵn sàng như XAMPP . XAMPP sẽ cài đặt:

tất cả trong một lần (cộng với một số thứ khác). Một thư viện quan trọng mà nó thiếu là phpUnit , điều đó rõ ràng sẽ giúp bạn kiểm tra đơn vị.

Sau đó, bạn nên cài đặt một IDE, các lựa chọn rõ ràng của bạn là Eclipse Classic với Công cụ phát triển PHP (PDT) hoặc Netbeans cho PHP . Có rất nhiều người khác, nhưng hai người này tôi khuyên bạn nên. Tôi sử dụng cả hai, nếu bạn không thể chọn giữa chúng, Netbeans sẽ dễ dàng hơn một chút, nhưng bạn nên thực sự đánh giá cả hai và tự quyết định xem cái nào tốt hơn cho bạn - Tôi chưa từng làm việc với Visual Studio một thời gian dài và tôi thực sự không biết IDE nào có thể cảm thấy quen thuộc hơn với bạn.

Khi bạn vượt qua những điều cơ bản từ hướng dẫn, bạn nên bắt đầu nghĩ đến một khung MVC. Một lần nữa, tôi sẽ đề nghị hai:

Zend Framework là quái thú và CodeIgniter là vẻ đẹp, nếu bạn cho phép tôi một phép ẩn dụ ngớ ngẩn. Zend Framework có một đường cong học tập dốc, được hỗ trợ bởi Zend ( công ty đứng sau PHP ) và bạn có thể làm hầu hết mọi thứ với nó. CodeIgniter dễ dàng hơn rất nhiều để có được, có tài liệu hay cho người mới bắt đầu và nó khá phổ biến. Nhưng hầu hết các codebase của nó đã lỗi thời, vì chúng đã từng hỗ trợ PHP4 cách đây không lâu.

Đối với người mới bắt đầu, sự lựa chọn rõ ràng là CodeIgniter, nhưng đừng bị mắc kẹt với nó. Sử dụng nó như một công cụ học tập và chuyển đến Zend Framework càng sớm càng tốt. Một lần nữa, có rất nhiều khung MVC trong thế giới PHP, nhưng hai khung này là những khung tôi khuyên dùng.

Đối với sách, một cuốn sách không dành cho người mới bắt đầu tuyệt vời là Đối tượng, Mô hình và Thực hành PHP . Sách PHP của Sitepoint luôn là một niềm vui để đọc. Nếu bạn yêu thích PHP, bạn thực sự nên xem xét đăng ký vào PHP Architect .

Cuối cùng, hãy xem cuộc thảo luận tuyệt vời này về các lý do thuần túy kỹ thuật cho PHP là lựa chọn đầu tiên .


Cập nhật: Một vài tài nguyên trực tuyến khác, chủ yếu nhắm mục tiêu đến người mới bắt đầu:

và nếu vì một lý do kỳ lạ nào đó mà bạn muốn chơi xung quanh với PHP trên IIS thay vì Apache, một nơi khởi đầu tốt là PHP của Microsoft trên Windows . PHP trên IIS hoạt động và là một lựa chọn hợp lệ, đặc biệt đối với nhà phát triển .Net, nhưng bạn thực sự nên đi với Apache (và MySQL hoặc PostgreQuery thay vì SQLServer) để có được trải nghiệm PHP đầy đủ và cũng đảm bảo rằng các kỹ năng của bạn có thể di chuyển đến bất kỳ phổ biến nào khác HĐH. Bạn không muốn bỏ lỡ niềm vui đó là mod_rewrite .


Lưu ý cá nhân: Có rất nhiều sự ghét bỏ xung quanh PHP, một số trong số đó là hợp lý . Nếu bạn quyết định chọn nó, bạn phải cực kỳ phê phán các tài nguyên, tập lệnh, thư viện PHP khác nhau mà bạn sẽ gặp trên đường đi, có quá nhiều thứ tào lao ngoài kia và người mới bắt đầu không thể biết được sự khác biệt. Mức độ phổ biến rộng rãi của PHP có thể được dịch sang một cộng đồng rất lớn và hữu ích, khả năng tiếp thị lớn các kỹ năng của bạn, hàng triệu triệu blog, nhưng nó cũng có thể được dịch sang vài nghìn terabyte mã.


2

Yannis có rất nhiều điều hay để nói nhưng tôi đã đọc, Xây dựng trang web hướng dẫn cơ sở dữ liệu của riêng bạn, Phiên bản thứ 4 và nó chứa đầy mọi thứ tôi cần biết để bắt đầu con đường phát triển các ứng dụng web PHP chuyên nghiệp.

Tôi cũng đã làm việc độc quyền trên .NET trước khi tôi bắt đầu thực hiện một số công việc PHP. PHP dễ làm việc hơn rất nhiều nhưng có một số vấn đề đặc biệt khi phát triển các ứng dụng quy mô lớn và cuốn sách này giúp bạn bắt đầu với điều đó.

Một vấn đề đối với tôi là làm thế nào PHP không hoàn toàn là một ngôn ngữ hướng đối tượng. Nó có tất cả các loại chức năng ở dạng thủ tục và dạng Hướng đối tượng và phải mất một thời gian để làm quen, đến từ một ngôn ngữ nơi mọi thứ được sắp xếp thành các lớp và không gian tên.

Một điều nữa là cách bạn có thể dễ dàng trộn lẫn mọi thứ trong PHP khiến mọi thứ trở nên khó khăn hơn rất nhiều. Trong .NET, các công cụ mà bạn sử dụng, chẳng hạn như Visual Studio, hướng dẫn bạn thực sự thực hành các tiêu chuẩn mã hóa tốt bằng cách thực hiện một số công việc cho bạn. Thông thường, một trang .aspx sẽ có mã HTML Markup và mã C # được tách thành hai tệp.

Nếu bạn là người sử dụng nhiều công cụ .NET và thích làm việc với các điều khiển ASP.NET, thì vấn đề khác đối với bạn là thiếu điều khiển (GridView, v.v.) trong PHP. Tôi biết rằng có rất nhiều thư viện / khung công tác cung cấp cho bạn một cái gì đó tương tự nhưng chúng không chính xác là một phần của gói PHP cơ bản.

Một vấn đề khác đối với tôi là làm thế nào trong PHP, việc sử dụng nhiều Mảng và Băm phục vụ nhiều hơn như các bộ sưu tập trong .NET. Chúng ở khắp mọi nơi và sẽ rất tốt để làm quen với thực tế là các mảng không chỉ là một danh sách theo thứ tự của cùng loại đối tượng / đơn vị vô hướng. Họ có thể phục vụ như một đối tượng thu thập để chứa tất cả các loại công cụ.

Tôi có thể tiếp tục nhưng đề cập đến một trong những điều quan trọng mà tôi thấy rất đặc biệt với PHP (tôi không biết nó cũng có thể phổ biến trong các ngôn ngữ khác), là tần suất sử dụng các hàm "bao gồm" (và có liên quan) rất phổ biến Tôi có thể nói rằng cuốn sách từ Sitepoint có thể giúp bạn tăng tốc với tất cả những điều này.


Tôi đã có một liên kết đến các cuốn sách php của Sitepoint trong câu trả lời của tôi, tất cả chúng đều tuyệt vời. Bạn có thể mở rộng câu trả lời của mình một chút để cho chúng tôi biết peculiar issues when developing large scale applicationsbạn đã xác định được không? Vì bạn có nền .net là op, sẽ rất hữu ích khi biết những gì .net mọi người cảm thấy là đặc biệt về php.
yannis

OK Yannis, một vấn đề đối với tôi là cách PHP không hoàn toàn hướng đối tượng, nó có tất cả các loại chức năng ở dạng thủ tục và hình thức hướng đối tượng và phải mất một thời gian để làm quen với ngôn ngữ không chỉ được tổ chức thành ngôn ngữ vào chỉ các lớp nhưng tất cả những không gian tên và mọi thứ.
tsega

Hmmm, đó là một vấn đề chung, không chỉ when developing large scale applications. Dù sao, tôi đã suy nghĩ nhiều hơn về các vấn đề về khái niệm và cách tiếp cận, như PHP có một cách tiếp cận hoàn toàn khác với .Net về các vấn đề mở rộng, đại loại như thế. Tôi có rất ít kinh nghiệm với .Net vì vậy tôi sẽ quan tâm để tìm hiểu những gì mọi người .Net thấy đặc biệt về mặt khái niệm khi đến với PHP. Nhưng những thứ như thực tế là PHP là đa mô hình sẽ được mong đợi, tất nhiên.
yannis

1
Về phương pháp tiếp cận, hầu hết các nhà phát triển ASP.NET có xu hướng sử dụng các điều khiển tùy chỉnh (các thành phần - là sự kết hợp giữa các điều khiển HTML với mã phía Javascript và máy chủ) để phát triển các ứng dụng "quy mô lớn" (thâm dụng dữ liệu) của họ. Điều này chủ yếu là do thực tế là hầu hết các nhà phát triển ASP.NET đã thực sự chuyển sang phát triển web từ phát triển ứng dụng máy tính để bàn bằng cách sử dụng các công cụ gần như giống nhau. Do đó, hầu hết tìm kiếm các cách để dịch các kỹ năng đã có được của họ khi làm việc với các điều khiển tùy chỉnh để phù hợp với sự phát triển web.
tsega

Một IDE rất tốt để có được với cuốn sách này là Netbeans . Việc gỡ lỗi PHP là tốt như nó được.
tsega
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.