Hướng dẫn should html and php be separated? - html và php có nên được tách biệt không?

Trang web của tôi in vị trí người dùng bằng cách gọi API. Giả sử tôi có tất cả mã sau trong một tệp index.php trên trang web của tôi:

<?php
    $sIP = $_SERVER['REMOTE_ADDR'];
    $sURL = "http://ipinfo.io/" .$sIP . "/json";
    $sJSON = file_get_contents($sURL);
    $view = (object) array();
    $view->JSON = $sJSON;
?>

<!DOCTYPE html>
<html>
    <head>
        <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    </head>
    <body>
    <script>
        // global string of Data
        var gsData = <?= $view->JSON ?>

        $(document).ready(function(){
            var sRegion = gsData.region;
            $('#result').html(sRegion);
        });
    </script>
    <div>Region from data is:</div>
    <div id="result"></div>
</body>

Mặc dù, tôi cần giữ cho tập lệnh PHP và đánh dấu tách biệt. Tôi không thể nhúng tập lệnh PHP trong phần tử script. Tôi có thể làm gì để có tệp PHP và HTML?

Hỏi ngày 31 tháng 12 năm 2015 lúc 17:14Dec 31, 2015 at 17:14

Hướng dẫn should html and php be separated? - html và php có nên được tách biệt không?

4

Chỉnh sửa: Sử dụng include_once() thay vì include vì bạn có thể sử dụng các đường dẫn tương đối.: Use include_once() instead of include because you can use relative paths.

Bạn có thể chuyển PHP vào các tệp khác và sau đó

<?php
    $sIP = $_SERVER['REMOTE_ADDR'];
    $sURL = "http://ipinfo.io/" .$sIP . "/json";
    $sJSON = file_get_contents($sURL);
    $view = (object) array();
    $view->JSON = $sJSON;
?>
0 nó trở lại tệp chính.

Tệp HTML vẫn sẽ phải là tệp

<?php
    $sIP = $_SERVER['REMOTE_ADDR'];
    $sURL = "http://ipinfo.io/" .$sIP . "/json";
    $sJSON = file_get_contents($sURL);
    $view = (object) array();
    $view->JSON = $sJSON;
?>
1, nhưng bạn có thể bao gồm tất cả tập lệnh PHP của mình (bên cạnh include) trong một tệp khác để có khả năng duy trì / dễ đọc tốt hơn.

Ví dụ:

script.php

<?php
    $sIP = $_SERVER['REMOTE_ADDR'];
    $sURL = "http://ipinfo.io/" .$sIP . "/json";
    $sJSON = file_get_contents($sURL);
    $view = (object) array();
    $view->JSON = $sJSON;
?>

index.php

<?php include_once("script.php") ?>
<!-- ^ is the only PHP you will need to include a separate PHP file -->
<!DOCTYPE html>
<html>
    <head>
        <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    </head>
    <body>
    <script>
        // global string of Data
        var gsData = <?= $view->JSON ?>

        $(document).ready(function(){
            var sRegion = gsData.region;
            $('#result').html(sRegion);
        });
    </script>
    <div>Region from data is:</div>
    <div id="result"></div>
</body>

Đã trả lời ngày 31 tháng 12 năm 2015 lúc 17:18Dec 31, 2015 at 17:18

Jonathan Lamjonathan LamJonathan Lam

16.3K15 Huy hiệu vàng66 Huy hiệu bạc89 Huy hiệu đồng15 gold badges66 silver badges89 bronze badges

6

Bạn cũng có thể sử dụng khung PHP như Laravel, Codeigniter hoặc CakePHP, để bạn có thể tách logic PHP của mình khỏi mã HTML và sau đó gửi dữ liệu đến trang HTML. Đó là thực hành rất tốt cho sự nghiệp tương lai của bạn.php framework like Laravel, CodeIgniter or CakePHP, so that you can separate your php logic from html code and then send data to html page. It is very good practice for your future career.

