Hướng dẫn why php is loosely typed language - tại sao php là ngôn ngữ gõ lỏng lẻo

& nbsp; & nbsp; John Mwaniki / & nbsp; & nbsp; 16 tháng 9 năm 2021

Là một lập trình viên mới, bạn có hoặc có khả năng bắt gặp cụm từ "ngôn ngữ được đánh máy lỏng lẻo" được sử dụng để mô tả một số ngôn ngữ lập trình.

Tất cả các ngôn ngữ lập trình có thể được phân loại là ngôn ngữ lập trình mạnh mẽ hoặc yếu/lỏng lẻo.

PHP là ngôn ngữ lập trình được sử dụng rộng rãi để phát triển web và thường được gọi là ngôn ngữ được đánh máy lỏng lẻo.

JavaScript là một ví dụ khác về ngôn ngữ được gõ lỏng lẻo. Hãy đi sâu vào việc hiểu cụm từ có nghĩa là gì.

Ngôn ngữ được gõ lỏng lẻo là gì?

Ngôn ngữ lập trình được gõ lỏng lẻo là một ngôn ngữ không yêu cầu loại dữ liệu của một biến phải được xác định rõ ràng.loosely typed programming language is a language that does not require the data type of a variable to be explicitly defined.

Trong lập trình máy tính, dữ liệu được sử dụng được phân loại thành các loại khác nhau được gọi là loại dữ liệu.

Kiểu dữ liệu là một phân loại dữ liệu chỉ định cho trình biên dịch hoặc trình thông dịch có giá trị một biến có thể thực hiện và các hoạt động có thể được thực hiện trên nó.data type is a classification of data that specify to the compiler or interpreter which value a variable can take and the operations that can be performed on it.

Ví dụ về các loại dữ liệu bao gồm số nguyên, float, đôi, char, chuỗi, boolean, mảng, v.v.

Trong các ngôn ngữ được gõ mạnh, các lập trình viên máy tính phải chỉ định rõ ràng kiểu dữ liệu khi xác định các biến.

Ví dụ về các ngôn ngữ được gõ mạnh mẽ bao gồm C, Java, C ++, Go, Python, v.v.

Mặt khác, trong PHP và các ngôn ngữ lập trình được gõ lỏng lẻo khác, bạn có thể dễ dàng tạo các biến mà không phải lo lắng về loại dữ liệu mà chúng thuộc về.

Bạn tạo tất cả các biến theo cùng một cách mà không cần xác định loại dữ liệu như trong ví dụ PHP bên dưới:

<?php
//Integer
$myinteger = 25;
//String
$mystring = "Hello World!";
//Bollean
$mybool = true;
?>

Trong PHP, tất cả những gì bạn phải làm là bắt đầu với một dấu hiệu đô la ($) theo sau là tên biến và bạn có thể gán cho nó, dữ liệu thuộc bất kỳ loại nào.

Một ngôn ngữ lập trình được gõ lỏng lẻo có thể được đặc trưng như dưới đây:

  • Nó không yêu cầu đặc điểm kỹ thuật của các loại dữ liệu trong các biến.
  • Nó cho phép chuyển đổi giữa các loại dữ liệu không liên quan.
  • Chuyển đổi giữa các loại khác nhau được thực hiện ngầm trong thời gian chạy.
  • Nó không chứa kiểm tra biên dịch hoặc thời gian chạy cho các vi phạm ràng buộc loại
  • Nó có quy tắc gõ ít nghiêm ngặt hơn.

Một lợi thế lớn của các ngôn ngữ lập trình được gõ lỏng lẻo là tính linh hoạt. Trong khi làm việc với các ứng dụng động, có rất nhiều hành động xảy ra dựa trên dữ liệu chưa biết. Khả năng chuyển đổi loại ngầm cho phép linh hoạt.

Một lợi thế khác là sự đơn giản. Do các quy tắc gõ lỏng lẻo, việc học và làm việc với PHP khá đơn giản và đơn giản so với các ngôn ngữ được đánh máy mạnh mẽ như Java hoặc C.

Một nhược điểm của một ngôn ngữ được đánh máy một cách lỏng lẻo là nó có thể tạo ra kết quả không thể đoán trước hoặc thậm chí sai lầm khi chạy. Chẳng hạn, khi một giá trị số nguyên được mong đợi trong tính toán nhưng thay vào đó là giá trị chuỗi được truyền thay thế. Bạn có thể ngăn chặn điều này bằng cách xác thực loại dữ liệu trước khi thực hiện các hoạt động nhất định.

PHP có phải là một ngôn ngữ được đánh máy lỏng lẻo không?

Chi tiết tác giả

