日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

thinkphp-许愿墙-2

發布時間:2023/12/15 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 thinkphp-许愿墙-2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在數組中,也可以使用函數,如:

$data = array('username'=> I('username','', 'htmlspecailchars'),'content'=> I('content', '', 'htmlspecialchars'),'time'=> time(), );

在php中就只能使用php的 函數, (可以包含thinkphp為我們定義的函數) , 不要跟mysql中的函數弄混淆了!

thinkphp中的數據庫連接?

你不用自己顯式的去寫數據庫連接代碼, 只要在config.php中寫上數據庫連接配置就行了:

'DB_HOST'=>'127.0.0.1', 'DB_USER'=>'root', 'DB_PWD'=>'', // 注意這里不是password, 根據"寫得最少..."的原則 'DB_NAME'=> '使用的數據庫的名稱', 'DB_PREFIX'=> 'th_',以后在項目中就直接使用模型方法即可, 如:// M('table_name') = new Model('table_name') $id = M('table_name') -> data($data) -> add();// data($數組) 創建一個插入記錄的數據對象 // add方法返回插入記錄的 id號.

在控制器( "是一個類") 中的方法里, 寫代碼, 成員方法中的 $this 指的是 當前這個 控制器類的 一個對象實例! 使用的$this-> function(...)是控制器類的 成員方法. 而所有的 "單字母方法" 如:I方法, M()方法等等應該就是全局方法. 不需要$this的!

成功和失敗的方法?

$this->success('成功提示信息', '成功時跳轉的頁面 --- 對應的方法 名稱');
$this-> error('失敗時的提示信息', ['默認的是返回原來的提交頁面'] );

think的刪除數據記錄?

$result = M('table_name')->where('id>0')->delete(); // delete函數必須帶 where條件方法, 否則執行失敗! $result = M('table_name')->where(array('id'=> array('gt',0)))->delete(); $result 是表示刪除的記錄數;因為think不允許不帶條件的 直接調用delete方法, 那樣是很危險的!

think的查詢?

M('table_name')->select(); // 查詢全部記錄;

form表單中, action="", 默認提交到當前頁面.

模板中的{} 就相當于<?php ... ?>, 是一種簡單寫法:
輸出不同的 "模板值"方法不同:

  • 如果是變量, 直接{$var}就可以輸出;
  • 如果是函數, 需要加冒號: {:function()}
  • 如果是函數, 不加冒號, 會執行,但沒有輸出: {func()}, {~func()};
  • 輸出session: {@var}
  • 輸出cookie: {#var}
  • 輸出get變量: {.var}, 輸出post變量: {^var}, 輸出常量{*ar}, 輸出配置變量{&ar}等等

從控制器方法中, 分配變量到模板有三種方法:

$this->assign('a',11);$this->a = 11;$this->assign('a', 11)->display();// 分配變量的時候, 不需要加$ 符合.

thinkphp的大括號和尖括號
大括號{ }表示輸出變量或函數,
尖括號<> 表示think的Tag lib標簽庫, 跟html的標簽一樣的. 由think的模板引擎來解析.如:

<foreach name='wish' item="v"> ... // 注意, 因為是一個標簽, 所以, foreach不能分開寫...</foreach><foreach name="wish" key='k' item='v'> ... {$v['id']} 等于 {$v.id} 這里最好是使用 點號, 這樣會自動檢測: 如果是數組, 就轉換為 $v['id'] 如果是對象, 就轉換為$v->id.</foreach>// 那么, 如果你知道是解析的數組, 不需要解析判斷 對象的時候, 可以提高解析速度, 配置為: 'TMPL_VAR_IDENTIFY'=>'array', 即可!

那么, 如果你知道是解析的數組, 不需要解析判斷 對象的時候, 可以提高解析速度, 配置為: 'TMPL_VAR_IDENTIFY'=>'array', 即可!

在thinkphp的模板中使用函數?

{$v.time|date="y-m-d H:i",###}在模板中對 前面的變量內容 使用函數, 要用 豎線| 即可 = 表示傳遞參數, 多個參數之間用逗號風隔, 前面的變量, 用###表示.

隨機數: 不要用rand, 而是用 mt_rand(min, max): mt表示: mersenne twister算法, 比rand快.好.

===============================================================

thinkphp的項目分組

  • 同樣是建一個單入口index.php, 只不過名字叫做 App
    // 注意, 這個單一入口文件index.php, 以及生成的項目文件夾, 其實跟之前的任何一個 "非分組" 的項目入口文件都是完全相同的
    // 并不是你叫App就有什么不同, 真的要使它們成為 "分組"項目, 發生不同的是你隨后的配置和分別創建的子項目文件夾!

  • 其他配置/ 文件夾, 都是創建 相應 "子項目" 的配置 或者文件夾.

  • 主要有 幾個 地方: Conf, Common, Lib, Model等等.

    第一, Conf 下的config.php是所有項目都可以 公用 的配置, 而在Conf下創建對應的分組項目文件夾及其配置, 則是單獨有效的:Conf/Index/config.php(僅僅前臺有效), Conf/Admin/config.php(僅后臺有效)第二, Lib控制器下的控制器:刪除原來創建的 IndexAction.class.php;分別創建Index 和Admin文件夾分別在對應的文件夾下創建 IndexAction.class.php則對應著對應的項目 控制器...

    /* !!!!!!!!!!!!!!!!!!!

    在Conf/config.php下配置 項目分組: return array('APP_GROUP_LIST' => 'Index, Admin, Member, Register....','DEFAULT_GROUP' => 'Index', // 注意是default group不是group _ default. );第三, common文件夾下的公用文件common下的common.php中的函數, 所有項目都可以使用, 是公用的而在common文件夾下分別創建的Index/ Admin文件夾下的 分別創建的 function.php( 特別注意, 不是common.php!!!)則只能是對應的項目可以使用的函數!第四, Tpl模板分組:在App/Tpl目錄下分別創建Index和Admin文件夾, 作為分組項目的模板文件夾,然后再創建控制器對應的文件夾Index 和 方法對應的模板文件index.html如:App/Tpl/Index(分組子項目)/Index(對應控制器)/index.html(對應方法)App/Tpl/Admin/Index/index.html......為了減少模板 文件 對應的目錄層次太深, 可以配置 'TMPL_FILE_DEPR' => '_'這樣就可以將 控制器和 模板文件名之間用 上面定義的符合 連接起來, 從而 減少一個 控制器的目錄.比如, 這時后的模板文件的目錄就是: App/Tpl/Index/Index_index.html

    ===============================================================

    轉載于:https://www.cnblogs.com/bkylee/p/5303439.html

    總結

    以上是生活随笔為你收集整理的thinkphp-许愿墙-2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。