ThinkPHP架構調用mysql資料庫資料例子

來源:互聯網
上載者:User


1、首先簡述一下什麼是ThinkPHP

 

ThinkPHP是,是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。最早誕生於2006年初,2007年元旦正式更名為ThinkPHP,並且遵循Apache2開源協議發布。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,在保持出色的效能和至簡的代碼的同時,也注重易用性。並且擁有眾多的原創功能和特性,在社區團隊的積极參与下,在易用性、擴充性和效能方面不斷最佳化和改進。

ThinkPHP是一個快速、相容而且簡單的輕量級國產PHP開發架構,誕生於2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開源協議發布,從Struts結構移植過來並做了改進和完善,同時也借鑒了國外很多優秀的架構和模式,使用物件導向的開發結構和MVC模式,融合了Struts的思想和TagLib(標籤庫)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支援windows/Unix/Liunx等伺服器環境,正式版需要PHP5.0以上版本支援,支援MySql、PgSQL、Sqlite以及PDO等多種資料庫,ThinkPHP架構本身沒有什麼特別模組要求,具體的應用系統運行環境要求視開發所涉及的模組。

作為一個整體開發解決方案,ThinkPHP能夠解決應用開發中的大多數需要,因為其自身包含了底層架構、相容處理、基底類別庫、資料庫訪問層、模板引擎、緩衝機制、外掛程式機制、角色認證、表單處理等常用的組件,並且對於跨版本、跨平台和跨資料庫移植都比較方便。並且每個組件都是精心設計和完善的,應用開發過程僅僅需要關注您的商務邏輯。

2、ThinkPHP基於MVC模式的一種架構結構,內部組織檔案主要有這幾部分。

模型(M):模型的定義由Model類來完成。Model類位於項目目錄下面的LibModel目錄。

控制器(C):應用控制器(核心控制器)和Action控制器都承擔了控制器的角色,區別在於Action控制器完成業務過程,而應用控制器(App類)負責調度控制。Action控制器位於項目目錄下面的LibAction目錄。

視圖(V):模板的實現是和架構無關的,做到了100%分離,可以獨立預覽和製作。模板目錄位於項目目錄下面的Tpl目錄。


3.下面是我做的一個簡單的調取資料庫的案例

Index.php 入口檔案,檔案路徑(App\)

<?php
 
define("APP_DEBUG",true);
 
 
 
require'./ThinkPHP/ThinkPHP.php';
 
?>
 
Config.php 設定檔(App\Conf\)

<?php
 
return array(
 
    //'配置項'=>'配置值'
 
    //Mysql資料庫連接配置
 
    'DB_TYPE'=>'mysql',   //設定資料庫類型
 
    'DB_HOST'=>'localhost',//設定主機
 
    'DB_NAME'=>'bbs',//設定資料庫名
 
    'DB_USER'=>'root',   //設定使用者名稱
 
    'DB_PWD'=>'',       //設定密碼
 
    'DB_PORT'=>'3306',   //設定連接埠號碼
 
    'DB_PREFIX'=>'', //設定表首碼
 
 
 
    'TMPL_L_DELIM'=>'<{', //修改左定界符
 
    'TMPL_R_DELIM'=>'}>', //修改右定界符
 
);
 
?>
 
Index.html 視圖(V)層檔案(App\Tpl\Index\)

<html>
 
    <head>
 
       <title>MyThinkPHP</title>
 
    </head>
 
<body>
 
<p>使用者名稱:   <{$Uname}>
 
<p>密 碼:   <{$Upassword}>
 
<p>註冊時間: <{$DateTime}>
 
</body>
 
</html>
 
IndexAction.class.php 控制器(C)層檔案 (App\Lib\Action\)

<?php
 
// 本類由系統自動產生,僅供測試用途
 
class IndexAction extends Action {
 
   public function index(){
 
    echo "This is My Frist ThinkPHP!!!";
 
    $form = M('user') -> select();
 
    dump($form);
 
 
 
    $Uid = $form[1]['uId'];
 
    $Uname = $form[1]['uName'];
 
    $Upassword = $form[1]['uPassword'];
 
    $DateTime = $form[1]['dateTime'];
 
 
 
    $this -> assign ('uId',$Uid);
 
    $this -> assign ('Uname',$Uname);
 
    $this -> assign ('Upassword',$Upassword);
 
    $this -> assign ('DateTime',$DateTime);
 
    $this -> display();
 
   }
 
}
 
UserModel.class.php : 模型(M)層檔案,檔案路徑為(App\Lib\Model\)

<?php
 
class UserModel Extends Model{
 
public function findall(){
 
$sql='SELECT * FROM user';
 
return $this -> query($sql);
 
}
 
}
 
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.