Welcome 微信登录

首页 / 网页编程 / PHP

PHP实现微信网页授权开发教程

PHP实现微信网页授权开发教程

微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openid获取用户信息;而微信网页授权可在不需要消息交互,也不需要关注的情况下获取用户的基本信息。微信网页授权时通过OAuth2.0完成的,整个过程分为三步:用户授权,获取code;根据code获取access_token【可通过refresh_token刷新获取较长有效期】通过access_token和openid获取用户信...
CodeIgniter读写分离实现方法详解

CodeIgniter读写分离实现方法详解

本文实例讲述了CodeIgniter读写分离实现方法。分享给大家供大家参考,具体如下:当前服务器只做了主从,未配置读写分离,读写分离的功能就只有交给程序来实现,这里主要谈谈Codeigniter怎么实现读写分离,并且需要满足以下两点:1、读写分离对开发应该透明。网上有方案通过手动load多个DB来实现读写分离,这样的分离跟业务关联太紧,增加了开发难度也不利于维护,我们要做的是默认读重库,写则写主库,读写分离对开发者透明2、配置简单。保留现有的配置方式,通过...
CodeIgniter视图使用注意事项

CodeIgniter视图使用注意事项

本文讲述了CodeIgniter视图使用注意事项。分享给大家供大家参考,具体如下:CI中视图即application/views/下的模版文件,模版中支持直接使用PHP,所以模版的实现没有太多好说的,说几点视图的注意事项:1、CI的视图可以在控制器中load多个视图,页面最后将这些内容组合起来后输出。这里load的动作如果交给控制器去做,需要调整模版结构时就需要调整控制器,这不太好。可以在控制器中进行封装或者直接交给视图去做,保证每个ACTION都只loa...
CodeIgniter扩展核心类实例详解

CodeIgniter扩展核心类实例详解

本文实例讲述了CodeIgniter扩展核心类的方法。分享给大家供大家参考,具体如下:CI中对核心类、辅助类和函数的扩展是相当方便的,配置文件中指定了subclass_prefix扩展前缀,默认为MY_,扩展时需要以该配置为前缀,下面整理下扩展方式。1、扩展核心类核心类位于system/core下,其中大部分类会在初始化的时候自动加载。扩展核心类的方式有两种:替换核心类和继承核心类。替换核心类当application/core目录下存在与system/co...
CodeIgniter辅助之第三方类库third_party用法分析

CodeIgniter辅助之第三方类库third_party用法分析

本文实例分析了CodeIgniter辅助之第三方类库third_party用法。分享给大家供大家参考,具体如下:third_party用来存放系统中引入的第三方类库,类库通常提供的功能比较丰富,相应的学习成本也要高些,系统中能用到功能有限,所以建议在引入类库时进行适当的封装,让系统中更方便使用,其他人使用时只需关注扩展的方法而无法关注具体的实现。以CI集成Twig模版为例吧。首先需要下载Twig类库,并放在third_party中,然后在libraries...
教你php如何实现验证码

教你php如何实现验证码

验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码。正所谓,技多不压身。而且,也可以封装成一个函数,以后使用的时候也是很方便的,当然现在未封装。现在来说说简单的纯数字验证码吧。如果是初学者,建议按照我代码的注释 //数字 一步步来。最简单的方法,还是把整个代码复制走了。新建一个captcha.php:php//10>设置sessio...
CI(CodeIgniter)模型用法实例分析

CI(CodeIgniter)模型用法实例分析

本文实例分析了CI(CodeIgniter)模型用法。分享给大家供大家参考,具体如下:MVC中的业务逻辑放在控制器中或者模型里都是不合适的,所以这里对业务逻辑进行了分离,多出一层用来处理业务逻辑,模型就只当作数据访问层,这样子模型将会变得比较轻。CI中并未通过实体对象来传参,参数的传入和返回都由开发者控制,比较灵活。很多情况下都会以数组的方式传入或者返回。模型的使用也比较简单,这里只提一下使用前想到的几个问题吧。1、既然已经有了数据访问层了,那我们就应当避...
CodeIgniter多语言实现方法详解

CodeIgniter多语言实现方法详解

本文实例分析了CodeIgniter多语言实现方法。分享给大家供大家参考,具体如下:CI应用目录下有一个language语言包目录,用来配置多种不同的语言。语言的配置位于config文件中,配置格式如下:复制代码 代码如下:$config["language"] = "english";定义语言文件language下有个空的english目录,即上面定义的系统默认语言目录,系统会从该目录加载语言包文件。如果要定义不同的语言包,如zh_cn,则创建zh_cn...
CodeIgniter钩子用法实例详解

CodeIgniter钩子用法实例详解

