php模板如何使用,ThinkPHP如何使用模板

到目前為止,我們只是使用了控制器和模型,還沒有接觸視圖,下面來給上面的應用添加視圖模板。

首先我們修改下 Action 的 index 操作方法,添加模板賦值和渲染模板操作。

PHP代碼

classIndexActionextendsAction{

publicfunctionindex(){

$Blog=newBlogModel()?

$list=$Blog->findAll()?

$this->assign('title','ThinkPHP?示例')?

$this->assign('list',$list)?

$this->display()?

}

}

現在我們在瀏覽器里面輸入 http://localhost/myApp/

后出現了下面的頁面

a4c26d1e5885305701be709a3d33442f.png

出現上面的錯誤,可是覺得莫名其妙,因為沒有說明任何導致錯誤的原因。

其實,這個提示信息是 ThinkPHP 在部署模式下面的默認提示信息,沒有提示具體的錯誤原因是為了

避免把一些不必要的信息暴露給用戶,從而導致一些安全隱患,在開發過程中,我們只需要開啟調試

模式就可以看到具體的錯誤信息了。

下面,我們修改下項目配置文件,加上調試模式的配置:

PHP代碼

returnarray(

//?定義數據庫連接信息

'DB_TYPE'=>'mysql',

'DB_HOST'=>'localhost',

'DB_NAME'=>'thinkphp',

'DB_USER'=>'root',

'DB_PWD'=>'',

'DB_PORT'=>'3306',

'DB_PREFIX'=>'think_',

//?開啟調試模式

'DEBUG_MODE'=>true,

)?

刪除 Temp 目錄下面的~app.php 文件后,我們再次刷新下瀏覽器,看到了錯誤信息

a4c26d1e5885305701be709a3d33442f.png

看了提示的錯誤信息,原來我們還沒有給操作定義模板文件,我們在項目的 Tpl\default\Index\下面創建一個

index.html 模板文件,內容如下:

XML/HTML代碼

{$title}title>

head>

[?{$vo.title}?]?{$vo.content}

volist>

body>

html>

IndexAction 類的index 方法里面使用

PHP代碼

$this->display();

輸出頁面的時候,會自動讀取 Tpl\default\Index\index.html 模板文件來輸出。

現在我們再次在瀏覽器里面輸入 http://localhost/myApp/

就可以看到動態數據的輸出了,注意看頁面的 Title 文字的變化。

a4c26d1e5885305701be709a3d33442f.png

我們看到了頁面輸出了數據庫的兩條記錄,并且下面還顯示了很多的運行時間信息,這個是開啟調試

模式之后系統默認的顯示信息,包括了頁面執行時間、數據庫操作次數、內存使用情況 當前加載的類

庫數量,以及頁面執行的 SQL 語句和錯誤記錄等等。這些信息是能夠給開發調試帶來很大的幫助,而

且頁面 Trace 信息是可以定制顯示的,你現在看到的是系統默認的顯示項目。

OK,假設我們項目開發完成了,需要正式部署到服務器了,建議關閉調試模式,配置文件中原來的

// 開啟調試模式

'DEBUG_MODE'=>true,

修改為

// 關閉調試模式

'DEBUG_MODE'=>false,

現在,我們重新刷新下瀏覽器,就會看到下面的頁面了,顯然干凈了很多。

到此為止,我們已經完成了一個簡單的數據庫讀取的例子,也帶您領略了使用 ThinkPHP 開發的大致過程。當然,ThinkPHP

的殿堂還有更多更好的功能在等著你!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388733.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

理解Windows窗體和WPF中的跨線程調用

你曾開發過Windows窗體程序,可能會注意到有時事件處理程序將拋出InvalidOperationException異常,信息為“ 跨線程調用非法:在非創建控件的線程上訪問該控件”。這種Windows窗體應用程序中 跨線程調用時的一個最為奇怪的行為就是,有…

什么是嵌入式系統

在我們的日常生活中,我們經常使用許多使用嵌入式系統技術設計的電氣和電子電路和套件。計算機,手機,平板,筆記本電腦,數字電子系統以及其他電子和電子設備都是使用嵌入式系統設計的。 什么是嵌入式系統?將硬…

面向數據科學家的實用統計學_數據科學家必知的統計數據

面向數據科學家的實用統計學Beginners usually ignore most foundational statistical knowledge. To understand different models, and various techniques better, these concepts are essential. These work as baseline knowledge for various concepts involved in data …

字符串、指針、引用、數組基礎

