PHP是世界上最好的語言!!
老闆要讓去做php,身爲資深專業android開發的我一開始真是一百個不願意,因爲久聞大名的php貌似很不受人接見。不過多學門語言,技多不壓身,現在就擼起來。
由於後臺使用的是ThinkPHP框架,所以還是先從框架下手。所幸ThinkPHP的文檔還不錯,先看完再來寫總結。
ThinkPHP是一個快速、簡單的基於MVC
和面向對象
的輕量級PHP開發框架。
文檔過了一遍後,上手的確簡單,MVC模型也很明朗,學習主要從MVC模型切入就可以了
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫 –百度百科
M(model)
ThinkPHP的模型實質就是數據庫,最簡單的用法如下,得到 $User
變量後便可以對數據庫的表進行操作。
$User = M('User');
$UserList = $User->select();
$You = M('User')->where('name=yourname')->select();
其中數據庫及表名前綴及連接數據庫的參數已在配置文件中定義,也可手動指定這些信息。
$connection = array(
'db_type' => 'mysql',
'db_host' => '127.0.0.1',
'db_user' => 'root',
'db_pwd' => '12345',
'db_port' => 3306,
'db_name' => 'demo',
);
$User = M('User','think_',$connection);
$UserList = $User.select();
thinkphp還可以定義模型類,不過 模型類並非必須定義,只有當存在獨立的業務邏輯或者屬性的時候才需要定義。
初學先不深究,自定義模型類使用D()
引用,M()
引用的是系統定義好的模型類
V(view)
ThinkPHP的View主要實現是模板引擎,{$hello}
變量在controller中賦值,最後由controller渲染(編譯)成頁面。
ThinkPHP示例之Hello
{$hello}
C(controller)
ThinkPHP的控制器是一個類,而操作則是控制器類的一個公共方法。
按我的理解,controller主要的流程爲 接受Event->更新Model->更新View
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function hello(){
{ // 接受輸入 參數合理性判斷 }
$yourname = $_GET['name'];
{ // 數據操作 }
$You = M('User')->where('name=yourname')->select();
{ // 填充視圖,渲染 }
$this->assign('hello','hello' + $You['name']);
$this->display();
}
}
接下來會通過項目來進一步瞭解PHP這玩意。。