PHP全棧從入門到精通1

PHP全棧從入門到精通

thinkphp框架,是一堆代碼(常量,方法,和類)的集合,框架是一個半成品的應用,還包含一些優秀的設計模式。php

框架的使用,代碼風格不同,維護難,項目生命週期短,功能擴展存在侷限,好處爲,簡單,快捷,高效,不須要關注底層結構,專一於業務邏輯css

zend framework,官方框架,yii框架,美國華人,laravel輕量級的框架,國外框架,thinkphp國人開發。html

什麼是mvc,是一種設計模式,將用戶的輸入,邏輯,輸出相分離。輸入-控制器,邏輯-模型,視圖-輸出。laravel

入口文件,對應的控制器,控制器到視圖展現模板,和控制器到模型,模型是和數據庫的,返回數據,控制器調用模型處理業務邏輯的。thinkphp

混合編程階段,模板引擎階段,mvc階段。數據庫

官網下載:編程

http://www.thinkphp.cn/

image.png

alpha版本爲內測版本,beta版本爲公測版本,rc版本爲候選版本,r版本爲release版本,發行版本。json

application應用目錄
public 存放圖片,css等公共靜態文件目錄
thinkphp框架核心目錄
.htaccess分佈式配置文件
composer.json給compose軟件使用的說明文件
index.php項目入口文件設計模式

thinkphp目錄下數組

behavior行爲文件目錄
org爲功能擴展目錄
think最核心的目錄
vendor第三擴展目錄

image.png

image.png

模板內容獲取方法:

$this -> display(); 展現模板
$this -> fetch(); 獲取模板(有返回值)
public function login(){
 //展現模板
 // $this -> display();
 $str = $this -> fetch();
 // dump打印
 dump($str);
}
dump 打印變量,打印方法

image.png

thinkphp中的註解是屬於服務端的註解,不會在瀏覽器中輸出,而html的會。

public function test(){
 $array = array('da','dashu','dashucoding');
 //變量分配
 $this -> assign('array',$array);
 // 函數模板
 $this -> display();
}

入口文件:

header('Content-Type:text/html;charset=utf8');
public function test(){
 // 實例化student對象
 $stu = new Student();

 $stu -> id=1;
 $stu -> name=dashu;
 // 變量分配
 $this -> assign('stu', $stu);
 // 展現模板
 $this -> display();
}

image.png

獲取服務器的相關信息
獲取get請求的信息
獲取post請求的信息
獲取get和post中信息
獲取cookie中的信息
獲取session中的信息
獲取ThinkPHP中全部配置文件的一個總和

獲取get請求中的id {$Think.get.id}
public function test() {
 // 展現模板
 $this -> display();
}
$Think.server.path
$Think.get.id
$Think.request.pid
$Think.cookie.PHPSESSID
$Think.config.DEFAULT_MODULE

語法格式:

{$變量 | 函數名1 | 函數名2 = 參數1,參數2,...}

函數名1:表示須要使用的第一個函數
函數名2:表示須要使用的第二個函數
參數一、參數2:函數2的參數

// 模板中函數使用
public function test() {
 // 定義時間戳
 $time = time();
 //傳遞給模板
 $this -> assign('time', $time);
 // 展現模板
 $this -> display();
}

時間戳的格式化,格式化時間戳使用的函數是date

date(‘Y-m-d H:i:s’,時間戳);
<body>
{$time | date='Y-m-d H:i:s',###}
</body>

截取字符串使用函數substr
轉化大寫使用函數strtoupper

默認值 {$變量名|default=默認值}

// 默認值
public function test() {
 // 定義一個空的字符串
 $sign = '';
 // 傳遞給模板
 $this -> assign('sign', $sign);
 // 展現模板
 $this -> display();
}

默認值的使用:
{$sign | default='dashucoding'}

運算符:

++  {$a++} 或 {++$a} 自增運算
--  {$a--}  或 {--$a}    自減運算

public function test(){
 // 定義兩個變量
 $a = 10;
 $b = 10;
 // 傳遞給模板
 $this -> assign('a',$a);
 $this -> assign('b',$b);
 // 展現模板
 $this -> display();
}

在模版中進行運算:
<body>
 變量a = {$a},變量b = {$b}<br/>
 a+b={$a+$b}<br/>
...
</body>

文件包含

<include file=’須要引入的模版文件’ />

建立出三個模版文件
body.html
foot.html
head.html

// 展現頭部
public function head() {
 // 展現模板
 $this -> diaplay();
}
// 展現body
public function body() {
 // 展現模板
 $this -> dispaly();
}
// 展現尾部
public function foot() {
 // 展現模板
 $this -> display();
}

body.html

<body>
<include file="head.html"/>
<div>dashucoding</div>
<include file="foot.html"/>
</body>

<body>
<include file="Test/head"/>
<div>dashucoding</div>
<include file="Test/foot"/>
</body>

<include file=’須要引入的模版文件’ 參數名=’參數值’ />

<body>
<include file="Test/head"/>
<div>dashucoding</div>
<include file="Test/head" title="dashu"/>
</body>

foot.html
<div>da [title] </div>

循環遍歷volist標籤、foreach標籤

volist語法:
<volist name="須要遍歷的模板變量名" id="當前遍歷到的元素">
循環體
</volist>

foreach($variable as $value){
 循環體
}

foreach語法格式:
foreach($variable as $value){
}

<foreach name="須要遍歷的模板變量名" item="當前遍歷到的元素">
循環體
</foreach>

一維數組遍歷

// 數組遍歷
public function test(){
// 定義一維數組
 $array = array('da', ' dashu', 'dashucoding);
// 二維
 $array2 = array(
  array('da','dashu','dashucoding'),
  array('da','dashu')
 );
 // 傳遞給模板
 $this -> assign('array', $array);
 // 展現模板
 $this -> display();
}
<body>
 <volist name="array" id="vol">
 </volist>
 {$vol}
 <hr/>

 <foreach name="array" item="for">
  {$for}
 </foreach>
</body>

image.png

<if condition=’條件表達式’>
...
<elseif condition=’條件表達式2’/>
...
<elseif condition=’條件表達式3’/>
…
<else/>
...
</if>
public function test(){
 //輸出今天的星期數字
 $day = date('N',time());
 // 傳遞給模板
 $this -> assign('day',$day);
 $this -> display(); 
}

<if condition="$day == 1">
星期一
<elseif condition="$day == 2"/>
星期二
...
<else/>
星期天

image.png

禁用php標籤:

TMPL_DENY_PHP: false

image.png

image.png

未完!!!

結言

好了,歡迎在留言區留言,與你們分享你的經驗和心得。

感謝你學習今天的內容,若是你以爲這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。

做者簡介

達叔,理工男,簡書做者&全棧工程師,感性理性兼備的寫做者,我的獨立開發者,我相信你也能夠!閱讀他的文章,會上癮!,幫你成爲更好的本身。長按下方二維碼可關注,歡迎分享,置頂尤佳。

感謝!承蒙關照!您真誠的讚揚是我前進的最大動力!

這是一個有質量,有態度的公衆號

喜歡本文的朋友們

歡迎長按下圖關注訂閱號

收看更多精彩內容

image

image

相關文章
相關標籤/搜索