PHP là một ngôn ngữ được đánh máy một cách lỏng lẻo vì nó không yêu cầu bất kỳ biến định nào. Trong khi thông báo một biến trong các tập lệnh lập trình này, không cần phải mô tả hoặc đặt hàng loại thông tin được lưu trữ trong đó. Trong khi làm việc với các tập lệnh lập trình này, bạn có thể tạo một biến khác, để có chuỗi $ cụ thể và cung cấp giá trị là intiger. because it does not require any defining the variable. while announcing a variable in these programming scripts, there is no need of characterizing or ordering the information type stored in them. While working with these programming scripts, you can create another variable, to be specific $string and provide the value as intiger.

Một vài mẫu sẽ cho bạn thấy sự rõ ràng:

Trong trường hợp của C, bạn gán một số nguyên là: int c = 1; // Bài tập không bắt buộcC, you assign an integer as:
int c = 1; // assignment is not compulsory

Trong PHP: $ PHP = 1; // gán xác định loại biếnPHP:
$PHP = 1; // assignment desccribe the type of variable

So với ngôn ngữ loại nghiêm ngặt, bạn không thể xác định một loại giá trị khác trong một loại biến khác, ví dụ: int sẽ chỉ có giá trị int, bạn không thể đặt một chuỗi vào đó.

Nhưng trong trường hợp của PHP, bạn sẽ thay đổi loại biến bất cứ lúc nào & nbsp; như cho Ex:

$ PHP = 1; // Trở thành int $ PHP = Lời chúc mừng bây giờ tôi là một chuỗi trực tiếp;
$PHP = “Congrats Now I am a String”;

Theo thời gian với các bản cập nhật dần dần

Ảnh của Ben Griffiths trên unplash

Một trong những lý do tại sao PHP đã trở thành một ngôn ngữ lập trình được nhiều người yêu thích trong cộng đồng phát triển web là vì khả năng thích nghi với thời gian và cung cấp bất cứ điều gì bạn cần để tạo các ứng dụng âm thanh.ne of the reasons why PHP has become a much-loved programming language among the web development community is because of its ability to adapt to times and provide anything you need to create sound applications.

Những câu chuyện thành công xuất hiện trong tâm trí là WordPress, Wikipedia, Slack, MailChimp, Tumblr và Baidu, chỉ để kể tên một vài người.

Khán giả mục tiêu:

Bất cứ ai sử dụng ngôn ngữ lập trình PHP. & NBSP; Bất cứ ai muốn tìm hiểu thêm về lợi ích và lỗ hổng của một ngôn ngữ được gõ lỏng lẻo.

Ngôn ngữ được sử dụng:

Php 5+

Tài liệu liên quan:

Hướng dẫn sử dụng PHP-Thiết kế lớp trong PHP OOP trong Php Thực hành tốt 1-Đặt tên quy ước PHP Thực hành tốt 2-Mã tự ghi chép
Class Design in PHP
OOP in PHP
PHP Good Practices 1 – Naming Conventions
PHP Good Practices 2 – Self-Documenting Code

Introduction:

Một ngôn ngữ được gõ lỏng lẻo như PHP là ngôn ngữ không yêu cầu bạn khai báo một loại biến khi khai báo một biến. & NBSP; Điều đó có nghĩa là gì? & Nbsp; Trong PHP khi bạn khai báo một biến, bạn không cần phải lo lắng về loại dữ liệu nào sẽ được lưu trữ trong biến đó. & NBSP; Tôi có thể tạo một biến mới có tên $ String và sau đó gán nó một giá trị số nguyên.

Các ngôn ngữ như C# và các ngôn ngữ khác được gõ nghiêm ngặt, có nghĩa là các biến phải khai báo loại tại thời điểm biến được khai báo và loại đó được thực thi nghiêm ngặt. & NBSP; Điều này có nghĩa là nếu tôi khai báo một biến mới, tôi phải chỉ định một kiểu dữ liệu để thực thi biến đó. & NBSP; & NBSP; Khi tôi đã khai báo một biến là một loại, dữ liệu trong biến đó phải vẫn thuộc loại đó trừ khi loại được đúc thành một loại mới. Loại đúc là quá trình chuyển đổi một biến của một loại sang loại khác. & NBSP; Có vẻ như rất nhiều công việc hả? & Nbsp; Nó có thể là, nhưng nó cũng có lợi ích của nó.

