摘要: 项目需求访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。解决思路1:在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。具体实现我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。$refer = 'http://' . $_SERVER ['H 阅读全文
posted @ 2013-12-20 16:07 Otgs 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 1、Table方法:定义要操作的数据表名称,可以动态改变当前操作的数据表名称,需要写数据表的全名,包含前缀,可以使用别名,例如:$Model->Table('think_user user')->where('status>1')->select();$Model->table('think_blog blog,think_type type')->where('blog.typeid=type.id')->field('blog.id as id,blog.title,blog. 阅读全文
posted @ 2013-12-20 15:27 Otgs 阅读(4152) 评论(0) 推荐(0) 编辑
摘要: (2)在Core.php和Notify.php文件中添加了去掉TP的URL中的'_URL_'参数的函数。这个是必须的,否则会导致验证失败问题。具体改变为:function paraFilter改为function paraFilter($para) {$para_filter = array();while (list ($key, $val) = each ($para)) {if($key == "sign" || $key == "sign_type" || $key == '_URL_' || $val == &q 阅读全文
posted @ 2013-12-20 15:09 Otgs 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下:一、下载支付宝接口包下载地址:https://b.alipay.com/order/productDetail.htm?productId=2012111200373124&tabId=4#ps-tabinfo-hash具体如何下载,我就不在罗嗦了~~二、重新整理接口包文件,这一步应该算是比较关键的(个人认为)下载下来的接口包文件有很多语言的源码,我们选择 create_direct_pay_by_user-PHP-UTF-8 这个名称的接口文件。里面包括如下文件: 阅读全文
posted @ 2013-12-20 15:08 Otgs 阅读(248) 评论(0) 推荐(0) 编辑
摘要: PHPMailer是一个用于发送电子邮件的PHP函数包。 第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/ 第二,确认你的服务器系统已经支持socket ,通过phpinfo();查看是否支持sockets(socket 是属于PHP扩展部分),如果显现为 “enabled”,那就是支持了。 第三,把文件解压到你的web服务器目录下,调用类就可以了. 首先包含class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码: require("phpmailer/clas 阅读全文
posted @ 2013-12-20 15:06 Otgs 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 首先到数据库取数据,放到一个数组,然后把数据转化为一个树型状的数组,最后把这个树型状的数组转为html代码。也可以将第二步和第三步合为一步。详细如下:1。数据库设计:脚本如下:CREATETABLE`bg_cate`(`cate_Id`int(30)unsignedNOTNULLAUTO_INCREMENT,`cate_ParentId`int(30)unsignedDEFAULT'0',`cate_Name`varchar(100)NOTNULL,`cate_Intro`varchar(500)DEFAULTNULL,`cate_Order`int(30)unsignedDE 阅读全文
posted @ 2013-12-20 15:03 Otgs 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 外观模式:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用;外观模式又称为门面模式,它是一种对象结构型模式。模式结构:外观模式就是让client客户端以一种简单的方式来调用比较复杂的系统来完成一件事情;目的:1、为一个复杂子系统提供简单的接口2、减少客户端和子系统的耦合代码实现:示例1: 1 /** 2 3 * 外观模式 4 5 * 通过在必须的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了来自调用对象的复杂性 6 7 */ 8 9 ... 阅读全文
posted @ 2013-12-20 14:41 Otgs 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 当一个网站发展为知名网站的时候(如新浪,腾讯,网易,雅虎),网站的访问量通常都会非常大,如果使用虚拟主机的话,网站就会因为访问量过大而引起 服务器性能问题,这是很多人的烦恼,有人使用取消RSS等错误的方法来解决问题,显然是下错药,那么对于大流量的网站,需要采用什么样的方法来解决访问量 问题? 解决方法参考如下:首先,确认服务器硬件是否足够支持当前的流量。普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题。其次,优化数据库访问。服务器的负载过大,一个重要的原因是CPU负荷过大,降低服 阅读全文
posted @ 2013-12-20 14:38 Otgs 阅读(924) 评论(0) 推荐(1) 编辑
摘要: 单一入口概述单一入口的应用程序就是说用一个文件处理所有的HTTP请求,例如不管是列表页还是文章页,都是从浏览器访问index.php文件,这个文件就是这个应用程序的单一入口。打个比方,大家都要上WC,都是男生进一个门,女生进一个门,这两个门就是WC的两个入口。而现在去一个公园里面的WC,外面还有一个门,不管男女都从最外面的门进入,交了钱以后才进入里面的男厕所门或女厕所门,而这个最外面的门就是这个WC的单一入口。实现方式很简单,可以在访问index.php时限上一个特定的参数。例如index.php?action=list就是访问列表页,而index.php?action=single则访问文章 阅读全文
posted @ 2013-12-20 14:37 Otgs 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 前 些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理 解了,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实 际操作就不行了,废话就不多说了,PHP战线上的同志们都加油吧;单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其 阅读全文
posted @ 2013-12-20 14:35 Otgs 阅读(167) 评论(0) 推荐(0) 编辑
摘要: php设计模式-策略模式1.概念:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。2.组成部分:a.抽象策略角色:策略类,通常由一个接口或者抽象类实现 b.具体策略角色:包装了相关的算法和行为。c.环境角色:持有一个策略类的引用,最终给客户端调用。3.解决的问题:a.电商中运费的处理 网站邀请注册 等处理4.结构图 1 class Activity { 2 private $strategy; //用于保存策略实例 3 public $strategyName = 'DEFAULTAc... 阅读全文
posted @ 2013-12-20 14:33 Otgs 阅读(217) 评论(0) 推荐(0) 编辑
摘要: /\*\* *3.1php设计模式-观测者模式 *3.1.1概念:其实观察者模式这是一种较为容易去理解的一种模式吧,它是一种事件系统,意味着 * 这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类 * 可以收到通知并且做出相应的动作;观察者模式为您提供了避免组件之间紧密耦合的另一种方法 *3.1.2关键点: * 1.被观察者->追加观察者;->一处观察者;->满足条件时通知观察者;->观察条件 * 2.观察者 ->接受观察方法 *3.1.3缺点: *3.1.4观察者模式在P... 阅读全文
posted @ 2013-12-20 14:31 Otgs 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式;目的:消除其他对象复杂的创建过程结构图:优点:建造者模式可以很好的将一个对象的实现与相关的“业务”逻辑分离开来,从而可以在不改变事件逻辑的前提下,使增加(或改变)实现变得非常容易。缺点:建造者接口的修改会导致所有执行类的修改。以下情况应当使用建造者模式: 1、需要生成的产品对象有复杂的内部结构。 2、需要生成的产品对象的属性相互依赖,建造者模式可以强迫生成顺序。 3、在对象创建过程中会使用到系统中的一些其它对象,这些对象在产品对象的创建过程中不易得到。使用建造者模式主要有以下效果: 1、建造者模式的使 阅读全文
posted @ 2013-12-20 14:28 Otgs 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 工厂模式:由工厂类根据参数来决定创建出哪一种产品类的实例;工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类;代码实现:示例1(最基本的工厂类): 1 class MyObject { 2 3 4 5 public function __construct(){} 6 7 8 9 public function test(){10 11 return '测试';12 13 }14 15 16 17 }18 19.. 阅读全文
posted @ 2013-12-20 14:07 Otgs 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 工厂类是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使应用程序更加灵活,熟练掌握工厂模式高级PHP开发人员是很重要的。 工厂模式通常用来返回符合类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者,从而允许我们基于应用程序逻辑或者配置设置来决定应实例化哪一个类,例如,可以使用这样的提供者来扩展一个类,而不需要重构应用程序的其他部分,从而使用新的扩展后的名称 。 通常,工厂模式有一个关键的构造,根据一般原则命名为Factory的静态方法,然而这只是一种原则,工厂方法可以任意命名,这个静态还可以接受任意数据的参数,必须返 阅读全文
posted @ 2013-12-20 13:55 Otgs 阅读(450) 评论(0) 推荐(0) 编辑