10 nguyên tắc cơ bản của những bậc thầy PHP

Thảo luận trong 'Lập trình web với PHP' bắt đầu bởi babyinternet, 10/9/08.

  1. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    1. Chỉ sử dụng PHP khi bạn cần đến nó - Rasmus Lerdorf
    Không ai có thể sử dụng PHP thành thạo hơn chính người tạo ra nó. Vào năm 1995, Rasmus Lerdorf đã tạo ra ngôn ngữ lập trình PHP và từ đó ngôn ngữ này nhanh chóng được giới phát triển ứng dụng và làm thay đổi bộ mặt Internet. Tuy nhiên, Rasmus Lerdorf không tạo ra PHP với mục đích đó, PHP được tạo ra nhằm mục đích giải quyết các vấn đề của các nhà lập trình và phát triển ứng dụng we.

    Tuy bạn có thể sử dụng PHP cho mọi thứ trên website. Lerdorf là người đầu tiên thừa nhận rằng PHP đơn thuần chỉ là một công cụ trong danh sách các các công cụ bạn sử dụng cho website của mình, và tất nhiên PHP có những hạn chế.

    Sử dụng PHP cho mọi thứ trên website là việc làm không hiệu quả, nếu bạn là một nhà phát triển ứng dụng web thì nó không phải là một ngôn ngữ tốt nhất để làm việc. Đừng ngại sử dụng những ngôn ngữ lập trình khác trong dự án của bạn nếu cảm thấy nó tốt hơn cho PHP.

    2. Sử dụng nhiều table cho PHP và MySQL cho những cơ sở dữ liệu lớn - Matt Mullenweg
    Hầu như không có ai hỏi Matt Mullenweg là ai và tại sao anh ta lại được tôn vinh như một bật thầy của PHP bởi vì anh đã quá nổi tiếng và nhiều người biết đến.

    Nếu bạn chưa rõ về Matt Mullenweg tôi có thể trích ngang cho bạn vài dòng thế này: Matt Mullenweg là người phát triển hệ thống blog khá thịnh hành hiện nay: Wordpress. Sau khi hoàn thành Wordpress, Matt cùng với công ty của mình đã cho ra đời website http://www.wordpress.com - một website có thể được liệt vào hàng tinh tú của thế giới mạng và được xây dựng trên code Wordpress MU. Đây là một ứng dụng multi blog tốt nhất hiện nay. Vào thời điểm bải viết này được viết, website http://www.wordpress.com đang chứa khoảng 4 triệu blog con và mỗi ngày có khoảng 140.000 bài viết được đăng. Bạn có thể xem các thông số mới nhất của nó tại đây.

    Vào năm 2006, Matt Mullenweg đã đưa ra những quyết định sáng suốt cho việc thiết kế cấu trúc cơ sở dữ liệu của Wordpress và lý giải tại sao Wordpress MU sử dụng những table riêng biệt cho mỗi blog thay vì gom chúng lại thành một khối lớn cho tất cả các blog.

    3. Đừng bao giờ tin vào bản thân bạn và người dùng của bạn - Dave Child

    Dave Child là cha đẻ của website Added Bytes (trước đây có tên là ilovejackdaniels.com) với loạt bài viết cheat sheets for many programming languages. Ông đã từng làm việc cho nhiều công ty ở Anh và thiết lập nên uy tín riêng của mình trong cộng đồng giới lập trình viên thế giới.

    Dave Child mang đến cho bạn lời khuyên hữu ích trong bài viết writing secure code in PHP: đừng bao giờ tin vào người dùng của bạn (your users). Họ chỉ làm cho bạn tổn thương ...

    Dave chỉ cho chúng ta thấy những ví dụ cụ thể về việc bảo mật trong phần một, phần haiphần 3 của loạt bài viết "Writing Secure PHP".

    Còn tiếp ...
    Dịch bởi babyinternet - nhanweb.com
     
  2. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    4. Đầu tư và nghiên cứu caching - Ben Balbo

    Ben Balbo đã viết cho Site Point một bài viết hướng dẫn các developer và các designer.

    Đây là một vài kỹ thuật cache dữ liệu cho PHP

    • cached function calls[/*:m:17cucag5]
    • setting expiry headers[/*:m:17cucag5]
    • caching file downloads in IE[/*:m:17cucag5]
    • template caching[/*:m:17cucag5]
    • Cache_Lite[/*:m:17cucag5]
    Và còn nhiều kỹ thuật khác Ben Balbo chưa đề cập đến.

    Vì tính chất của một ngôn ngữ động, cache bị phê phán và chỉ trích vì làm mất đi tính linh hoạt của trang web do ít bị thay đổi nhưng dù sao đi nữa caching cũng là một phương án rất hữu hiệu và được ứng dụng khá rộng trong lập trình website. :lick:
     
  3. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    5. Tăng tốc độ trang web bằng cách sử dụng một IDE Template và cắt nhỏ ảnh - Chad Kieffer
    Khi Chad Kieffer không bận bịu trong các công việc thiết kế giao diện người dùng và quản trị database cho khách hàng, anh thường đưa ra rất nhiều lời khuyên sáng suốt trên blog của mình: 2 tablespoons.
    Chad tin rằng sử dụng một bộ IDE như Eclipse PDT (một gói phát triển của Eclipse giành cho PHP) với sự kết hợp các kỹ thuật cắt template và chia nhỏ nó có thể giúp tăng tốc độ tải trang web.

    Ngụ ý của câu nói trên nói rằng một khi bạn thực hiện một số nhiệm vụ một cách tự động, bạn sẽ cải thiện được thời gian hoàn thành project của mình.Một ví dụ mà dễ thấy là với bạn lưu những đoạn lặp lại trên website lại thành những phần riêng biệt bạn có thể kết hợp, sử dụng lại chúng một cách nhanh chóng mà chẳng tốn thời gian viết lại chúng. Vả lại còn có thể sử dụng lại chúng trong những project khác nữa.

    Bằng cách sử dụng các IDE như Eclipse và các gói PDT, bạn có thể nhận ra thời gian thực hiện dự án của bạn được rút ngắn đáng kể. Các IDE sẽ cho phép bạn thực hiện rất nhiều công việc như gộp file, debug, kiểm tra việc thiếu các dấu chấm phẩy (;), một vài IDE còn cho phép bạn thực hiện các tác vụ cao cấp hơn như upload lên hosting.

    6. Khiến cho việc dùng PHP trở nên thuận tiện hơn bằng cách sử dụng Filter - Joey Sochacki

    While Joey Sochacki có thể không phải là một cái tên nổi tiếng giống như Matt Mullenweg trong cộng đồng PHP, anh ấy chỉ là một nhà phát triển website một cách ngẫu nhiên và chia sẻ kinh nghiệm anh có trong thời gian làm một developer trên blog Devolio của mình.

    Bộ lọc có thể là một thứ gì đó thật xa vời và khó hiểu. Nhưng bạn có thể ghé thăm Blog của Joey Sochacki và với sự giúp đỡ của Joey Sochacki bạn có thể học được cách cài đặt bộ lọc, tìm hiểu những thứ một bộ lọc cần, tìm hiểu nó và cải thiện để tận dụng sức mạnh của PHP.

    7. Sử dụng một PHP Framework - Josh Sharp
    Hiện vẫn có những cuộc tranh cãi quanh việc sử dụng framework nào giữa Zend, CakePHP, Code Igniter, hoặc những framework khác.
    Josh Sharp là một lập trình viên và là một nhà phát triển website cho khách hàng. Đâu là lý do tại sao bạn nên tin Josh khi anh bảo sử dụng framework để tiết kiệm thời gian và hạn chế lỗi khi lập trình ? Josh tin điều đó vì một lẽ đơn giản : PHP rất dễ học.

    Framework có thể giúp bạn chuẩn hóa chương trình, bạn có thể tiết kiệm rất nhiều thời gian trong quá trình xử lý mã nguồn ... Bạn có thể đọc thêm lợi ích của việc sử dụng framework tại blog của Josh.

    Còn tiếp :lick:
     
  4. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    8 Đừng sử dụng Framework - Rasmus Lerdorf

    Trái ngược với ý kiến ở trên của Josh ở trên, Rasmus Lerdorf - cha đẻ của PHP lại cho rằng framework không phải là một lựa chọn sáng suốt. Tại sao? Bởi vì nó sẽ làm cho chương trình của bạn biên dịch chậm hơn so với viết code PHP đơn thuần. Trong bài thuyết trình của mình tại Drupalcon 2008 , Rasmus đã so sách tốc độ xử lý của một trang "Hello world !" đơn giản sử dụng framework và không sử dụng framework (slides 24-32) và chỉ ra rằng framework làm cho tốc độ xử lý web page chậm hơn code php trực tiếp.

    Bạn có thể xem và nghe toàn bộ bài phát biểu của Rasmus Lerdorf tại đây.

    9. Sử dụng bộ xử lý đồng bộ (Batch Processing) - Jack D. Herrington

    Theo từ điển Lạc Việt Batch Processing là một chế độ thao tác của máy tính, trong đó các thao tác lệnh của chưng trình được thực hiện liên tiếp nhau mà không có sự can thiệp của người sử dụng máy tính.

    Jack D. Herrington không phải là người xa lạ trong cộng đồng PHP và Developer của thế giới. Herrington khuyến khích sử dụng batch processing và cron cho việc xử lý các tác vụ dưới tầng nền hệ thống. Người sử dụng web không muốn phải ngồi đợi quá lâu trong lúc hệ thống tải trang lên. Vì vậy, những thứ không cần thiết phải hiển thị ra ngoài bạn hãy để nó chạy dưới nền ứng dụng.

    Jack tin rằng thay vì sử dụng các tiến trình trên server, để đơn giản hơn có thể sử dụng kết hợp cron, PHP và MySQL để xử lý các ứng dụng nền.

    10.Bật chức năng Error Reporting - David Cummings

    David Cummings điều hành công ty phần mềm của mình với một CMS đặc trưng và đã đạt được rất nhiều giải thưởng. Nếu nói về một người phát triển ứng dụng PHP thành công nhất, có lẽ đó là David.

    David đã viết một vài viết trên SitePoint về Hai lời khuyên cho những người muốn học PHP. Một trong hai lời khuyên là "Turn on error reporting immediately"

    Error Reporting giúp bạn tìm kiếm các lỗi lập trình trong quá trình thực hiện project dễ dàng hơn. Rất nhiều lỗi nhỏ của PHP dễ dàng được tìm thấy với mô tả lỗi giúp bạn dễ dàng khắc phục nó hơn.

    Dịch bởi : babyinternet - nhanweb.com :lick:

    Chúc bà con vui vẻ.
     
  5. mrlight

    mrlight Dã từ world wide web Super Moderator

    Tham gia ngày:
    16/10/08
    Bài viết:
    471
    Đã được thích:
    0
    Điểm thành tích:
    16
    Nơi ở:
    Nhà tui
    bài viết khá hay và cô đọng :D
    anh Nhân làm 1 bài về sử dụng Framework và Framework là gì cho em tham khảo với :)
     
  6. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Cám ơn MrLight về lời khen, đọc được bài viết khá hay nên bỏ thời gian dịch lại cho mọi người cùng đọc và chia sẻ với nhau thôi chứ tài hèn sức mọn văn chương này mà cô đọng cái nỗi gì :p

    Để vài bữa nữa rãnh anh viết 1 bài Framework, giới thiệu sơ qua một số framework hiện nay cho các anh em muốn tìm hiểu lập trình nghiên cứu hen. Giờ đi tìm tài liệu đã :D
     
  7. lonelywolf

    lonelywolf Đang làm quen

    Tham gia ngày:
    30/11/08
    Bài viết:
    180
    Đã được thích:
    0
    Điểm thành tích:
    16
    Nơi ở:
    Ho Chi Minh
    Trong đây cũng có cái màn này nữa à. Kết nhất bác Rasmus, bác í là thần tượng của tui muh. Kết nhất cái dụ bác ấy không thích xài framework, tui cũng dị. Nếu bạn nào đang phân vân về tác hại của framework thì cứ coi cái presentation của bác rasmus với tiêu đề 'Simple is hard' (link video hình như nằm đâu khúc trên đó, còn link slide là http://talks.php.net/show/froscon08/1).
    Minh họa bằng 1 hình về include của zend framework 1.6 rc.1
    Khủng khiếp lắm đó... -->[​IMG]
     
  8. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Ý kiến của levanhen01 cũng rất đúng. Các developer thường sử dụng các framework nhằm tiết kiếm thời gian tối thiếu thực hiện các dự án (đó cũng là cách làm của nhiều webmaster hiện nay - sử dụng mã nguồn có sẵn). Tuy nhiên, ở đây chưa chắc là ko sử dụng framework nghĩa là tốc độ phát triển website sẽ bị chậm, trong một số trường hợp việc sử dụng framework gây chậm quá trình phát triển bởi yêu cầu của tính năng nào đó mà framework khó đáp ứng hoặc đáp ứng không đầy đủ, lúc đó khả năng tùy biến của "code chay" sẽ phát huy tác dụng đáng kể.

    Mình cũng công nhận rằng framework là một trong những quyết định rất tốt giành cho các nhà phát triển dự án. Tuy nhiên với bản thân mình mình thích tự nghiên cứu, tìm tòi hơn là sử dụng những thứ có sẵn :D
     
  9. lonelywolf

    lonelywolf Đang làm quen

    Tham gia ngày:
    30/11/08
    Bài viết:
    180
    Đã được thích:
    0
    Điểm thành tích:
    16
    Nơi ở:
    Ho Chi Minh
    Yeah, đồng ý là framework rất có lợi điểm trong thời gian phát triển dự án ban đầu. Nhưng đối với các hệ thống cần sự bảo trì, kế thừa thì chưa chắc framework đã tốt nhất. FW thêm vô số abstract layer, khiến lập trình viên lúng túng.

    Có mấy người dám thẳng thừng tuyên bố đã nắm hoàn toàn tuyệt đối hệ thống phân bố layer, object, help class của 1 fw(ko tính cha đẻ của nó), nếu rành vậy thì người ta chuyển qua viết luôn cái fw cho rùi, hơi đâu bắt chước và xài của 1 thằng khác vì các bác cũng hiểu vẫn đề bản ngã trong con người lập trình viên không phải nhỏ.

    FW thì lâu lâu nó release mới là teo, lại phải chạy theo công nghệ, cứ trèo thang cuối cùng chẳng biết ở dưới ra sao. Giống như giờ có mấy ai còn biết hợp ngữ chứ hixhix(kể cả tui 1 thời máu lửa). Lấy cái hữu hạn mà đi theo đuổi cái vô hạn của người khác thì chi bằng theo đuổi cái vô hạn của mình, ít ra còn biết cái vô hạn của mình nó thú vị hơn nhiều.

    Vài lời chia sẽ với bà con. Hy vọng tìm được ai có hứng thú với mình về đạo lập trình (Tao of programming),hehe.
     
  10. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,588
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Mình thì mình theo chủ nghĩa đa chủng tộc => mỗi cái biết một tí và tận dụng cái hay của mỗi framework ứng dụng vào dự án. Từ đó trích rút và viết ra 1 cái phù hợp với yêu cầu chung nhất để phát triển :D

    Tuấn có nhã hứng ko, chiều nay cafe mình đàm đạo vấn đề này :D
     
  11. lonelywolf

    lonelywolf Đang làm quen

    Tham gia ngày:
    30/11/08
    Bài viết:
    180
    Đã được thích:
    0
    Điểm thành tích:
    16
    Nơi ở:
    Ho Chi Minh
    tình hình là hôm ni em út roài, t7 muh...để dành dịp khác đông dzui hơn đi..
     
  12. reptile

    reptile Lính mới

    Tham gia ngày:
    8/8/09
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    1
    Tôi thấy PHP ban đầu thì dễ học đấy, nhưng mà kiến thức nâng cao của nó vẫn khó như C++ vậy. Bây giờ coder chạy theo công nghệ dot NET của M$ nhưng tôi thấy PHP vẫn có điểm mạnh.
    So ra mức độ thông dụng thì PHP -> ASP (& .NET) -> JSP
     
  13. shopping123.vn

    shopping123.vn Lính mới

    Tham gia ngày:
    11/10/11
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    nghe có vẻ hay nhưng dài quá. Đơn giản bậc thầy của lập trình là debug, thế thôi. :d.

    -----------
    shopping123.vn
     
  14. trannam93

    trannam93 Lính mới

    Tham gia ngày:
    18/1/12
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Triết lý phết, đọc cũng thú vị và hấp dẫn phết đấy chứ nhở :D. PHP phát triển cũng mạnh thật!
     
  15. chianhhung

    chianhhung Đang làm quen

    Tham gia ngày:
    19/12/11
    Bài viết:
    89
    Đã được thích:
    0
    Điểm thành tích:
    6
    Nơi ở:
    Tphcm
    Php framework là giải pháp, nhưng cũng là gánh nặng cho công nghê. Nếu không tính đến yếu tố mạch lạch, rỏ ràng, dễ phát triển thì php thuần giúp web bạn chạy nhanh hơn thay vì php framework. Nhưng nếu web bạn là một hệ thống lớn, đòi hỏi phải cập nhật và phát triển liên tục thì php framework là một giải pháp tối ưu.

    Mở rộng vấn đề hơn một chút xíu để một số bạn nắm rỏ hơn về vấn đề này, tại sao PHP framework lại chậm chạp hơn, ngốn nhiều tài nguyên hơn:

    + Auto load hệ thống thư viện : khi khởi chạy một website, hệ thống sẽ tự động include,require rất nhiều library, helper v.v...
    + Auto create array : Mô hình MVC thao tác chính dựa trên mảng, mỗi một đối tượng sẽ nhận dữ liệu từ mảng, dù muốn dù không, khi bạn khởi tạo đối tượng là một mảng, nó chứa tất cả các phương thức và thuộc tính của mảng. Trong nhu cầu thực sự, bạn không cần sử dụng tất cả các phương thức và thuộc tính đó, mà chỉ sử dụng một vài, nhưng việc cấp phát lại là tất cả. =>Chiếm dụng tài nguyên.
    + Dữ liệu luân chuyển nhiều lần: Sự điều hướng của MVC cũng góp phần làm cho PHP frameword trở trên chậm chạp vì luân chuyển dữ liệu.

    Chính những yếu tố trên khiến PHP Framework chậm chạp và chiếm dụng nhiều bộ nhớ.

    Những chia sẽ của cá nhân, có nhiều thiếu sót, các bạn góp ý nhé!
     
  16. hnl2402

    hnl2402 Lính mới

    Tham gia ngày:
    9/7/12
    Bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    1
    bài viết rất hay và bổ ích
    em cũng đag nghiên cứu về thiết kế web theo PHP
    thanks bác nhiều :d
     
  17. dinhkhuyen1

    dinhkhuyen1 Đang làm quen

    Tham gia ngày:
    3/7/12
    Bài viết:
    78
    Đã được thích:
    0
    Điểm thành tích:
    6
    Thanks về những chia sẻ of bạn nó đã giúp ích cho m rất nhìu
     
  18. tranchung93

    tranchung93 Lính mới

    Tham gia ngày:
    21/8/12
    Bài viết:
    26
    Đã được thích:
    0
    Điểm thành tích:
    1
    bài này rất hay và hữu ích. thanks bác chủ nhé.
     
  19. thanhhuyen0102

    thanhhuyen0102 Lính mới

    Tham gia ngày:
    22/2/12
    Bài viết:
    15
    Đã được thích:
    0
    Điểm thành tích:
    1
    Trong Nhưng cách này , cách mình hay sử dụng nhất vẫn là kỹ thuât cache, tăng tốc bộ nhớ đệm cho site load nhanh hơn, nhưng vẫn chưa thành thục lắm. hic. Thank chủ theard nhé .
     
  20. vo_danh_7411

    vo_danh_7411 Đang làm quen

    Tham gia ngày:
    26/9/12
    Bài viết:
    45
    Đã được thích:
    0
    Điểm thành tích:
    6
    thank bài viết của bác. mình cũng đang tìm hiểu PHP
     
Đang tải...

Chia sẻ trang này