Hướng dẫn how do i render a php file? - làm cách nào để kết xuất một tệp php?

Vì những người khác đã đề cập đến bộ đệm đầu ra có lẽ là giải pháp sạch nhất ở đây, bởi vì nó cho phép bạn tách mẫu HTML của bạn ra khỏi logic của bạn. Bằng cách này, bạn kết thúc với HTML khá dễ đọc trong tệp mẫu của mình, thay vì một mớ hỗn độn mã spaghetti.

function render_php($path)
{
    ob_start();
    include($path);
    $var=ob_get_contents(); 
    ob_end_clean();
    return $var;
}

Sau đó, tạo tệp mẫu của bạn

//test.php

    

Sau đó gọi chức năng của bạn:

render_php('test.php');

Bạn thậm chí có thể làm cho điều này có thể tái sử dụng hơn bằng cách thêm một tham số thứ hai (một mảng hoặc đối tượng, tức là.

function render_php($path,array $args){
    ob_start();
    include($path);
    $var=ob_get_contents(); 
    ob_end_clean();
    return $var;
}

Bây giờ hãy xem điều này hữu ích như thế nào

//create your template test.php

    

Bây giờ hãy tạo đối số của bạn và chuyển chúng cho phương thức kết xuất

$args = array('start' => 0, 'end' => 5);
render_php('test.php', $args);

Tại sao điều này hữu ích

Bây giờ bạn có một chức năng có thể tái sử dụng hữu ích, bất kể bạn cần phải truyền bao nhiêu đối số và logic của bạn có thể nằm trong một tệp riêng biệt từ màn hình của bạn, làm cho mã của bạn dễ đọc hơn rất nhiều. Chúng tôi có thể sử dụng điều này để xây dựng các khối HTML lớn vẫn dễ đọc.

i.e.

$article = array(    //imagine we have an article that we have pulled from our database
'title' => 'Some Title',
'subtitle' => 'Some Sub Title',
'body' => 'lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
    eu nulla quis ligula ornare ultricies. Vivamus malesuada lectus a mi
    auctor pellentesque. Maecenas eu ultricies sapien, ac porta augue. ',
'image' => 'img/some_image.jpg'
);

echo render_php('article.php',array $article);

và tạo một mẫu




   
       <?php echo $article['title']; ?>
   
   
         ' alt='whatever' >
         

Một chức năng để hiển thị một tệp PHP với dữ liệu. Cho phép tạo khuôn mẫu và sau đó gửi một mảng dữ liệu vào chế độ xem.

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

hàm renderphpfile ($ filename, $ vars = null) {
if (is_array ($ vars) &&! trống ($ vars)) {
Trích xuất ($ Vars);
}
ob_start ();
Bao gồm $ fileName;
trả về ob_get_clean ();
}
// cách sử dụng
echo renderphpfile ('chế độ xem/mẫu/index.php', $ data_for_view);

Nhiều điều đã được nói về các tùy chọn khả năng tương tác Peachpie mở ra giữa mã PHP và .NET. Một trong những trường hợp sử dụng thực tế nhất là kết hợp các quan điểm một phần của dao cạo và PHP, đó là những gì mà bài viết ngày nay sẽ nói về.

Giới thiệu

Tóm lại, mục tiêu của chúng tôi là tạo ra một cái gì đó như: @html.php (Nội dung.php,).@Html.Php(“content.php”).

Nói cách khác, chúng tôi muốn có chế độ xem dao cạo hoặc chế độ xem một phần (.cshtml) và hiển thị đầu ra của tập lệnh PHP bên trong. Chúng ta có thể tưởng tượng các tập lệnh PHP này là quan điểm một phần của dao cạo, nhưng được viết bằng PHP.

Chúng ta hãy xem một trường hợp sử dụng rất thực tế, trong đó chúng ta tích hợp một ứng dụng PHP vào MVC của trang web - mã PHP đã xác định các thành phần và các phần HTML và chúng ta muốn sử dụng mã này trong trang web MVC ASP.NET Core mà không cần có để viết lại nó.

Chúng tôi sẽ bắt đầu bằng cách nhờ ứng dụng của chúng tôi chạy trên Peachpie. Mã PHP hiện tại của chúng tôi được chuyển đổi thành một dự án .NET Core và tất cả nội dung của nó được biên dịch thành tệp .NET Core Standard .dll. Từ thời điểm này trở đi, mọi thứ chúng tôi có trong PHP có thể được sử dụng trực tiếp trong thế giới của C# và .NET nói chung.

Peachpie.AspNetCore.Mvc

Bắt đầu với phiên bản Peachpie 0.9.0-CI01028, chúng tôi đã bao gồm gói NUGET

//test.php

    

0, bao gồm các phương thức mở rộng trợ giúp, nhờ vào ngày hôm nay, blog của Google là có thể.

Cấu hình

Để có thể hiển thị các tập lệnh PHP trong chế độ xem dao cạo, một số bước cần được thực hiện:

Trước hết, bạn cần biên dịch dự án PHP của mình với .NET bằng PeachPie; ví dụ. Như chúng tôi đã làm với WordPress hoặc MediaWiki. Lưu ý rằng

//test.php

    

1 phải là
//test.php

    

2 và
//test.php

    

3 là
//test.php

    

4, bởi vì chúng tôi đang xây dựng một thư viện sẽ được tham chiếu bởi ứng dụng C# MVC của bạn.

Thêm một tham chiếu đến dự án MVC

.


[/code]

Trong bước cuối cùng, chúng ta phải nói với thời gian chạy rằng nó nên tìm kiếm các tập lệnh PHP được biên dịch trong

//test.php

    

5. Chúng ta phải làm điều này một lần khi ứng dụng đang chạy; Cách thanh lịch nhất là chèn mã vào đối tượng
//test.php

    

6, cụ thể vào phương thức
//test.php

    

7 trong cấu hình lõi ASP.NET. [CODE Language = Tiết csharp]] bối cảnh [/mã số]
[code language=”csharp”]
Context.AddScriptReference( Assembly.Load("myPhpApp") );
[/code]