本文实例讲述了CodeIgniter钩子用法。分享给大家供大家参考,具体如下:CodeIgniter执行流程图中有7个椭圆的框,这表示在执行的过程中埋了7个钩子。那先来看看什么是钩子?网上找到的两段文字:钩子的完整实现应该叫事件驱动。事件驱动分为两个阶段,第一个阶段是注册事件,目的是给未来可能发生的“事件”起一个名字,简单的实现方法是用单例模式产生一个持久的对象或者注册一个全局变量,然后将事件名称,以及该事件对应的类与方法插入全局变量即可。也就是挂载一个钩...
CodeIgniter自定义控制器MY_Controller用法分析

CodeIgniter自定义控制器MY_Controller用法分析

本文实例讲述了CodeIgniter自定义控制器MY_Controller用法。分享给大家供大家参考,具体如下:Codeigniter所有的控制器都必须继承CI_Controller类,但CI_Controller类位于system目录下,不太方便修改。为方便做一些公用的处理,通常情况下我们会在core下创建MY_Controller,用来继承CI_Controller,从而项目中所有的控制器继承MY_Controller。那么,MY_Controller...
CodeIgniter控制器之业务逻辑实例分析

CodeIgniter控制器之业务逻辑实例分析

本文实例分析了CodeIgniter控制器之业务逻辑。分享给大家供大家参考,具体如下:前面分析了公用控制器按模块分发,方便对特定模块的控制,而具体的实现类则是放在library中。那放在library中是否合适呢?以及控制器中更多的业务逻辑该放在哪里?先说下对CI中几个文件夹的理解helpers、libraries: 存放一系列辅助函数、辅助类,用来辅助控制器、业务逻辑实现功能。他们中的方法应当尽量避免与CI依赖,依赖越紧越难以复用。以邮件发送为例,发送邮...
Twig模板引擎用法入门教程

Twig模板引擎用法入门教程

本文实例讲述了Twig模板引擎用法。分享给大家供大家参考,具体如下:介绍 Twig是一个灵活、高效并且安全的PHP模板引擎。如果你使用过Smarty、Django或者Jinja这类基于文本的模板引擎的话,那么你会觉得Twig是很自然而然的事情。Twig严格遵守了PHP的信念,同时增加了在模板环境中很有用的函数,这些做法使得Twig不论是对设计师还是开发人员,都是非常友好的。Twig的主要特征有: 高效:Twig将模板编译成了优化了的PHP文件,与原生的PH...
CodeIgniter配置之autoload.php自动加载用法分析

CodeIgniter配置之autoload.php自动加载用法分析

本文实例分析了CodeIgniter配置之autoload.php自动加载用法。分享给大家供大家参考,具体如下:CodeIgniter带了自动加载的功能,可以全局加载类库、模型、配置、语言包等,对于需要全局使用的功能相当方便。例如:有个全局函数写在app_helper.php中,需要全局加载这个函数,只需设置autoload.php:复制代码 代码如下:$autoload["helper"] = array("app");接下来,所有的地方都可以使用了,配...
PHP中的session安全吗?

PHP中的session安全吗?

做PHP开发这么长时间,还真没有真正关注过安全的问题,每次都是以完成项目为主,最近在网上看到了一篇关于安全的文章,看完以后才注意到自己以前的项目都存在着很大的安全漏洞,于是挑了一个项目进行了测试,发现很容易就中招儿了。在这里我会分享自己写的一个测试的例子来说明PHP中的session是如何不安全的,以及在项目中如何加强其安全性。对于session的原理机制,网上有很多好的文章来介绍,我们可以自行查阅。下面直接分享测试用的例子。这个测试的例子主要就是一个登录...
PHP中的随机性 你觉得自己幸运吗?

PHP中的随机性 你觉得自己幸运吗?

本文分析了生成用于加密的随机数的相关问题。 PHP 5没有提供一种简单的机制来生成密码学上强壮的随机数,但是PHP 7通过引入几个CSPRNG函数来解决了这个问题。一、什么是CSPRNG引用维基百科,一个密码学上安全的伪随机数发生器(Cryptographically Secure Pseudorandom Number Generator 缩写CSPRNG)是一个伪随机数生成器(PRNG),其生成的伪随机数适用于密码学算法。CSPRNG可能主要用于:密钥...
两种php实现图片上传的方法

两种php实现图片上传的方法

图片上传在项目中经常用到,几乎没有任何一个项目可以脱离图片或者是文件上传。本篇我在这向大家介绍两种常规的上传方式。(注:在这里我们仅仅是对功能的实现,不去做过多的前端的样式)一、利用form表单上传此种方式是最原始的上传方式,前端就是简单的form表单,后端我们有PHP处理传输过来的文件。首先看前端的代码 upload.html<form action="handle.php" name="form" method="post" enctype="m...
<< 571 572 573 574 575 576 577 578 579 580 >>