Hỏi về các ngôn ngữ dùng chung với HTML

Em đã thấy trong html có code lồng PHP vào (tất nhiên là file .php)

<?php
// code
?>

và vừa đây em cũng thấy javascript

<script>
// Code
</script>

Vậy cho em hỏi ngoài 2 cái trên ra, còn ngôn ngữ nào dùng chung được với html nữa không?

Thế nên mình mới ghét php, học php đầu tiên khi học web là rối lung tung beng suy nghĩ về lập trình web. Bạn chỉ có thể chèn javascript vào một file html thôi và cái javascript được thực hiện ở phía client, còn cái php kia là cú pháp cúa nó để khai báo đoạn phía sau đây là đoạn code php cho trình thông dịch ở phía server nó hiểu và thực hiện đoạn mã tương ứng khi dựng trang html hay xử lý request của người dùng. Cái cuối cùng người dùng nhận được chỉ là 1 file html, không hề có php trong đó, php được dùng để tạo trang html thay đổi nội dung tùy theo request chứ không “dùng chung” với html.

1 Like

bạn @Itachi_Citus có thể nói một cách ngắn gọn và dễ hiểu hơn nữa được không? :blush:

Uh sr bạn. Không biết bạn cần nói rõ đoạn nào nên mình nói hết luôn nha :v.

Cách hoạt động của web server cơ bản là thế này: Người dùng gửi một request thông qua trình duyệt đến một server, server xử lý request rồi trả về kết quả.

Ngày xưa web tĩnh thì server hoạt động như một cái thư mục thôi, người dùng gửi yêu cầu về 1 file và server trả chính xác file đó về (giống như 1 ftp server, nếu bạn đã từng sử dụng). Đối với 1 website, file đó là file html. Ngày xưa các file này được gõ bằng tay và cố định tại 1 vị trí (1 url/ 1 file).

Lập trình web thay đổi cách tiếp cận này bằng cách tạo file html động chứ không cố định tĩnh nội dung nữa. Với mỗi request, một file html mới sẽ được tạo ra ứng với request đó (Bạn định danh nội dung hay hành động muốn làm thông qua post request hay get request và các query tương ứng). Vậy lập trình web về cơ bản thực chất là lập trình để tạo file html có nội dung thay đổi tương ứng với request khác nhau, đồng thời làm những việc khác (cập nhật database v.v…) nếu có yêu cầu.

Với php, mỗi lần bạn truy cập, bạn sẽ thấy thực chất bạn “gọi” 1 file php và yêu cầu php trả về một file html. Cách tổ chức mã nguồn của php được “chèn” trực tiếp vào 1 template html bao bên ngoài nó. Khi được gọi, thông qua <?php ?>, trình thông dịch sẽ biết được đoạn đó thực hiện đoạn mã tương ứng và chạy đoạn mã đó.

Nếu bạn sử dụng một ngôn ngữ lập trình web cấp thấp (và rõ ràng) hơn, bạn sẽ thấy cách tiếp cận rất khác: Bạn nhận full request (Cấu trúc request nếu bạn học qua mạng máy tính thì bạn sẽ biết, thật ra nó cũng chỉ là text thôi) , rút URL, query, http verb, cookie tương ứng ra (xử lý chuỗi), và muốn làm gì với nó cũng được. HTML template có thể được lưu trong code, lưu file ngoài, kết hợp nhiều file, lưu trong database v.v… rồi dựng html bằng xử lý chuỗi. Đó là cách xử lý ở mức thấp trong lập trình web.

Còn với php nguyên bản, code chèn chung với html template… Cực kỳ rối.

3 Likes

thế bạn đã tổ chức theo mô hình MVC (Model - View - Controller) chưa? cơ bản thì nó sẽ giảm thiểu việc “hard code” PHP trong file HTML… :smiley:

Mình ít khi làm back-end nên không rành cho lắm…

1 Like

Nếu bán sát với câu hỏi của bạn thì có rất nhiều ngôn ngữ có thể dùng “chung” với HTML ở client-side thì có: Javascript, VBScript ở server-side thì có PHP, JAVA, C#, Ruby, Visual Basic … . Những ngôn ngữ dùng với HTML ở phía sever sẽ được sever xử lý sau đó đều được chuyển thành HTML khi về phía client ( trình duyệt) vì trình duyệt chỉ có thể sử lý được HTML và nhũng ngôn ngữ dùng với nó ở client. Chú ý là Javascript (Node.js) và VBScript cũng có thể viết ở phía sever được. Bạn muốn biết rõ hơn về lập trình web phải học những gì thì xem thêm ở đây.

1 Like

Làm front-end thì chủ yếu làm những gì hả anh? :grin:

công việc của mình là implement layout, viết hiệu ứng các kiểu bằng JavaScript, CSS3 rồi lấy dữ liệu trên Server rồi hiển thị lên màn hình. Thấy vậy mà làm mọi thủ đoạn để viết code sao cho dễ mở rộng, dễ bảo trì là một vấn đề rắc rối… :disappointed_relieved: Với lại chỗ mình làm không có designer, mình kiêm luôn design :sweat_smile: Chủ yếu là tối ngày cứ code JavaScript :smile:

2 Likes

A post was split to a new topic: Xin 1 vài giáo trình dạy thiết kế web 1 cách cơ bản và dễ hiểu

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?