Kết xuất chế độ xem PHP trong chế độ xem dao cạo

Bây giờ chúng ta có thể quay lại đoạn trích ngắn trong phần giới thiệu: @html.php (Hồi Content.php,).@Html.Php(“content.php”).

Phương pháp

//test.php

    

8 là một phương thức mở rộng được xác định trong
//test.php

    

9. Chế độ xem dao cạo (một phần) của chúng tôi sẽ trông như sau: [Ngôn ngữ mã = ​​Tiết csharp,] @Using peachpie.aspnetcore.mvc;
[code language=”csharp”]
@using Peachpie.AspNetCore.Mvc;

Chế độ xem dao cạo

@Html.php ("test.php") [/code]
[/code]

Phương thức

render_php('test.php');
0 thực sự thực hiện nhiều bước:

  • Nó tìm thấy các bài kiểm tra đã được biên dịch.php trong DLL của chúng tôi.
  • Nó tạo ra hoặc sử dụng bối cảnh PHP hiện tại, đây là một đối tượng đại diện cho yêu cầu PHP được liên kết với đối tượng HTTPContext hiện tại.
  • Nó bật bộ đệm đầu ra (
    render_php('test.php');
    
    1) trên bối cảnh PHP.
  • Nó thực hiện một bao gồm của tập lệnh PHP.
  • Nó tắt bộ đệm đầu ra (
    render_php('test.php');
    
    2).
  • Nó đưa ra kết quả của tập lệnh PHP vào đối tượng
    render_php('test.php');
    
    3 trong chế độ xem dao cạo hiện tại.

Bạn có thể lấy toàn bộ mẫu từ [đây].

Người mẫu

Còn các đối tượng mô hình MVC thì sao? Nếu bạn muốn chuyển một số dữ liệu cho tập lệnh PHP, bạn có thể làm như vậy bằng cách chỉ định tham số thứ hai của phương thức