Khi bạn viết mã trong PHP, bạn không phải lo lắng về loại dữ liệu nào sẽ đến và ra khỏi các biến của bạn nếu bạn không muốn. & NBSP; Điều này không có nghĩa là bạn không nên mặc dù! & NBSP; Một trong những vấn đề lớn nhất với các ứng dụng PHP là các lập trình viên không tổ chức tốt dữ liệu của họ và các ứng dụng chạy lỗi. & NBSP; Có biến được gõ lỏng lẻo & nbsp; có thể dẫn đến tất cả trẻ em có lỗi thời gian chạy bất ngờ nếu bạn không cẩn thận.

Mặt khác, không bị hạn chế với một loại cụ thể có thể thêm tính linh hoạt và cho phép các khả năng năng động hơn nhiều. & NBSP; & NBSP; PHP là một trong những ngôn ngữ lập trình web linh hoạt nhất mà tôi đã làm việc. & NBSP; Perl là một người khác. & NBSP; Tính linh hoạt được cung cấp với một ngôn ngữ được đánh máy một cách lỏng lẻo có thể là vàng cho các lập trình viên nhận thức được những thách thức mà họ cũng đưa ra. & NBSP; Nếu bạn có thể tổ chức tốt dữ liệu của mình và viết các ràng buộc của riêng bạn để phù hợp với chương trình của bạn, bạn có thể làm những điều tuyệt vời với PHP. & NBSP; & NBSP; Tuy nhiên, nếu bạn không có thể tạo ra một số mã rất lỗi.

Draw Lùi lại:

Vấn đề lớn nhất với các ngôn ngữ được gõ lỏng lẻo là cơ hội mà nó mang lại cho các lập trình viên để viết mã rất xấu! & NBSP; Bản thân tôi đã viết rất nhiều mã xấu khi tôi học PHP, vì lý do tôi không hiểu mục đích của việc gõ dữ liệu. & Nbsp; & nbsp; Vấn đề là, khi một biến cho phép bạn gán bất kỳ dạng dữ liệu nào, nó sẽ thêm rất nhiều cơ hội cho lỗi. & NBSP; Nếu tôi có một hàm mà tôi biết yêu cầu đầu vào số nguyên và biến của tôi đã được thay đổi thành một chuỗi ở đâu đó & nbsp; dọc theo dòng, chức năng của tôi sẽ bị hỏng!

Sự rút ra này có thể được khắc phục với một chút cấu trúc và tổ chức thích hợp. & NBSP; Trong hầu hết các trường hợp, bạn không muốn thay đổi loại! & NBSP; Làm như vậy làm tăng thêm sự mơ hồ cho mã của bạn và tạo ra con đường cho các vấn đề xảy ra. & Nbsp; & nbsp; Nó cũng có thể tạo ra & nbsp; rất nhiều vấn đề đau đầu khi chương trình của bạn bị hỏng vì giá trị bool của bạn đã được chuyển đổi thành giá trị chuỗi của True True, và so sánh không phải là những gì bạn mong đợi.

Khi sử dụng PHP và khai báo các biến, tôi vẫn khuyên bạn nên duy trì sự nhất quán và cố gắng thực thi các loại của riêng bạn. & NBSP; Bạn có thể thực hiện điều này trong các lớp của mình thông qua đóng gói bằng cách thực thi đầu vào để thuộc một loại nhất định bên trong các hàm setter của bạn, trước khi gán dữ liệu cho các biến lớp của bạn. & NBSP; Ngoài OOP, bạn có thể thực thi loại bằng cách tạo các chức năng xác thực kiểm tra loại trước khi gán dữ liệu cho một biến. & NBSP; Dù bằng cách nào, công việc làm thêm là đáng để gặp rắc rối khi số lượng lỗi bạn phải trả lời thu nhỏ.

Những lợi ích:

Lợi ích của một ngôn ngữ được đánh máy một cách lỏng lẻo là tính linh hoạt của nó, đặc biệt là khi tạo các ứng dụng rất năng động. & NBSP; & NBSP; Mã động hoàn toàn có thể khó làm việc do bản chất của nó. & NBSP; & nbsp; Ứng dụng chịu trách nhiệm xác định quá trình hành động dựa trên các điều kiện và dữ liệu thường không được lập trình viên. & NBSP; PHP và các ngôn ngữ được gõ lỏng lẻo khác cho phép loại lập trình phức tạp này có thể bằng cách không thực thi các loại dữ liệu trên các biến. & NBSP; & NBSP; Điều này có nghĩa là bạn có thể sử dụng một biến để giữ dữ liệu có thể là bất cứ điều gì!

