」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在純 PHP 專案中使用 Laravel Blade 模板引擎?

如何在純 PHP 專案中使用 Laravel Blade 模板引擎?

發佈於2024-07-31
瀏覽:897

How to Use Laravel Blade Templating Engine with a Pure Vanilla PHP Project?

今天,我挑戰自己使用純 PHP 實作 Laravel MVC(模型、視圖、控制器)方法。為了解決這個問題,我在專案的視圖部分使用了標準的 Laravel Blade 模板引擎,但沒有安裝 Laravel,因為我的專案是純粹的 PHP。以下是我實現這種整合的方法;

我首先使用以下 Composer 指令安裝一個名為 Blade 的軟體包,作者是 JensSegers

composer require jenssegers/blade

這個套件允許 Blade 模板引擎作為獨立套件使用,使其與任何 PHP 專案相容,而不僅僅是 Laravel。

接下來,我運行以下命令將包的照亮/視圖依賴項更新到版本 11.7.0,因為該包無法在 11.7.0 以下的版本中正常工作:

composer require illuminate/view:11.7.0

然後,我建立了一個名為「pdotest」的資料庫,其中包含一個名為「post」的表,其中包含「name」和「body」列。我分別用數據填充此表(“這是使用Blade 模板引擎顯示的資料庫中的帖子名稱”,“這是使用Blade 模板引擎顯示的資料庫中的帖子正文”),並通過在我的根目錄中創建Database.php 檔案來連接到它專案並輸入以下程式碼:

host;dbname=$this->database",$this->username,$this->password);

        // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // $conn = $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


        return $conn;

    } catch (PDOException $e) {

        echo "Connection failed: " . $e->getMessage();

    }
}

}


?>

接下來,我為所有資料庫操作建立了一個名為「Models」的目錄。在這個目錄中,我建立了一個名為 Post.php 的檔案來處理「post」表上的操作。在此文件中,我定義了一個名為 post 的方法,用於透過 ID 檢索帖子,如下所示:

conn = (new Database)->connect(); // Access directly (less secure)
}


public function getPost($id){

    $stmt= "SELECT * FROM $this->table WHERE id = :id";

    $stmt =  $this->conn->prepare($stmt);

    $stmt->bindParam(':id', $id, PDO::PARAM_INT);

    $stmt->execute();

    return $result = $stmt->fetch();

}


}


?>

接下來,我創建了 index.php 來充當路由器,連接我的控制器、視圖和模型。在其中,我匯入了所有視圖和快取路徑,我將建立這些路徑來放置我的 Blade 視圖和快取檔案。然後這些路徑被傳遞給 Blade 類,該類是我們一開始安裝的 Blade 套件附帶的。然後,我將此 Blade 實例傳遞給我將創建的 PostController 類,並呼叫該類的 post 方法以在將來透過其 ID 取得貼文。

post();

?>

然後,我在專案的根目錄下建立了一個「controllers」目錄。在其中,我從index.php(路由器)接收了 Blade 變量,調用 Post 模型的 getPost 方法以通過其 ID 獲取帖子,並將該帖子傳遞到名為“homepage”的 Blade 視圖。

blade = $blade;
    }

  public function post(){

    $post = (new Post)->getPost(1);

    echo $this->blade->render('homepage', ['post' => $post]);


  }

}




?>

然後,我在專案的根目錄下建立了一個名為「views」的目錄和一個名為 homepage.blade.php 的檔案。在這個文件中,我只是顯示了從 PostController 傳遞的帖子的名稱,如下所示:

{{$post['name']}}

最後,我在專案的根目錄中建立了一個「cache」目錄來儲存 Blade 快取文件,這有助於提高專案的效能。

現在,當您在瀏覽器中造訪http://localhost/laravel-blade-without-laravel/index.php 時,您將看到貼文的名稱顯示為「這是使用Blade 範本顯示的資料庫中的帖子名稱”引擎。 」

感謝您關注這篇關於在純 PHP 專案中使用 Laravel Blade 模板引擎的文章。我希望它對您的發展之旅有所幫助。我叫 Waziri Ally Amiri,是來自坦尚尼亞莫希的 Web 開發人員。我專注於使用 Laravel,並且喜歡幫助其他人開始使用這個強大的框架。如果您有任何疑問或需要進一步協助,請隨時與我們聯繫。

版本聲明 本文轉載於:https://dev.to/waziridev/how-to-use-laravel-blade-templating-engine-with-a-pure-vanilla-php-project-5h1a?1如有侵犯,請聯絡study_golang @163.com刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3