Đã trả lời ngày 31 tháng 12 năm 2015 lúc 17:38Dec 31, 2015 at 17:38

Sabbirsabbirsabbir

1.9503 huy hiệu vàng25 Huy hiệu bạc44 Huy hiệu đồng3 gold badges25 silver badges44 bronze badges

Bạn có thể đặt tập lệnh PHP trong tệp PHP phân tách và sử dụng AJAX để gọi nó, sau đó bạn sử dụng JavaScript để in dữ liệu JSON được tạo bởi tập lệnh PHP.

Đã trả lời ngày 31 tháng 12 năm 2015 lúc 17:30Dec 31, 2015 at 17:30

Webloverwebloverweblover

4793 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges

24,07,18 IT / Php 3587 IT / PHP

Hướng dẫn should html and php be separated? - html và php có nên được tách biệt không?
3587

Hướng dẫn should html and php be separated? - html và php có nên được tách biệt không?

Khi viết mã PHP, bạn có thể cần tạo một phần tử HTML trong mã của mình. Các nhà phát triển Novice viết mã HTML trực tiếp vào tệp với mã PHP, chỉ cần đặt nó trong trích dẫn và thay thế dữ liệu biến trong đó. Tất nhiên, phương pháp này rất đơn giản, nó cho phép bạn không bị phân tâm bởi công việc bổ sung trong việc tách PHP và HTML. Nhưng điều này là sai, bạn cần đặt tất cả mã HTML vào các tệp riêng biệt - các mẫu HTML.

Tại sao cần phải tách HTML khỏi PHP? Có thể có nhiều lý do: separate HTML from PHP ? There may be several reasons:

  • Trộn mã HTML và PHP trong một tệp có vẻ xấu;
  • Không có HTML Cú pháp làm nổi bật, mã PHP bị lộn xộn - sau tất cả, mã HTML thường chiếm rất nhiều không gian;
  • Mã HTML không thể được sử dụng lại ở nơi khác trong ứng dụng web;
  • Khi cần thực hiện các thay đổi đối với HTML, bạn sẽ phải tìm kiếm đoạn mã này trong tệp với mã PHP trong một thời gian dài.

Cho đến nay, các công cụ mẫu khác nhau đã được phát triển để thực hiện nhiệm vụ này, được tạo để tách mã khỏi bố cục. Nhưng không phải lúc nào cũng có mong muốn sử dụng một thứ gì đó của bên thứ ba, và bên cạnh đó, sử dụng PHP, bạn có thể tự mình thực hiện một hệ thống khuôn mẫu đơn giản. Làm thế nào để làm nó? simple templating system yourself. How to do it?

Ví dụ: hãy tạo một tệp với TPL mở rộng, sẽ lưu trữ mã HTML. Đây sẽ là mẫu của chúng tôi, bạn có thể thực hiện bất kỳ phần mở rộng tệp nào, TPL ở đây chỉ để ví dụ. Theo đó, trong Trình chỉnh sửa mã, bạn có thể đặt HTML Cú pháp làm nổi bật cho tiện ích mở rộng này (ví dụ: trong Notepad ++). Các biến cần thiết được viết trong tệp này, sẽ cần được thay thế bằng dữ liệu cần thiết. Mẫu ví dụ: tpl , which will store the HTML code. This will be our template, you can make any file extension, tpl here just for an example. Accordingly, in the code editor, you can set HTML syntax highlighting for this extension (for example, in Notepad ++). The necessary variables are written in this file, which will need to be replaced with the required data. Example template:

  & lt; div>
& lt; span> & lt;? = $ variable?> & lt; / span>
& lt; span> & lt;? = $ variable2?> & lt; / span>
& lt; / div>  

