
可以在选择语言时将语言类型存到cookie或者session里
if($_SESSION['LA']=='EN'){$this->display('index_en');
}else{
$this->display('index_CH');
}
项目目录里conf/configphp里
<php
//项目配置文件
return array(
//其他配置省略
//数据库配置信息
'DB_TYPE' => 'oracle', // 数据库类型
'DB_HOST' => '192168150251', // 服务器地址
'DB_NAME' => 'thinkphp', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'think_', // 数据库表前缀
//其他项目配置参数
//
);
>
自己设置下数据库名,用户名,密码,以及端口号等
<php
/
获取当前页面完整URL地址
/
function get_url() {
$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' '>
ThinkPHP系统变量,常量,序列化,反序列化,缓存
变量的输出:
在模板中输出一个变量有两种形式:{$listname} {$list[‘name’]}
在模板中可以使用系统变量,以$Think开头
系统变量:(举例选几个)
获得服务器的IP地址:{$ThinkserverSERVER_ADDR}
获得外部访问的IP地址:{$ThinkserverREMOTE_ADDR}
获得服务器的名称:{$ThinkserverSERVER_NAME}
获得ThinkPHP内部定义的变量:
获得当前的时间:{$Thinknow}
获得当前工具的版本:{$Thinkversion}
模板的页面:{$Thinktemplate}
模板标签起始符号:{$ThinkLDELIM }
模板标签结束符号:{$ThinkRDELIM }
系统常量:(举例选几个)
获得当前文件的url :{$Thinkconst__SELF__}
获得模板配置文件的配置项的值:
{$Thinkconfigdb_name}
在ThinkPHP模板中,对变量使用函数调节:
从控制器分配了一个字符串,在模板中,如何截取这个字符串:{$str|substr=###,5,3} 如果当前参数为函数的第一个参数,可以不写###
在模板中加载外部文件:
使用<include file=””> file( )和display( )的用法一样。
If标签的使用:<if condition=”条件1”>value1<elseifcondition=”条件2”>value2<else/>value3</if> condition里面写成比较运算符 eq表示等于 neq表示不等于
修改模板引擎的界定符:
在配置文件中,通过TMPL_L_DELIM修改
‘TMPL_L_DELIM’=>’<{’ //修改左定界符
‘TMPL_R_DELIM’=>’<{’ //修改右定界符
修改模板引擎:
'TMPL_ENGINE_TYPE'=>'Smarty'
在分组中添加配置文件,在控制器中使用直接调用C函数。
ThinkPHP的缓存机制:
数据缓存:就是讲数据库中获得的数据保存在一个介质上,需要时直接在这个介质上读取。
我们需要通过ThinkPHP中的cache类来实现,通过这个类的方法获得对象,在通过这个对象来实现不同介质的数据处理。
通过传递不同的参数获得不通过的数据处理对象。
$cache=Cache::getInstance(‘File’);
页面缓存:
1 开启缓存
在配置文件中开启缓存,开启缓存有一定的规则(数组格式)。
‘HTML_CACHE_ON’=> true,
‘HTML_CACHE_RULES’=>array(
//需要缓存的动作名=>缓存的名称,缓存的生存周期
‘show’=>array(‘{:module}_{:action}’,1000),
)
{:module}代表当前的控制器名
{:action}代表当前的动作名(例如:show)
{$_GET}<=>{$Thinkgetid} 简写形式{$_get}
通过地址栏传递一个id参数,可以实现单页面多缓存
(通常是前台有缓存,后台不缓存)
局部不缓存:
在TP框架中,局部不缓存可以通过js , ajax , jQuery实现局部不缓存
<scripttype="text/JavaScript">
var date=Date();
documentwrite(date);
</script>
工厂模式:通过传递不同参数获得不同的对象
单例模式:这个类只获得一个对象,再调用这个对象方法
缓存的增删改查
增:$cache->set(‘password’,’123’,30) 第三个参数是缓存的有效期
删:rm( ) 改:set( ) 查:get( )
序列化( serialize( ) ):保存数据的时候,将数组或者对象序列化成字符串,但是这个字符串保存了数组或者对象之前的结构和内容,当我们需要获得这个数据的时候,在将序列化的字符串反序列化成我们需要的数组或对象(unserialize( ))
例子:
public functionxv(){
//序列化与反序列化
$a=array('name'=>'xiaoming');
$x=serialize($a);
echo $x; //输出结果为:a:1:{s:4:"name";s:8:"xiaoming";}
echo "<br/>";
$f=unserialize($x);
print_r($f);//输出原来的数组格式
}
以上就是关于请问下Thinkphp我要根据当前网址判断指向文件,怎么获取当前网址全部的内容,包括:请问下Thinkphp我要根据当前网址判断指向文件,怎么获取当前网址、thinkphp怎么配置以后可以访问一个ip为192.168.150.251的服务器中的oracle数据库呀,然后查询数据、thinkphp 怎么获取当前的url完整等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)