Ⅰ thinkphp中控制器里的方法是怎麼調用的
a方法調用b方法
public function a(){
$this->b();
}
public function b(){
echo '這是B方法';
}
Ⅱ thinkphp url怎麼調用公共方法
公共方法放進application/common/common的funciton.php中,用的時候直接象內置方法一樣調用就行了
Ⅲ thinkphp3.1怎麼調用模型裡面的方法
可能我沒有表述明確,我再詳細的說明一下。比如已有一個零件模型A,現在要新建一個零件B,其為零件A的一個改型,B與A的差別僅僅在於多了一個小孔,這時候,如果重新按照A的建立過程在B中重建特徵,無疑很浪費時間,並且B作為A的一個改型,如果重建所有A的特徵,則將來要修改A的某些參數的時候,也要將B的相對參數手工修改,增加了模型出錯的隱患。所以,很自然的,會想到有這種用法,就是將零件A的實體(非特徵)作為一個外部實體參照完全的調用進零件B(類似調用一個IGES,STEP等格式的實體),然後在B中建立獨屬於B的特徵。這樣,將來如果A被修改,則B中只要重新生成一下A的參照實體,則B也被同步修改。以前我是用PROE的,用過PROE的弟兄應該知道有一個外部模型參考的命令,想必CATIA中應該也有類似的功能,怎樣實現??PUBLICATION功能,我也看過,不過只知道怎樣發布,那麼如何在新零件中調用?
Ⅳ thinkPHP怎麼調用函數
thinkphp模版調用函數方法
{變數|函數1|函數2|函數3=參數1,參數2,參數3,###}
###為第4個參數,代表變數替換為第4個參數
舉例:
{$username|substr=0,3}取標題中前3個字元
{$times|date='Y-m-d H:i:s',###}將times時間戳轉換為日期格式
==================================================
冒號執行函數的用法:輸出方法並執行返回值
{:U('user/insert')}
舉例:
{:time()} 會輸出當前日期格式 ,會被解析成 <?php echo time(); ?>
==================================================
波浪線函數的用法:執行方法但不輸出
{~function()}
舉例:
{~substr("aaaaaaa",3)} 執行後不會輸出,會背解析成 <?php substr ?>
============================================
{$Think.get.url中get過來的參數}
{$Think.server.server中的變數}
{$Think.session.session中的id|md5} 如果需要的話還可以對值MD5一下
{$Think.cookie.cookie中的id}
=============
{$Think.config.db_host} 讀取config中的配置信息
{($title)?($title):'當前沒有值'} 當前參數若沒有值,則顯示後面的描述
==================
<switch name="">
<case value="1">aaaaaa</case>
<case value="2">bbbbbbbbb</case>
<default />沒有數據
</switch>
===============
<eq name="a" value="3">a等於3<else />a不等於3</eq>
<eq name="a|strlen" value="1">a的長度等於1<else />a長度不等於1</eq>
=================
<in name="a" value="1,2,3,4">變數a值在1,2,3,4范圍內就列印</in>
<notin name="a" value="1,2,3,4">變數a值不在1,2,3,4范圍內就列印</notin>
或者用
<range name="a" value="1,2,3,4" type="in">a在1,2,3,4范圍內</range> //type改為notin就是不在,該方法可替代in和notin
===============
<empty name="a">a變數為空</empty>
<notempty name="a">a變數不為空</notempty>
Ⅳ thinkphp config怎麼調用函數
thinkphp模版調用函數方法
{變數|函數1|函數2|函數3=參數1,參數2,參數3,###}
###為第4個參數,代表變數替換為第4個參數
舉例:
{$username|substr=0,3}取標題中前3個字元
{$times|date='Y-m-d H:i:s',###}將times時間戳轉換為日期格式
==================================================
冒號執行函數的用法:輸出方法並執行返回值
{:U('user/insert')}
舉例:
{:time()} 會輸出當前日期格式 ,會被解析成 <?php echo time(); ?>
==================================================
波浪線函數的用法:執行方法但不輸出
{~function()}
舉例:
{~substr("aaaaaaa",3)} 執行後不會輸出,會背解析成 <?php substr ?>
============================================
{$Think.get.url中get過來的參數}
{$Think.server.server中的變數}
{$Think.session.session中的id|md5} 如果需要的話還可以對值MD5一下
{$Think.cookie.cookie中的id}
=============
{$Think.config.db_host} 讀取config中的配置信息
{($title)?($title):'當前沒有值'} 當前參數若沒有值,則顯示後面的描述
==================
<switch name="">
<case value="1">aaaaaa</case>
<case value="2">bbbbbbbbb</case>
<default />沒有數據
</switch>
===============
<eq name="a" value="3">a等於3<else />a不等於3</eq>
<eq name="a|strlen" value="1">a的長度等於1<else />a長度不等於1</eq>
=================
<in name="a" value="1,2,3,4">變數a值在1,2,3,4范圍內就列印</in>
<notin name="a" value="1,2,3,4">變數a值不在1,2,3,4范圍內就列印</notin>
或者用
<range name="a" value="1,2,3,4" type="in">a在1,2,3,4范圍內</range> //type改為notin就是不在,該方法可替代in和notin
===============
<empty name="a">a變數為空</empty>
<notempty name="a">a變數不為空</notempty>
Ⅵ thinkphp中一個方法怎樣調用另一個方法裡面的變數
把這個function detail(){}裡面有個$A的值設置成全局變數,或者是存進session數組裡面,然後在function showmenu()這個函數中可以調用這個$A的值了。
Ⅶ 如何實現thinkphp中Db類的方法調用風格
我們先來看下官網對listen的說明:如果開啟資料庫的調試模式的話,你可以對資料庫執行的任何SQL操作進行監聽。這無疑很方便我們進行增刪改查的調試,以及通過執行的時間進行有效的sql優化,
友情提示:資料庫監聽要寫在執行sql語句的前面,因為只有在調用Db::listen之後的SQL語句才會被監聽,調用之前的語句不會被監聽。至於為什麼我們後面講!
使用如下方法:
123456Db::listen(function($sql,$time,$explain){//記錄SQLecho$sql.'['.$time.'s]';//查看性能分析結果mp($explain);});有很多小夥伴疑問該方法應該放在哪裡?使用之後為什麼沒有效果,很可能就是提示上所說的那樣了,那麼接下來我們簡單分析一下這個方法!
1、從Db::listen(),可以看出listen是Db中的一個靜態方法,那麼我們就去找db類
2、從Db類中沒有找到該方法,但是我們從use thinkdbConnection可以看出,引入了Connection類,我們在這個類找一下這個方法!
12345678910/***監聽SQL執行*@accesspublic*@paramcallable$callback回調方法*@returnvoid*/publicfunctionlisten($callback){self::$event[]=$callback;}3、event 保存我們傳入的回調方法
4、在看下面這2個方法
5、當我們執行了sql語句,就會觸發會調用debug方法將執行日誌寫入日誌文件中,同事調用trigger方法,如果我們最開始已經傳入了回調方法,也就是
1self::$event不為空,(說明我們在執行sql語句之前就已經設置了監聽)我們將調用我們的回調函數!
1call_user_func_array總結:在執行sql語句之前我們需要先設置監聽,這就是為什麼要把Db::listen()寫在執行sql語句的前面!
下面我們來看下實際的效果:
效果圖:
Ⅷ thinkphp3.2怎麼調用另一個目錄里的方法
-- 前台使用了bootstrap框架技術,美化頁面效果很顯著(接下來計劃有時間總結下bootstrap);並且應用HTML語義化文章結構,便於搜索引擎查找。
-- 後台打算使用ThinkPHP框架技術,這樣可以使整體架構是MVC模式,結構化和模塊化項目,並且使頁面的html頁碼和php代碼分離。
-- 最後計劃實現頁面的靜態化,方便吸引搜索引擎爬蟲的曝光率。
後台應用TP框架:
1)路徑問題
由於TP框架是MVC架構,原理跟smaty模板的一樣,contraller調用view下的模板,將模板html頁面替換成php,然後包含到contraller下的控制頁面,並且緩存在緩存夾cache中,訪問contraller時會自動定位到cache下的緩存php文件。這樣就引出了路徑的問題,模板view下的相對路徑需要些contraller的相對路徑,建議用絕對路徑。
介紹幾個系統常量:
網站根目錄地址 __ROOT__ 路徑為根目錄 /
當前路徑下 __URL__
公共區: __PUBLIC__ 路徑為 /Public/
當前應用入口 __APP__
還可以自己定義路徑變數,方便項目開發。
例子:建議使用絕對路徑代替相對路徑
<link rel="stylesheet" href="__PUBLIC__/css/bootstrap.css"> 代替<link rel="stylesheet" href="../../Public/css/bootstrap.css">
<img src="__ROOT__/admin/Home/View/Public/images/logo.png"/>代替 <img src="../../../../admin/Home/View/Public/images/logo.png"/>
2)資料庫的連接展示,例子效果如下:
(1)ThinkPHP/Conf/conversation.php中配置資料庫連接參數:
/* 資料庫設置 */
'DB_TYPE' => 'mysql', // 資料庫類型
'DB_HOST' => 'localhost', // 伺服器地址
'DB_NAME' => 'yanhui', // 資料庫名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => '', // 埠
(2)Contraller中新建控制news頁面NewsContrallor:
<?php
namespace Home\Controller;
use Think\Controller;
class NewsController extends Controller {
public function index(){
$user=M('news');
$this->rows=$user->order('id')->select();
$this->display();
}
public function add(){
$this->display();
}
public function insert(){
$this->display();
}
public function delete(){
$this->display();
}
public function edit(){
$this->display();
} public function update(){
$this->display();
}
}
(3)View下新建模板頁面News/index.html(用了bootstrap展示前端)
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading">新聞展示</div>
<div class="panel-body">
<table class="table table-bordered table-striped">
<tr>
<th>id</th>
<th>標題</th>
<th>概要</th>
<th>上牆</th>
<th>時間</th>
<th>欄目</th>
</tr>
<volist name='rows' id='row'>
<tr>
<td>{$row.id}</td>
<td>{$row.title}</td>
<td>{$row.abstract}</td>
<td>{$row.shelf}</td>
<td>{$row.regtime|date='Y-m-d',###}</td>
<td>{$row.newsclassId}</td>
</tr>
</volist>
</table>
</div>
</div>
</div>
(根據這個例子,依次實現news模塊的增刪改查方法)
Ⅸ thinkphp怎麼調用另一個目錄里的方法
U("app/bfile/方法名");
U("admin/afile/方法名")
Ⅹ ThinkPHP3.2中如何使用類函數靜態調用
common/里建一個 common.php文件。裡面存函數,這個文件是默認載入的,如果不是 common.php 就得手動載入。
直接建一個 common.php 文件寫在裡面。記得刪除緩存。
可以寫進ThinkPHP/Common/functions.php這個裡面,也可以ThinkPHP/Common/extend.php,但需要載入
載入的話需要理清他的架構,thinkphp載入有很簡單的自定義的一套方法,TP中調用自定義的函數庫應該在項目的config.php里配置