php
instancegameto
学习就是由点到面的一个过程
展开
-
laravel安装
第一步:安装composer 下载地址:http://www.phpcomposer.com/ 第二步:安装laravel 若出现如下错误提示:[Composer\Downloader\TransportException] Content-Length mismatch以如下方式切换回国内镜像地址即可:d:\phpStudy\WWWcomposer config -g repo.pac原创 2017-07-12 14:25:54 · 365 阅读 · 0 评论 -
提高php代码质量 36计
1.不要使用相对路径常常会看到:?1require_once('../../lib/some_class.php');该方法有很多缺点:它首先查找指定的php包含路径, 然后查找当前目录.因此会检查过多路径.如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了.因此最佳选择是使用绝对路径:?1234define...转载 2018-03-30 14:59:25 · 213 阅读 · 0 评论 -
php——XDebug配置和使用
1.下载XDebug扩展下载地址:https://xdebug.org/download.php 根据自己的php环境下载对应的版本2.配置php.ini//加载xdebugzend_extension ="D:\upupw5\PHP5\ext\php_xdebug.dll" xdebug.collect_params = 1xdebug.collect_return ...原创 2018-03-06 16:15:07 · 404 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(8)——加载器Loader.php
Loader加载器是基于ci框架项目开发中用的最广泛的组件之一,它让开发者能够非常方便的加载model,library,config等类和文件。 相信熟悉的CI的朋友都知道autoload这个配置文件吧,只要把需要加载的model,libray,driver,helper,config等配置到相应的参数中,就可以实现自动加载,这个自动加载的奥秘就在Loader.php中1.自动加载自...原创 2018-03-19 18:15:21 · 284 阅读 · 0 评论 -
php缓冲机制
http://blog.csdn.net/soonfly/article/details/52105533原创 2018-03-12 14:51:18 · 167 阅读 · 0 评论 -
php安全register_globals
register_globals选项会影响到php如何接收传递过来的请求参数 例如<from action='' method='get' ><input name='nike' value='小王'><input name='sex' value='男'></from><?php echo 'nike:'.$nike; echo '<br>sex:'.$sex;原创 2018-01-18 21:28:38 · 303 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(7)——路由类Router.php
CI框架能根据URL地址路由到正确的控制器和方法,主要是靠URI和Router这两个组件,URI组件对URL地址所携带的参数进行分段,Router组件再根据URI解析出来的分段参数找到对应的控制器,方法,及调用方法所需的参数,并且Router还能通过正则表达式自定义路由方式。 在阅读路由组件的源码时,我们需要思考以下几个问题: 1.Router是怎样根据URI的分段参数找到对应的类和方法? 2原创 2018-02-28 16:15:06 · 673 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(6)——地址解析类URI.php
URI类的作用主要是处理地址字符串,将URI分成对应的片段保存到segments,路由类也主要是通过segments数组来获取上下文中的URI请求信息 在阅读这段源码的时候,我们主要关心的问题有 1.URI类是如何将地址字符串解析成对应片段? 2.解析后的对应片段保存到变量中是怎样的数据结构?1.__construct()构造函数URI类在初始化的时候就会对地址进行解析,构...原创 2018-02-26 17:56:07 · 214 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(5)——钩子Hooks.php
1.钩子是什么钩子是一种事件驱动模式。既然是事件驱动,那么必然要包含最重要的两个步骤: (1)、事件注册。对于Hook而言,就是指Hook钩子的挂载。(2).事件触发。在特定的时间点call特定的钩子,执行相应的钩子程序。既然是事件驱动,那么也应该支持统一挂钩点的多个注册事件。启动Hook钩子之后,程序的流程可能会发生变化,且钩子之间可能有相互调用的可能性,如果处理不当,会有死循环的可原创 2018-01-09 14:54:48 · 351 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(4)——性能测试Benchmark.php
为什么要有Benchmark组件?对于一个项目而言,不仅是要运行起来那么简单,还需要考到性能问题,而Benchmark组件可以帮助开发者监控程序运行时间运行内存,这就让开发者可以知道具体优化哪些地方。Benchmark可以收集哪些数据?Benchmark.php只有三个函数:mark($name)elapsed_time($point1 = '', $point2 =原创 2018-01-08 16:52:05 · 313 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(2)——框架核心CodeIgniter.php
1.概述CodeIgniter.php是整个框架的核心文件,这个文件的官方注释是/** * System Initialization File * 系统初始化文件 * Loads the base classes and executes the request. * 加载基础类并执行请求 */CodeIgniter除了加载系统核心类,还要将客户端的请求传递到对应的控制器中,并且要将控制原创 2017-12-27 18:08:37 · 358 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(3)——公共函数Common.php
1.概述Common中声明了很多常用操作的功能函数,在Codeigniter.php中记载了Common.php,所以这个文件是全局调用的。1、Common提供了哪些功能函数呢?is_php:判断php版本 function is_php($version) { //注意这里没有直接返回true或者false,而是将比较结果放在静态变量is原创 2018-01-02 17:25:26 · 301 阅读 · 0 评论 -
两种跨站攻击方式——XSS和CSRF
1.概述XSS:跨站脚本攻击,攻击者往web中嵌入脚本代码,用户在浏览该网页时,脚本就会执行,从而实现攻击的目的。 csrf:跨站伪造请求,攻击者伪装成受信任用户,来利用受信任网站。2.原理2.1 XSS原理如今的大部分网站都有用户留言或反馈消息的功能,这些本来为了增强用户体验的功能,如果安全等级不够,攻击者就可以通过输入框向网页嵌入恶意脚本代码,轻则盗取用户信息,严重的可能直接导致网站崩溃。举一原创 2017-12-14 17:46:03 · 576 阅读 · 0 评论 -
PSR-1规范
PSR-11.文件1.1、php标签php代码必须使用<?php ?>长标签 或 <?= ?>短输出标签, 不可使用其他自定义标签1.2、php编码php代码必须且只使用不带bom的utf-8编码1.3、副作用副作用包含但不限于:1.生成输出2.直接的include和require3.连接外部服务4.修改ini操作5.抛出错误和异常一个php文件中要不就只定义新的声明,如类,函数,常量等不原创 2017-12-04 22:26:24 · 235 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(1)——框架入口index.php
熟悉CI的朋友应该都记得这个应用程序流程图吧,当接收到一个http请求时,由index.php初始化运行CodeIgniter所需的资源,Routing检查请求确定如何处理,如果存在缓存就直接输出,若不存在缓存,对用户提交的数据进行安全检查,检查通过,加载对应控制器,控制器加载模型,类库等处理请求所需的资源,处理完成之后,将渲染的视图传给浏览器,如果有开启缓存,则将视图缓存。至此,整套流程就走完了。原创 2017-11-30 14:34:01 · 884 阅读 · 0 评论 -
CodeIgniter源码阅读笔记(9)——输出组件Output.php
Output组件负责向浏览器发送最终输出,是ci框架中使用非常广泛的一个组件,在之前的几篇源码阅读中,也使用到了这个组件,例如:load->view() 在阅读输出组件源码的时候,我们主要关注以下几个问题:Output是如何输出页面的,在最终输出的之前做了哪些处理?页面缓存是怎么实现的?带着以上几个问题我们开始来阅读它的源码吧。1.构造函数 public function __cons原创 2018-03-27 17:46:18 · 233 阅读 · 0 评论