thinkphp 随笔

thinkphp Runtime
       
除了页面有缓存外,数据表也生成了缓存,所以如果开发后期有更新字段,上传到服务器        
 后要把Runtime里面的内容全部删除,否则会出错

nginx 配置以适应 pathinfo 需求
   
#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
   
#如果你不需要用到php5后缀,也可以将其去掉
    location ~
.php
        {

               
#原有代码

               

               
#定义变量 $path_info ,用于存放pathinfo信息

               
set $path_info "";

               
#定义变量 $real_script_name,用于存放真实地址

               
set $real_script_name $fastcgi_script_name;

               
#如果地址与引号内的正则表达式匹配

               
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

                       
#将文件地址赋值给变量 $real_script_name

                       
set $real_script_name $1;

                       
#将文件地址后的参数赋值给变量 $path_info

                       
set $path_info $2;

               
}

               
#配置fastcgi的一些参数

               
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

               
fastcgi_param SCRIPT_NAME $real_script_name;

               
fastcgi_param PATH_INFO $path_info;

        }

    #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则

    if (!-e $request_filename)

        {

           
#地址作为将参数rewrite到index.php上。

            rewrite
^/(.*)$ /index.php/$1;

           
#若是子目录则使用下面这句,将subdir改成目录名称即可。

           
#rewrite ^/subdir/(.*)$ /subdir/index.php/$1;

        }

<switch name=“v.state”> 注意不是$v

时间: 2024-10-12 02:08:56

thinkphp 随笔的相关文章

thinkphp的空控制器和空操作以及对应解决方法

在上篇随笔中我们已经知道了tp框架的四种访问方式,那么当在地址栏输入不存在的操作方法.控制器会怎么样呢? 先看一下定义: 空操作:一个对象(控制器)调用本身不存在的方法 空控制器:在实例化控制器对象的时候,没有找到指定的类 首先,在Application文件下新建Ceshi模块,并在Ceshi模块下按照Home模块建立相同的文件夹,如下图: 1)在Controller文件夹下新建Login控制器: <?php namespace Ceshi\Controller; use Think\Contr

thinkphp框架 链接数据库和操作数据

框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中 /* 数据库设置 */    'DB_TYPE'               =>  '',     //

thinkphp框架 的 链接数据库和操作数据

框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中 /* 数据库设置 */    'DB_TYPE'               =>  '',     //

采用thinkphp框架实现添加管理员功能

最近由于忙于期中和期末考试没有写新的随笔了,另外内心也在纠结要不要考研,直到昨天终于痛下决心,才突然间觉得豁然开朗. 由于做老师留的课程设计作业采用thinkPHP框架频繁,最近的几篇随笔将都从thinkPHP框架的使用上着笔,好了,废话不多说,下面是干货. 这篇文章将围绕采用thinkPHP框架   向数据库中添加数据   和   在网页中显示   这两项功能进行展示. 目的:在add页添加数据后在lists页进行显示(注意:由于thinkPHP框架已经将list字段占用,因此在文件命名时不得

thinkphp U方法生成链接没有host

今天将自己代码传到线上服务器,页面上用到很多thinkphp U() 方法生成的链接.本地测试没啥问题,到线上发现链接生成的不对,每个都没有了host 每个链接多个index,然后查看tp的U方法: $url    =   __APP__.'/'.($module?$module.MODULE_PATHINFO_DEPR:'').implode($depr,array_reverse($var)); 是因为__APP__这里的原因,然后找到__APP__赋值的地方: define('__APP_

ThinkPHP 3.2 性能优化,实现高性能API开发

需求分析 目前的业务全站使用ThinkPHP 3.2.3,前台.后台.Cli.Api等.目前的业务API访问量数千万,后端7台PHP 5.6,平均CPU使用率20%. 测试数据 真实业务 php5.6:500 QPS php7.0:850 QPS 真实业务中减少一次Mysql查询业务或者减少一次Redis读写 php5.6:800 QPS php7.0:1250 QPS 目前优化的结果: ThinkPHP可以完整的跑在缓存中: 在不需要mysql查询时,不建立mysql连接: 不读写redis时

Thinkphp模板中函数的使用

1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数 1.1对输出模板使用php函数 {$data.name|md5} //把模板中的name变量进行md5加密 把这句话翻译成php语言: <?php echo (md5($data['name'])); ?>   1.2函数中多个参数需要调用 1.2.1将前面输出的变量当后面函数的第二个参数使用 {$

用thinkphp将网络上的图片下载到本地服务器

我用的thinkphp版本是3.2.3,这个版本的跟更早些版本的调用方法不太一样,正确的调用方法是: Demo3Controller.class <?php namespace Home\Controller; use Think\Controller; class Demo3Controller extends Controller { public function download(){ $url = "http://n.sinaimg.cn/sports/20161023/MrD2

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关