render_php('test.php');
4. Bạn có thể vượt qua .NET
render_php('test.php');
5 hiện tại hoặc bất kỳ đối tượng nào khác. Để sử dụng nó, chỉ cần tham khảo biến
render_php('test.php');
6 trong mã PHP. Nếu bạn không thoải mái với việc sử dụng
render_php('test.php');
6, bạn có thể tận dụng API PeachPie và chuyển bất kỳ biến C# nào vào biến PHP toàn cầu. Đơn giản chỉ cần gọi một cái gì đó giống như

. [/csharp]
HttpContext.GetOrCreateContext().Globals["mydata"] = (PhpValue)"Hi from C#!";
[/csharp]

Mã này sẽ tạo ra biến toàn cầu PHP

render_php('test.php');
8.
render_php('test.php');
9 là một phương thức mở rộng giúp bạn loại bỏ PHP ____30 trong số ASP.NET Core
function render_php($path,array $args){
    ob_start();
    include($path);
    $var=ob_get_contents(); 
    ob_end_clean();
    return $var;
}
1.

Sự kết luận

Có nhiều trường hợp sử dụng thực tế của Peachpie tương tác PHP/C# cho phép. Kết xuất các tập lệnh PHP (như chế độ xem PHP) trong chế độ xem dao cạo, tuy nhiên, là một trong những bản tuyệt vời hơn. Nó cho phép tích hợp hoàn toàn liền mạch các chế độ xem PHP vào dao cạo và cũng cho việc di chuyển dần dần từ PHP sang .NET.

Hãy cho chúng tôi biết bạn nghĩ gì về khả năng này!

Đăng vào ngày 31 tháng 7 năm 2018, trong danh mục Thông tin, Tin tức, Hướng dẫn, Thẻ

Làm thế nào để bạn chạy một tệp PHP?

Tệp PHP được đặt bên trong thư mục HT HTDOCS. Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập vào localhost/demo.php và nhấn enter. Chương trình của bạn sẽ chạy.open any web browser and enter “localhost/demo. php” and press enter. Your program will run.

Làm cách nào để xem trước một tệp PHP trong trình duyệt của tôi?

Bạn có thể mở tệp hiện tại trong trình duyệt bằng các phương thức sau: Nhấp vào nút Mở trong trình duyệt trên thanh trạng thái. Trong trình chỉnh sửa, nhấp chuột phải vào tệp và nhấp vào menu ngữ cảnh Mở PHP/HTML/JS trong trình duyệt. Sử dụng KeyBindings Shift + F6 để mở nhanh hơn (có thể được thay đổi trong tệp menu -> Tùy chọn -> phím tắt bàn phím)Click the button Open In Browser on StatusBar. In the editor, right click on the file and click in context menu Open PHP/HTML/JS In Browser. Use keybindings Shift + F6 to open more faster (can be changed in menu File -> Preferences -> Keyboard Shortcuts )

PHP có chạy trong trình duyệt không?

PHP không phải là một phần của trình duyệt của bạn.Và đây là nơi mọi thứ thay đổi từ quan điểm dễ dàng, trung tâm của trình duyệt trên thế giới.Khi bạn tải xuống trình duyệt web, bạn sẽ nhận được HTML, CSS và JavaScript, nhưng bạn không nhận được PHP.Các tập lệnh PHP mà bạn sẽ sớm viết ra để được chương trình phiên dịch PHP giải thích, được gọi là PHP.. And here's where things change from the easy, browser-centric view of the world. When you download a web browser, you get HTML, CSS, and JavaScript, but you do not get PHP. PHP scripts—which you'll soon be writing—have to be interpreted by the PHP interpreter program, called php.

Tại sao tệp PHP của tôi không mở trong trình duyệt?

PHP không được cài đặt đúng cách trên hệ thống của bạn hoặc máy chủ không được cài đặt đúng cách.Mô -đun PHP không được tải trong Apache của bạn.Bạn đã không đặt kịch bản của bạn vào đúng nơi.Đặt các tệp của bạn vào/xampp/htdocs và sau đó trỏ trình duyệt của bạn đến: http: //localhost/my_php_script.php.. PHP module isn't loaded in your apache. You did not put your scripts in the right place. Put your files in /XAMPP/htdocs and then point your browser to: http://localhost/my_php_script.php.