Welcome 微信登录

首页 / 网页编程 / PHP

解析thinkphp import 文件内容变量失效的问题

解析thinkphp import 文件内容变量失效的问题

用TP 集成支付宝账户绑定功能时碰上个问题ORM 下有文件 config.class.php直接import()后 发现里面的变量无法使用 但确实是加载咯。。(在config.class.php输出内容成功)思考百度了半天。。原来一直知道 JS 作用域 忽略了 PHP 函数也有作用域的- -具体原理:复制代码 代码如下:<?phpclass b{ function test(){ myImport("a.php"); $testClass = new...
解析thinkphp中的导入文件标签

解析thinkphp中的导入文件标签

第一个是import标签 ,导入方式采用类似ThinkPHP的import函数的命名空间方式,例如:import标签(采用命名空间方式引入资源文件)闭合闭合标签属性file(必须):要引入的资源文件,支持变量type(可选):引入的资源文件类型,默认为js,支持js css和phpbasepath(可选):命名空间的基础路径示例:<import type="js" file="Js.Util.Array" />Type属性默认是js, 所以下面...
PHP 解决session死锁的方法

PHP 解决session死锁的方法

今天在开发碰到个棘手的问题 。当异步请求后台处理一个大数据量操作时 请求其他控制器都没返回信息了。。起初以为是Ext 框架设置了ajax同步造成的。后来发现时session 死锁造成其他控制器在等待session 完成后才能操作。(主要是用户登录判断需要更新session)当PHP 处理大数据量操作时 不能及时操作完成 这时候又有访问其他控制器或者异步请求时候会造成session 死锁现象和同事探讨了下 可使用 session_write_close() ...
解析Linux下Varnish缓存的配置优化

解析Linux下Varnish缓存的配置优化

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。但与老牌的squid相比,各有各的优劣势,网上大量的相对比较只是在其个人对自己熟悉的应用的最大使用上的发挥而已,可能squid到了有能力的人手上才足以发挥最强大的威力Varnish采用了“Visual Page Cache”技术,在内存的利用上,Varnish比Squid具有优势,它避免了Squi...
解析thinkphp的左右值无限分类

解析thinkphp的左右值无限分类

以前一直使用父子无限分类,这种分类结构清晰,使用也简单。但若分类数量很大的话,在查询上性能不佳。比如在做导航菜单中,我要根据某一分类查询出整个分类树的话(祖辈)。性能消耗是非常大的,要么做递归,要么做多次查询。故,对于分类的数据量很大的情况,我推荐使用左右值,以减少查询上的麻烦。复制代码 代码如下:_id /** +---------------------------------------------------------- * 构造函数 * @ac...
解析左右值无限分类的实现算法

解析左右值无限分类的实现算法

一、引言产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下:层级结构的数据保存在平面的数据库中基本上有两种常用设计方法: *...
解析PHP无限级分类方法及代码

解析PHP无限级分类方法及代码

无论你要构建自己的论坛,在你的网站上发布消息还是书写自己的CMS程序,你都会遇到要在数据库中存储层次数据的情况。同时,除非你使用一种像XML的数据库,否则关系数据库中的表都不是层次结构的,他们只是一个平坦的列表。所以你必须找到一种把层次数据库转化的方法。存储树形结构是一个很常见的问题,他有好几种解决方案。主要有两种方法:邻接列表模型和改进前序遍历树算法在本文中,我们将探讨这两种保存层次数据的方法。我将举一个在线食品店树形图的例子。这个食品店通过类别、颜色和...
浅析PHP 按位与或 (^ 、&)

浅析PHP 按位与或 (^ 、&amp;)

今天朋友群里朋友问了下 按位与或的问题。。PHP 工作有1年了 可能对这块不太熟悉吧 在这里给新手朋友介绍下这部分按位于主要是对二进制数操作。复制代码 代码如下:<?php$a = 1;$b = 2;$c = $a^b;echo $c // 3?>这里不是单纯的相加关系 十进制 1换算成二进制 00000001 十进制 2换算成二进制 00000010 按位^ 00000011 // 就是不相同的都算成1 啦 ^_^ 然后,复制代码 代码如下...
关于PHP堆栈与列队的学习

关于PHP堆栈与列队的学习

在PHP中数组常被当作堆栈(后进先出:LIFO)与队列(先进先出:FIFO)结构来使用。PHP提供了一组函数可以用于push与pop(堆栈)还有shift与unshift(队列)来操作数组元素。堆栈与列队在实践中应用非常广泛。我们可以先看下堆栈:复制代码 代码如下:<?php $arr = array(); array_push($arr,"aaa"); array_push($arr,"bbb"); $arr.pop(); print_r($arr...
<< 311 312 313 314 315 316 317 318 319 320 >>