1.字符串:字符是由單引號所括住的單個字母、數字或符號。若將單引號改為雙引號,該字符就會變成字符串。它們之間主要的差別是:雙引號的字符串“A”會比單引號的字符串’A’在字符串的最后補上一個結束符’\0’(Null字符&#xff0…

suse安裝php,SUSE下安裝LAMP

安裝Apache可以看到編譯安裝Apache出錯,rpm包安裝gcc (首先要安裝GCC)makemake install修改apache端口cd /home/sxit/apache2vi conf/httpd.confListen 8000啟動 apache/home/root/apache2/bin/apachectl start(stop restart)http://localhost:8000安裝一下PHP開發…

自己動手寫事件總線(EventBus)

2019獨角獸企業重金招聘Python工程師標準>>> 本文由云社區發表 事件總線核心邏輯的實現。 <!--more--> EventBus的作用 Android中存在各種通信場景&#xff0c;如Activity之間的跳轉&#xff0c;Activity與Fragment以及其他組件之間的交互&#xff0c;以及在某…

viz::viz3d報錯_我可以在Excel中獲得該Viz嗎?

viz::viz3d報錯Have you ever found yourself in the following situation?您是否遇到以下情況&#xff1f; Your team has been preparing and working tireless hours to create and showcase the end product — an interactive visual dashboard. It’s a culmination of…

php 數組合并字符,PHP將字符串或數組合并到一個數組內方法

本文主要和大家分享PHP將字符串或數組合并到一個數組內方法&#xff0c;有兩種方法&#xff0c;希望希望能幫助到大家。一般寫法&#xff1a;<?php /*** add a string or an array to another array** param array|string $val* param array $array*/function add_val_to_a…

xcode 4 最低的要求是 10.6.6的版本,如果你是 10.6.3的版本,又不想升級的話。可以考慮通過修改版本號的方法進行安裝

xcode 4 最低的要求是 10.6.6的版本&#xff0c;如果你是 10.6.3的版本&#xff0c;又不想升級的話。可以考慮通過修改版本號的方法進行安裝。 一、打開控制臺&#xff1b; 二、使用root用戶&#xff1b; 命令&#xff1a;sudo -s 之后輸入密碼即可 三、編輯 /System/Library/C…

android 調試技巧

1.查看當前堆棧 Call tree new Exception(“print trace”).printStackTrace(); &#xff08;在logcat中打印當前函數調用關系&#xff09; 2.MethodTracing 性能分析與優&#xff08; 函數占用CPU時間&#xff0c; 調用次數&#xff0c; 函數調用關系&#xff09; a) 在程序…

Xml序列化

xml序列化 實現思路 通過程序生成一個xml文件來備份手機短信. 先獲取手機短信的內容 —>通過xml備份.StringBuffer 代碼如下public void click(View view) {StringBuffer sb new StringBuffer();sb.append("<?xml version\"1.0\" encoding\"UTF-8\…

java 添加用戶 數據庫,跟屌絲學DB2 第二課 建立數據庫以及添加用戶

在安裝DB2 之后&#xff0c;就可以在 DB2 環境中創建自己的數據庫。首先考慮數據庫應該使用哪個實例。實例(instance) 提供一個由數據庫管理配置(DBM CFG)文件控制的邏輯層&#xff0c;可以在這里將多個數據庫分組在一起。DBM CFG 文件包含一組 DBM CFG 參數&#xff0c;可以使…

iphone視頻教程

公開課介紹 本課程共28集 翻譯至第15集 網易正在翻譯16-28集 敬請關注 返回公開課首頁 一鍵分享&#xff1a;  網易微博開心網豆瓣網新浪微博搜狐微博騰訊微博郵件 講師介紹 名稱&#xff1a;Alan Cannistraro 課程介紹 如果你對iPhone Development有興趣&#xff0c;以下是入…

在Python中有效使用JSON的4個技巧

Python has two data types that, together, form the perfect tool for working with JSON: dictionaries and lists. Lets explore how to:Python有兩種數據類型&#xff0c;它們一起構成了使用JSON的理想工具&#xff1a; 字典和列表 。 讓我們探索如何&#xff1a; load a…

Vlan中Trunk接口配置

Vlan中Trunk接口配置 參考文獻&#xff1a;HCNA網絡技術實驗指南 模擬器&#xff1a;eNSP 實驗環境&#xff1a; 實驗目的&#xff1a;掌握Trunk端口配置 掌握Trunk端口允許所有Vlan配置方法 掌握Trunk端口允許特定Vlan配置方法 實驗拓撲&#xff1a; 實驗IP地址 &#xff1a;…

django中的admin組件

Admin簡介&#xff1a; Admin:是django的后臺 管理的wed版本 我們現在models.py文件里面建幾張表&#xff1a; class Author(models.Model):nid models.AutoField(primary_keyTrue)namemodels.CharField( max_length32)agemodels.IntegerField()# 與AuthorDetail建立一對一的關…

虛擬主機創建虛擬lan_創建虛擬背景應用

虛擬主機創建虛擬lanThis is the Part 2 of the MediaPipe Series I am writing.這是我正在編寫的MediaPipe系列的第2部分。 Previously, we saw how to get started with MediaPipe and use it with your own tflite model. If you haven’t read it yet, check it out here.…

.net程序員安全注意代碼及服務器配置

概述 本人.net架構師&#xff0c;軟件行業為金融資訊以及股票交易類的軟件產品設計開發。由于長時間被黑客攻擊以及騷擾。從事高量客戶訪問的服務器解決架構設計以及程序員編寫指導工作。特此總結一些.net程序員在代碼編寫安全以及服務器設置安全常用到的知識。希望能給對大家…

文件的讀寫及其相關

將軟件布置在第三方電腦上會出現無法提前指定絕對路徑的情況&#xff0c;這回影響到后續的文件讀寫&#xff1b;json文件是數據交換的一種基本方法&#xff0c;為了減少重復造輪子&#xff0c;經行標準化代碼。關于路徑&#xff1a; import os workspaceos.getcwd() pathos.pat…

接口測試框架2

現在市面上做接口測試的工具很多&#xff0c;比如Postman&#xff0c;soapUI, JMeter, Python unittest等等&#xff0c;各種不同的測試工具擁有不同的特色。但市面上的接口測試工具都存在一個問題就是無法完全吻合的去適用沒一個項目&#xff0c;比如數據的處理&#xff0c;加…