Tiếp theo, chúng tôi tạo một số chức năng, ví dụ: MyFunction, chứa dữ liệu và đường dẫn đến mẫu: myfunction , which contains data and the path to the template:

  function myfunction () {
$ template_path = '/templates/template.tpl';

$ data = array (
'variable' => 'Value',
'variable2' => 'Value 2',
);

$ html = get_html ($ template_path, $ data);

echo $ html;
}  

Cuối cùng, bạn cần tạo chức năng GET_HTML sẽ thực hiện công việc kết nối mẫu được chỉ định và thay thế dữ liệu trong đó. Hàm có hai tham số: đường dẫn đến mẫu và dữ liệu. Vòng lặp đi qua toàn bộ nội dung của mảng dữ liệu và tạo các biến. Sau đó, bộ đệm được bật và một mẫu được bao gồm trong đó các biến được tạo ở trên được sử dụng. Cuối cùng, chúng tôi dừng quá trình đệm và trả lại mã HTML đã hoàn thành. Mã mẫu dưới đây: get_html function that will do the work of connecting the specified template and replacing the data in it. The function takes two parameters: the path to the template and the data. The loop traverses the entire contents of the data array and creates variables. Then buffering is turned on and a template is included in which the above-created variables are used. Finally, we stop the buffering process and return the finished HTML code. Sample code is below:

  function get_html ($ template_path, $ data) {
foreach ($ data as $ key => $ value) {
$$ key = $ value;
}

ob_start ();
require ($ template_path);
    $ html = ob_get_clean ();

return $ html;
}  

Do đó, không khó để tách HTML khỏi mã PHP mà không sử dụng các công cụ mẫu của bên thứ ba. Sử dụng các mẫu sẽ làm cho sự phát triển dự án thuận tiện và chính xác hơn. separate HTML from PHP code without using third-party template engines. Using templates will make project development more convenient and correct.

Có tốt để trộn HTML và PHP không?

Mã PHP thường được trộn với thẻ HTML. PHP là một ngôn ngữ nhúng, có nghĩa là bạn có thể nhảy giữa mã HTML thô và PHP mà không phải hy sinh khả năng đọc.you can jump between raw HTML code and PHP without sacrificing readability.

PHP và HTML có nên ở trong cùng một tệp không?

Như bạn có thể thấy, bạn có thể sử dụng bất kỳ HTML nào bạn muốn mà không cần làm bất cứ điều gì đặc biệt hoặc thêm trong tệp PHP của bạn, miễn là nó ở bên ngoài và tách biệt với các thẻ PHP.Nói cách khác, nếu bạn muốn chèn mã PHP vào tệp HTML, chỉ cần viết PHP bất cứ nơi nào bạn muốn (miễn là chúng ở trong các thẻ PHP).you can use any HTML you want without doing anything special or extra in your PHP file, as long as it's outside and separate from the PHP tags. In other words, if you want to insert PHP code into an HTML file, just write the PHP anywhere you want (so long as they're inside the PHP tags).

HTML và PHP có thể hoạt động cùng nhau không?

PHP và HTML tương tác rất nhiều: PHP có thể tạo HTML và HTML có thể chuyển thông tin cho PHP.Trước khi đọc các Câu hỏi thường gặp này, điều quan trọng là bạn học cách truy xuất các biến từ các nguồn bên ngoài.Trang hướng dẫn về chủ đề này bao gồm nhiều ví dụ là tốt.PHP can generate HTML, and HTML can pass information to PHP. Before reading these faqs, it's important you learn how to retrieve variables from external sources. The manual page on this topic includes many examples as well.

Mối quan hệ giữa HTML và PHP là gì?

PHP là ngôn ngữ kịch bản trong đó HTML là ngôn ngữ đánh dấu.Đầu ra của PHP thường có trong mã HTML mà trình duyệt sau đó có thể giải thích.Mã HTML được sử dụng để tạo các trang web tĩnh nơi sử dụng PHP để tạo các trang web động.. The output of PHP is usually in HTML code which the browser can then interpret. HTML codes are used to create static websites where as PHP is used to create dynamic websites.