Mặc dù điều này có thể dẫn đến những điều rất xấu nếu được thực hiện không chính xác, nhưng nó cũng có thể dẫn đến chức năng ứng dụng tuyệt vời khi được thực hiện đúng. & NBSP; Tôi đã viết rất nhiều mã xấu. & NBSP; Tôi cũng đã học được rất nhiều từ mã xấu đó, và kết quả là đã viết một số ứng dụng làm tôi ngạc nhiên. & NBSP; PHP cho phép chúng tôi đặt các quy tắc bằng cách gõ lỏng lẻo, cho phép chúng tôi linh hoạt hơn nhiều sau đó gõ các ngôn ngữ được gõ nghiêm ngặt. & NBSP; Nhưng bạn vẫn cần thiết lập các quy tắc!

Chỉ vì PHP không đặt ra các quy tắc và không thực thi mà bạn phải làm, không có nghĩa là bạn không nên. & NBSP; Tuy nhiên, nó có nghĩa là một chút công việc cho bạn với tư cách là một lập trình viên. & NBSP; Tôi là duy nhất trong việc học gõ dữ liệu của mình, trong đó tôi đã học PHP và Pearl trước bất kỳ ngôn ngữ được gõ nghiêm ngặt nào. & NBSP; & NBSP; Điều này khiến tôi không biết về lợi ích của việc gõ dữ liệu trong một thời gian dài. & NBSP; Ưu điểm cho điều đó là nó cho phép tôi suy nghĩ bên ngoài hộp ngay lập tức, và bây giờ tôi hiểu những lợi thế và khả năng trong một ngôn ngữ được đánh máy một cách lỏng lẻo.

Quấn nó lên

Bây giờ tôi đã hiểu được lợi ích của việc gõ dữ liệu, tôi cũng có thể áp dụng các khái niệm đó vào các ngôn ngữ được gõ lỏng lẻo của mình, mang lại cho tôi những điều tốt nhất của cả hai thế giới. & NBSP; Tôi sẽ khuyến khích bạn làm như vậy. & NBSP; Nếu bạn chưa nghiên cứu một ngôn ngữ như C# hoặc các ngôn ngữ nghiêm ngặt khác, bạn nên. & NBSP; Làm như vậy sẽ dạy cho bạn những lợi ích của việc làm việc trong một môi trường nghiêm ngặt như vậy và cho phép bạn áp dụng các khái niệm đó vào ngôn ngữ được đánh máy một cách lỏng lẻo trong khi vẫn có tất cả những lợi ích mà nó có thể cung cấp!

- sống, học hỏi, chia sẻ -

Sách hữu ích:

Hướng dẫn why php is loosely typed language - tại sao php là ngôn ngữ gõ lỏng lẻo

Hướng dẫn why php is loosely typed language - tại sao php là ngôn ngữ gõ lỏng lẻo

Tại sao ngôn ngữ được gõ lỏng lẻo?

Một ngôn ngữ lập trình được gõ một cách lỏng lẻo, hoặc gõ yếu, khi nó không yêu cầu đặc tả rõ ràng của các loại đối tượng và biến khác nhau. Các quy tắc gõ "lỏng hơn" trong các ngôn ngữ lập trình được đánh máy yếu có thể tạo ra kết quả sai lầm hoặc không thể đoán trước. Nó có thể thực hiện các chuyển đổi loại ngầm trong thời gian chạy.when it does not require the explicit specification of different types of objects and variables. The "looser" typing rules in weakly typed programming languages can produce erroneous or unpredictable results. It can execute implicit type conversions at runtime.

Là JavaScript và PHP là ngôn ngữ được gõ lỏng lẻo?

Giống như PHP, JavaScript là một ngôn ngữ được đánh máy rất lỏng lẻo;Loại biến chỉ được xác định khi giá trị được gán và có thể thay đổi khi biến xuất hiện trong các bối cảnh khác nhau.Thông thường, bạn không phải lo lắng về loại này;JavaScript tìm ra những gì bạn muốn và chỉ làm điều đó.JavaScript is a very loosely typed language; the type of a variable is determined only when a value is assigned and can change as the variable appears in different contexts. Usually, you don't have to worry about the type; JavaScript figures out what you want and just does it.

Tại sao PHP được gọi là ngôn ngữ được đánh máy động?

Bởi vì PHP kiểm tra loại biến trong thời gian chạy, nó thường được mô tả là ngôn ngữ được đánh máy động.Mặt khác, một ngôn ngữ được gõ tĩnh, sẽ có tất cả các kiểm tra loại của nó được thực hiện trước khi mã được thực thi., it is often described as a dynamically typed language. A statically typed language on the other hand, will have all its type checks done before the code is executed.

PHP có được gõ yếu không?

Tôi là một fan hâm mộ lớn của PHP và rõ ràng đó là một ngôn ngữ rất yếu.Tôi nhận ra một số lợi ích bao gồm sự độc lập chung của việc thay đổi các loại biến trên con ruồi và như vậy.