Mục đích của phương thức tĩnh trong php là gì?
Một trong những điều thường khiến những người mới làm quen với PHP hướng đối tượng bối rối là cái được gọi là “phương thức tĩnh PHP” và “thuộc tính tĩnh”. Chúng thường gây nhầm lẫn, vì đơn giản là bạn không quen với cú pháp, đó là dấu hai chấm PHP ( 5) nơi bạn có thể mong đợi một mũi tên ( 6). Nhưng, tôi đang vượt lên chính mình Show
Mục tiêu của chúng tôi ở đây là giải thích đầy đủ các phương thức và thuộc tính tĩnh PHP là gì và khi nào bạn nên sử dụng chúng. Bạn có thể sử dụng chúng trong WordPress. Đôi khi bạn có thể thấy các phương thức tĩnh được sử dụng trong WordPress. Chúng ta sẽ nói về những ưu điểm và nhược điểm của điều đó, sau đó chuyển hướng ngắn sang khung PHP phổ biến có tên là Laravel, vì nó bổ sung thêm một điểm cuối cùng cho toàn bộ câu chuyện. Hãy tìm hiểu xem các phương thức tĩnh PHP là gì và cách chúng hoạt động trong WordPress Lớp tĩnh PHP là gì?Hóa ra “lớp tĩnh” không thực sự là một thứ trong PHP. Về mặt kỹ thuật, một lớp không bao giờ được đánh dấu là tĩnh. Thay vào đó, các phương thức và thuộc tính trên một lớp PHP có thể được đánh dấu là tĩnh. Nhưng một lần nữa, tôi đang đi trước bạn. Trước tiên, hãy đảm bảo rằng tất cả chúng ta đều ở trên cùng một trang về OOPHP, thuộc tính và phương thức Tóm tắt nhanh về PHP OOP (+ Ví dụ)Nói tóm lại, OOP (PHP hướng đối tượng) là một mô hình lập trình phát triển theo cách mà con người vốn hiểu thế giới thông qua các đối tượng. Khi tôi nhìn quanh phòng, tôi thấy rằng tôi đang ngồi trên một chiếc “ghế”, không phải là một mớ hỗn độn của hành vi và tài sản Điều đó nói rằng, khi chúng tôi áp dụng “tư duy đối tượng” này vào lập trình, chúng tôi vẫn hiểu và nhìn thấy các khối. Đây là nơi mà hầu hết mọi người đã quen với việc hiểu các phương thức và thuộc tính PHP. Tóm lại, các phương thức và thuộc tính là các hàm và biến được lưu trữ trên các đối tượng cụ thể. Một lần nữa, nếu đây hoàn toàn là điều mới mẻ đối với bạn, có thể hãy đọc hướng dẫn của chúng tôi về cách hiểu PHP OOP cơ bản trước khi tiếp tục. Đây là cái tốt nhất chúng tôi có. w https. //wpshout. com/Complete-guide-to-Object-Oriented-php/ Phương thức tĩnh trong PHP là gì?
Một phương thức trong PHP được coi là tĩnh khi khai báo của nó có keywork theo nghĩa đen là 7Một phương thức tĩnh trông như sau
Bây giờ, điều đó có nghĩa là gì 7? . Vì vậy, chúng ta thực sự có thể gọi một phương thức tĩnh mà không cần tạo một đối tượng. Điều này vừa thực sự mạnh mẽ vừa thực sự kỳ lạChúng tôi hiểu các lớp PHP thường khai báo kế hoạch chi tiết cho các đối tượng. Sau đó, đối tượng của chúng tôi được tạo khi có một cuộc gọi đến 9 hoặc chúng được 0ed. Với các phương thức tĩnh của PHP, bạn thực sự đang làm điều gì đó khác biệtThay vào đó, bạn đang tạo ra một hàm (hoặc phương thức) về cơ bản mà bạn có thể gọi hoặc truy cập từ bất cứ đâu về mặt chức năng. Trên danh nghĩa, chúng nằm trên “đối tượng” hoặc “lớp”, nhưng lớp đó chỉ phục vụ ít hơn một “không gian tên” hoặc “vùng chứa” cho hàm mà bạn đang khai báo Thuộc tính tĩnh PHP là gì?Các thuộc tính thường dành riêng cho từng phiên bản của đối tượng PHP. Nhưng các thuộc tính tĩnh lại khác. Điều này là do các thuộc tính tĩnh không thực sự có trên các thể hiện của các đối tượng, mà thay vào đó ít nhiều tồn tại trên 1Như vậy, việc sử dụng các thuộc tính tĩnh thường không được khuyến khích. Có một số ít trường hợp chúng có ý nghĩa, nhưng thực hiện những việc như lưu trữ các thuộc tính đối tượng–như màu sắc hoặc kích thước của một con chó–trên một thuộc tính tĩnh không hoạt động theo cách bạn mong đợi Cách một thuộc tính tĩnh của lớp 2 sẽ hoạt động là nó áp dụng cho tất cả thành viên của lớp 2, bao gồm cả các trường hợp khác. Vì vậy, nếu bạn đặt một thuộc tính tĩnh trên 4, một phiên bản của 2 thành 'nâu', thì tất cả những con chó khác cũng sẽ ngay lập tức trở thành 'nâu'. Đây là lý do tại sao việc sử dụng các thuộc tính tĩnh thường không được khuyến khíchCách gọi các phương thức tĩnh trong PHP từ bên ngoàiNhư đã đề cập, các phương thức tĩnh là các hàm xấp xỉ hơn trong không gian tên PHP toàn cầu so với các phương thức đối tượng. Vì vậy, bạn gọi chúng tương tự. Đây là nơi cú pháp dấu hai chấm PHP xuất hiện. Để gọi một chức năng, có lẽ bạn đã từng thấy
Tương tự, để gọi một phương thức tĩnh, tôi sẽ gọi ________số 8Trong trường hợp (giả sử đăng ký hành động WordPress) mà bạn thường gọi một hàm có chuỗi khớp với tên của nó, việc chuyển vào một chuỗi có dấu hai chấm sẽ hoạt động tốt. Tức là 2 dòng này giống nhau
Tuy nhiên, một trong những cách mà các phương thức tĩnh khác với các hàm toàn cầu là cú pháp có thể gọi mảng của PHP cũng được sử dụng cho chúng. Vì vậy, ba cuộc gọi này cũng tương đương khi có liên quan đến thời gian chạy PHP 0Mỗi trong số này làm việc cho PHP. Gọi các phương thức tĩnh bằng cách chỉ cần chuyển tên trên chúng, vào mảng hoặc bằng dấu hai chấm. Cả hai đều hoạt động tốt cho các phương thức tĩnh (Dành cho những ai chưa biết, cú pháp mảng ngắn 6 đã được giới thiệu với PHP trong 5. 4. Tôi thích nó hơn, nhưng để tương thích hoàn toàn với hệ sinh thái WordPress, bạn có thể không sử dụng được. )Cách tham khảo các thuộc tính và phương thức tĩnh từ bên trong một lớp PHPNếu bạn đã thực hiện nhiều PHP OOP, có lẽ bạn đã khá quen thuộc với 7. Bên trong một lớp PHP, bạn có thể truy cập các thuộc tính hoặc phương thức trên cùng một lớp bằng cách sử dụng từ khóa 8. Bạn có thể muốn truy cập các thuộc tính và phương thức tĩnh giống nhau. Bạn không thểChủ yếu là trong nỗ lực làm rõ hơn cho người đọc những điểm khác biệt mà tôi đã nêu ở trên về các hành vi khác nhau của các phương thức và thuộc tính tĩnh, bạn sẽ đề cập đến chúng trong nội bộ bằng cách sử dụng tên lớp 9, 0, (hoặc nếu bạn ở tuổi 5. 3 trở lên 7) từ khóa. Vì vậy, thay vì 2, bạn sẽ gọi 3. Và thay vì 4 bạn sẽ gọi 5. (Thực tế mà nói, 6 và 7 sẽ hành xử giống hệt nhau hầu như mọi lúc. Giả sử lớp của bạn có tên là 9. 😝) Một lần nữa, sự lựa chọn có vẻ kỳ lạ này có ý nghĩa khi chúng ta nhớ rằng
Nói chung, bạn nên hiểu rằng 0 trong PHP đề cập đến một 1, trong đó 7 đề cập đến phiên bản hiện tại. Vì các thuộc tính thể hiện nằm trên đối tượng (không phải lớp, nơi chúng chỉ nhận được chúng từ đó), bạn gọi chúng bằng 7. Vì các thuộc tính tĩnh có trên 1, bạn phải truy cập và tham khảo chúng bằng cách sử dụng 0Như đã đề cập ngắn gọn, PHP 5. 2 (mà bạn vẫn có thể cần hỗ trợ trong WordPress) không có tham chiếu lớp 7, vì vậy bạn sẽ thấy 0 thường xuyên nhất. Có một số sắc thái về sự khác biệt giữa 0 và 7, nhưng vì tôi sắp nói với bạn rằng đừng sử dụng nhiều, nên tôi sẽ không giải thích. PHP. tài liệu mạng giải thích ràng buộc tĩnh muộn khá tốtKhi nào nên sử dụng các phương thức tĩnh trong PHPNói chung, bạn sẽ thấy rằng các phương thức (và thuộc tính) tĩnh của PHP không được khuyến khích. Có một số ít trường hợp sử dụng mà tôi nghĩ rằng chúng hợp lý để sử dụng, vì vậy hãy đề cập đến trường hợp đó trước Trường hợp có lợi cho các phương thức và thuộc tính tĩnh PHPLý do sử dụng các thuộc tính và phương thức tĩnh PHP là một cái gì đó thực sự tĩnh. “Static”, nếu bạn chưa biết, thường được dùng trong tiếng Anh với nghĩa là “không thay đổi”. ” Đôi khi, các đối tượng trong một hệ thống sẽ thực sự tĩnh theo cách nàyMột ví dụ tôi trích dẫn rất nhiều là công cụ chuyển đổi đơn vị. Nếu bạn có một ứng dụng mà bạn thường cần chuyển đổi, chẳng hạn như inch sang feet hoặc centimet, sẽ rất hợp lý khi thực hiện điều đó với một đối tượng tĩnh trong PHP. Theo cách đó, việc gọi các phương thức sẽ không cần ______39ing một đối tượng, dù sao thì một quá trình hầu như chỉ có ý nghĩa về mặt khái niệm Thay vào đó, bạn chỉ cần gọi hàm như, chẳng hạn như, 01 và nhận được câu trả lời của mình. (Xin nhắc lại, chức năng của dấu hai chấm đó trong PHP đang gọi phương thức trên lớp tĩnh. ) Nó nhanh hơn và ngắn gọn hơn một chútVà các yếu tố quy mô liên quan—từ feet đến inch, inch đến centimet, v.v.–cũng không đổi theo thời gian và địa điểm. Vì vậy, bạn sẽ không thực sự có ý định rằng chúng thay đổi, trừ khi bạn muốn tất cả các chuyển đổi của mình ở mọi nơi thay đổi đồng bộ. Vì vậy, có thể hợp lý khi định nghĩa 02 đó, và sau đó gọi nó trong lớp của chúng ta là 03Tại sao mọi người không thích các phương thức tĩnhNói chung, cộng đồng PHP (và hầu hết các lập trình viên) chỉ trích mạnh mẽ việc sử dụng các phương thức và thuộc tính tĩnh. lý do chính. chúng là cái mà mọi người gọi là “nhà nước toàn cầu. ” Mặc dù ý nghĩa đầy đủ của thuật ngữ đó quá lớn đối với bài viết cụ thể này, nhưng ý tưởng cốt lõi là chúng là những thứ mà mọi thứ trong hệ thống có thể sử dụng và có thể sử dụng, vì vậy thật khó để kiểm soát những gì đang xảy raKhi bạn 9 một đối tượng và tạo một “thực thể” thực sự của nó, bạn giữ các phương thức và thuộc tính được bản địa hóa. Các phương thức và thuộc tính của 7 có thể gây ra “hành động ma quái từ xa”, trong đó những thay đổi ở một nơi ảnh hưởng đến những nơi khác mà không có ý nghĩa rõ ràng về lý do hoặc cách thức khả dụng. Lập trình và lập trình viên phần lớn được kích hoạt bởi sự chắc chắn, vì vậy họ không thích điều này. Ngoài ra, lịch sử và kinh nghiệm thường dẫn mọi người đến quan điểm rằng trạng thái toàn cầu thường vượt khỏi tầm kiểm soát khi một ứng dụng cũ hơn và được sử dụng đa dạng hơnCó một số ít trường hợp mà tôi nghĩ rằng các phương pháp tĩnh có ý nghĩa. Nhưng nói chung, bạn sẽ thích PHP hướng đối tượng hơn nếu bạn bám sát vào biểu mẫu dựa trên cá thể/đối tượng và bỏ lỡ các số liệu thống kê Laravel trông giống như các phương thức tĩnh…Một vấn đề cần đề cập ngắn gọn là dấu hai chấm trong PHP ( 5) được sử dụng trong khung MVC phổ biến có tên là Laravel. Đây là nguồn gốc của sự nhầm lẫn, đánh nhau trên internet và gây khó chịu trong nhiều năm. Chủ yếu là cuộc chiến đã lắng xuống (hoặc tôi ít chú ý đến nó hơn), nhưng đối với những người lần đầu tiên nhìn thấy mã Laravel, cách nó trông giống như nó liên quan đến nhiều phương thức tĩnh thường có thể gây ra cảnh báo. (Vì những lý do đã đề cập trong phần trước. )Điều đang thực sự xảy ra trong Laravel là “phương thức bị thiếu” được gọi khi một thể hiện của đối tượng trông giống như nó được gọi tĩnh trong khung. Vì vậy, thực tế không phải đây là "các cuộc gọi phương thức tĩnh", mặc dù nhìn lướt qua mã trông giống hệt như vậy. Vì vậy, bạn sẽ thấy 07, trông giống như một cuộc gọi tĩnh. Nhưng thực ra Laravel đang gọi một phương thức đối tượng để lấy tất cả người dùng từ cơ sở dữ liệuĐây là một ví dụ về ma thuật khung. Ma thuật khung là một chủ đề mà tôi (và nhiều người khác) có ý kiến mạnh mẽ và đầy cảm xúc về. Vì vậy, tôi sẽ tha thứ cho bạn, và chỉ giữ thông tin này. Khung công tác PHP của Laravel có những thứ (mà họ gọi là “mặt tiền”) trông giống như các lời gọi tĩnh đến các phương thức PHP. Họ không phải. Chúng tôi sẽ để nó ngay tại đó Ra khỏi đó & (Có thể) Sử dụng các phương thức tĩnh PHPĐiều rất quan trọng là bạn phải hiểu các phương thức tĩnh PHP để có thể làm việc hiệu quả với tư cách là một nhà phát triển PHP. Cho dù bạn đang làm điều đó trong Laravel, WordPress hay một số khung web PHP khác, bạn sẽ gặp chúng và thật hữu ích khi hiểu cái quái gì đang xảy ra Điều đó nói rằng, tôi thực sự không khuyên bạn nên sử dụng các phương thức tĩnh trong PHP. Và tôi chắc chắn không khuyên bạn sử dụng các thuộc tính tĩnh, trừ khi bạn hoàn toàn chắc chắn rằng mình hiểu và muốn hành vi khá khó hiểu của chúng. Chỉ cần biết rằng dấu hai chấm trong PHP ( 5) hầu như luôn luôn (ngoại trừ trong Laravel 🙃) để truy cập các thuộc tính và phương thức tĩnh trong PHP, và bạn sẽ làm tốt. Chúc may mắn và hack vui vẻ
Mục đích của các phương thức tĩnh là gì?Một phương thức tĩnh có hai mục đích chính. Dành cho các phương thức tiện ích hoặc trợ giúp không yêu cầu bất kỳ trạng thái đối tượng nào . Vì không cần truy cập các biến thể hiện, nên việc có các phương thức tĩnh sẽ loại bỏ nhu cầu người gọi khởi tạo đối tượng chỉ để gọi phương thức.
Mục đích của các phương thức và biến tĩnh là gì?Trong Java, từ khóa tĩnh được sử dụng chủ yếu cho quản lý bộ nhớ . Nó có thể được sử dụng với các biến, phương thức, khối và các lớp lồng nhau. Nó là một từ khóa được sử dụng để chia sẻ cùng một biến hoặc phương thức của một lớp nhất định. Về cơ bản, tĩnh được sử dụng cho một biến không đổi hoặc một phương thức giống nhau cho mọi phiên bản của một lớp.
Mục đích của lớp tĩnh là gì?Trong Java, từ khóa tĩnh chủ yếu được sử dụng để quản lý bộ nhớ. Chúng ta có thể sử dụng từ khóa tĩnh với các biến, phương thức, khối và lớp. Sử dụng lớp tĩnh là một cách để nhóm các lớp lại với nhau. Nó cũng được sử dụng để truy cập thành viên nguyên thủy của lớp kèm theo thông qua tham chiếu đối tượng
Phương thức tĩnh trong PHP với ví dụ là gì?Giải thích ví dụ
. chào mừng() . Sau đó, chúng ta gọi phương thức tĩnh bằng cách sử dụng tên lớp, dấu hai chấm (. ) và tên phương thức (không tạo phiên bản của lớp trước). |