Ⅰ 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里配置