
PHP
文章平均质量分 65
宇宙第一帅
技术成就梦想
展开
-
我对于调用对象和基本变量类型内存的运行机制理解
在学习php的过程中,才发现这么一个问题: 函数好对象的调用所产生的结果类型是不同的,或者说,在内存里面的操作是不同的,下面是我的php的实例代码: <?phpclass Classmate{ //【1】 public $num1=1; public $num2=2; public $num3=3; } ///如果参数是对象,那么传递的是对象的地址 fu原创 2015-02-18 15:02:40 · 627 阅读 · 0 评论 -
超全局变量数组get post requerst resver的使用规则
超全局变量数组的概念不同于全局变量,这里我主要说的是用来接收信息用的。其实在以往已经大量使用了首先:get数组,速度较好,但是相对不是很安全。post数组,可以接收大的数据量,较安全,最常用。request数组,可以接收get和post的数据,但是最不建议,不安全。resver数组,这是现实客户端信息用的,并不用来接收数据。下面是代码实例: 测试原创 2015-03-12 14:58:56 · 1216 阅读 · 0 评论 -
Model-1模式的分页逻辑
在做项目的时候需要一个分页的功能,感觉还是需要的蛮多的,所以在Model-1的模式下,对分页逻辑的设计相对还是比较简单的。需要注意的方面是:1;接收用户的输入,建议同一种提交方法。 2:建议数据的接口用同一个,便于管理 3:逻辑的处理一定要合理。 4:采用分层的思想方法更有利于开发。下面是分页逻辑的具体代码:<?php $conn=mysql_con原创 2015-03-13 14:30:24 · 648 阅读 · 0 评论 -
ThinkPHP的路径模式以及程序运行路线
application这个目录可以说是我们把TP框架建立好了之后,使用此时最多的目录,因为最为重要的模型,控制器,视图,都是在这个里面的,当然应用程序也可以不知一个,但是一般的情况下,我们可以用多模块的额方式进行解决,这个也是官方较为推荐的。原创 2015-04-22 17:32:19 · 1915 阅读 · 0 评论 -
ThinkPHP中的MVC开发模式理解一
MVC这三个字母不愧博大精深,当我自以为要马上攻破php最后一道难关的时候,那时候的我好想就想错了,当我研究了一个半月之后,竟然发现其思想是那么的难以理解,直到现在我也不得不承认我只是对这个思想的认识只是一个皮毛,对于很底层的东西还是不太理解,还有别的要说的,但先说一下我对MVC的理解:其实MVC并不是一个什么语法或者算法,只是一个开发模式,说道开发模式,我所知道的有传统的MODEL模式,即过原创 2015-04-26 16:29:53 · 3526 阅读 · 0 评论 -
ThinkPHP框架基础回顾
首先,我们必须要知道的就是目录结构: 我们把解压完成之后会出现以下的目录:这是tp官方的手册目录解释,我们可以先不要去看其他的文件,这里,我们主要用到的就是php的核心库ThinkPHP框架目录:然后在这个非常主要的目录下面,又有如下的文件目录对我们是同样的重要:这个就是tp的核心目录了,接下来就是关于入口文件了,显而易见,这个入口文件就比ze原创 2015-04-21 19:05:36 · 713 阅读 · 0 评论 -
ThinkPHP的自定义常量和系统常量的使用
常量我们都知道就是定义好一个不变的量,在php中常量的定义规则是define("常量名",“常量值”);即在所有的页面中就就可以去使用这个常量单纯的定义几个常量没有任何意义,重要的是要去使用常量区优化代码,我所说优化代码就是提高代码的可维护性,有时候还起到简化代码的作用,但这绝对不是主要的目的。在传统的代码书写中,我们就采用的是直接书写的方式,比如url地址等,这些东西虽然说直接去些可以去原创 2015-04-26 20:26:24 · 5092 阅读 · 0 评论 -
ThinkPHP完成对数据的添加以及表单数据的收集
数据添加分两种方式,一种是数组的方式,另一种是使用AR的方式添加,其实这两种方式添加的方式是相同的,就是一个规范的不同而已,所谓AR,就是://一个数据模型代表一张表。//一个对象代表一条数据。//一个字段代表一个对象的属性这样也符合传统的思维习惯,下面是数据模拟添加的实例代码: $temp=D('User'); // $arr=array('id'=>11,'nam原创 2015-04-29 19:01:57 · 1642 阅读 · 0 评论 -
ThinkPHP整合Smarty模板引擎的使用以及查询方法汇总
其实说到整合smarty我们根本就没有作什么,要做的主要还是对于模板分配各种变量的使用,这才是重点,其次还有一些配置信息要自己去填写;先说一下配置,同样的,在主目录的common下面的config文件,把配置信息写入里面就可以了,其中主要有下面一下的配置信息。'TMPL_ENGINE_TYPE' => 'Smarty',//'TMPL_L_DELIM' =>原创 2015-04-29 18:29:31 · 1282 阅读 · 0 评论 -
Thinkphp的A,R,M,D方法区别
在Thinkphp中,实例化对象有这么几种方法,如果是类,有A和R方法,区别是A方法只是对象的实例化,而R方法是可以同时实例化对象里面的方法的,这里需要去指定,如下面的实例代码:<?phpnamespace Admin\Controller;use Think\Controller;class GoodsController extends Controller{ public fu原创 2015-04-28 20:08:34 · 1518 阅读 · 0 评论 -
ThinkPHP实现在可视化后台管理永久修改前端视图页面的方法
我一直以来就在纳闷意见事情,就是像csdn一样,用户可以自己去修改自己的主页样式,而且是永久性的修改,很多的地方都请到了,把视图样式交给用户这也是未来发展的趋势,想QQ空间装扮,甚至一些建站程序的后台都是这样的,所以,把这个原理明白是非常重要的。首先这个显然不可能通过前端的来实现,因为前段的东西到用户那里最终是放到内存里面,内存是有易失性,那么就应该是放在后台,同样的,我们也不可能去直接修改后原创 2015-05-07 09:25:34 · 5589 阅读 · 0 评论 -
对B/S架构系统的安全性认识
摘要:网络安全在我们的生活中变得越来越重要,因为我们使用网络的平率越来越高,用户的要求和功能的提升也越来越高,所以,在一个危险的网络环境中去适应去预防危险的发生,防止信息被窃取,破坏和使用,下面我结合自己的实际开发以及对自己在学习网络安全的过程中的学习谈一下自己的认识。 关键词:B/S架构 信息安全 开发 攻防 正文: 由于我本人是主要往网站后台方面发展的,主要研究php开发,所以关于安全的讨原创 2015-05-18 13:20:52 · 4212 阅读 · 0 评论 -
ThinkPHP之文件上传
在项目当中,我们有的时候需要上传图片的功能,简单的从面相过程的方法是相对较为复杂的,要一步一步的来,如果用框架的话,相对就简单了许多,主要就是方法以及每一个变量所代表的意义,然后就是一些注意的地方了。 首先,从视图页面说起,要先做好文件的上传表单控件,这里我就出现了一个错误,没有加上文件的特有属性而导致控制器取不到文件,如下所示一个简单的界面:<!DOCTYPE html PUBLIC "-//W原创 2015-06-02 20:14:28 · 1154 阅读 · 0 评论 -
用Thinphp发送电子邮件的方法
好长时间没有动php了,突然想用thinkphp发送电子邮件,但是查阅了书籍都写的很乱,没有继续看下去,这里找到了一个比较好的方法:第一步:首先我们要引入一个外部类库:Mail.class.php把它放到ORG的目录下(就是thinkphp的核心目录那一块,如果还不明白,见下图):原创 2015-06-27 15:52:22 · 1238 阅读 · 0 评论 -
基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用
我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也可以去判断地理位置并且显示天气信息,我们可能会想到用ip去判断地理位置,的确是这样,但是,如果想自己一样完全的开发,确实有一点麻烦,所以这里简单的说一下这个应用的业务逻辑(以用户第一次打开页面为起点):1:获取ip:ip按照我自己的说法有两种,一种是独立ip,真实存在,原创 2015-07-01 09:31:26 · 1771 阅读 · 0 评论 -
ThinkPHP以jquery传送json数据格式的方式实现ajax请求
在之前我这里是失败过很多次的,有的时候甚至不得不采用get的传送方式,另外,thinkphp自带的ajax->return方法并不能够解决问题,而且会让问题变得更加复杂,与其不如直接使用jquery的方法,全部采用post提交的方式,get提交是没有任何的问题的,但是post提交问题就一个接一个。我就一直纳闷,为什么在但一脱离框架的页面就能够畅通无阻,这个问题非常的棘手。研究了好长时间终于发现问题所原创 2015-06-28 19:59:24 · 2718 阅读 · 1 评论 -
Mysqli的预编译机制处理批量数据过程
mysqli增强,还有一部分是对事物处理机制和预编译机制的增加,其实这两者都是为安全和执行效率着想的,这里主要说一下mysqli的预编译机制。所谓的预编译,并不是在php的内核进行编译,而是数据库管理系统进行预编译,由于用于批量数据,说白了就是把一部分固定的数据格式先在mysql上面进行一次编译,编译之后就不在对其进行再次编译,我们要做的就是,向编译的占位符(就是数据占位)添加数据,之后发送,原创 2015-03-12 09:26:38 · 1634 阅读 · 0 评论 -
php框架zend framewor学习之旅
php的mvc框架有很多,如zend Framework ,think php,yii等,相比功能的强大,zend应该是首选的,其次zend是官方框架,在公司的面试中也是被优先考虑的,虽然在中国think应用的比较多点,单功能相比zend较低,还有就可可维护性较低,在学习zend中,肯定会遇到很大的难度。mvc就是一种思想,具体的怎么做,是有我们自己去决定,然而,思想理解起来可能容易,但实际的原创 2015-03-26 14:37:08 · 989 阅读 · 0 评论 -
XML编程之dtd
dtd说白了就是对XML的一个语法规范,不仅仅是XML,其它的语言也有dtd,如html,java等,准确的说,是作为一种语言的约束。对于dtd,如果说深入的研究,短时间内学好几乎是不可能的,因为他涉及到太多的底层东西。所以,我把学习主要中心放到使用开放上。下面是写的一段简单的dtd文件插入指令:也可以用JavaScript的方式进行XML验证。 va原创 2015-03-20 20:21:01 · 537 阅读 · 0 评论 -
静态变量中的两种两种取出方式self和对象取值
在我们的很多时候,可能会用到静态变量,如统计随时可变的量,尽管也可以使用global(全局变量),但是这样容易破坏类的结构性,所以,使用静态变量来表示或则控制可变的量,也可以理解为共享的量,下面是我对静态变量取出的的两种方式特点认识:1:首先,经过测试,静态变量是可以脱离对象而存在的,准确的说,静态变量是属于类的。2:在类内有self和对象取值两种方式,在类外,只有对象取值这一种方式。原创 2015-02-23 14:17:09 · 1695 阅读 · 0 评论 -
接口的使用和规则
不同于继承的方法,使用接口的特点就是“高内聚,低耦合”的特点,就是说把不同类的同种方法因实现方式不同而定义的内容,这样做的有点就是可以更加清楚的进行维护。但是,接口的使用需要很多需要注意的地方:1:接口是绝对不能够实例化的。2:一个类可以定义多个接口。3:一旦定义接口就必须去在连接接口的类里面去实现它。4:如果定义接口的变量,那么变量就必须是常量。5:接口就是为了我们定义规范而原创 2015-02-24 21:53:55 · 985 阅读 · 0 评论 -
异常与错误的处理
处理异常在开发php是比较重要的,应为我们不可能完全预知所有的结果,这可以是一种比较缓和的方式,判断错误的方式可以是利用系统定义如使用die(),也可以是自己定义,这里主要还是要说一下自定义错误处理机制。1:首先要自己定义函数,这个可以根据情况自己而定。2:然后改变系统错误处理机制。主要就是这两部,就可以完成了。下面是基础代码:<? function my_error($errn原创 2015-02-25 17:31:45 · 888 阅读 · 1 评论 -
面向对象的多态性的探究以及魔术方法的使用
php中的多态性,相对于封装和继承的特点稍微有一些复杂,我感觉多态性是建立在函数的重载之上的为了简洁表达,把他们写到了下面的代码里面:<?php class FunctionRepeat{ public function __construct(){ echo __CLASS__.""; //显示当前行所在的类名 } public function Myfunction原创 2015-02-23 21:41:35 · 515 阅读 · 0 评论 -
PHP中继承的特点和规则总结
在学习继承的过程中,感觉学习的比较乱,但是,最后学习下来,感觉也不是太乱,主要就是修饰符的访问权限问题,这里根据我的理解,觉得不太适合用表格来表示显示出来,那么我把在继承的特点来总结出来,便于记忆和理解-----注意:仅仅针对PHP:1:子类可以访问父类的公开和保护属性,反之,访问私有则不可以。2:子类最多只能继承一个父类,而父类可以有多个子类。3:子类不会继承父类的析构函数;4:原创 2015-02-23 18:25:59 · 3027 阅读 · 0 评论 -
设置文件下载页面的代码时下载后的数据出现数据错误的错误原因和解决办法
其实,这不能算一个标准的错误,但是,这个错误让我弄了一下午也没有弄出来,问题是这样的:当我在php的页面设置下载的代码完成之后,总的看,代码并没有任何问题,但是,当我在实际下载的时候,单独把文件打开,则数据错误,在这个问题出现之后,我看了一下图片文件的代码和文件大小,发现比实际文件大了一些,对比代码,发现有些许不同,要说修改那就根本不能,所以,我就在代码里面继续找问题,这样找了一下午,也没有找到什原创 2015-02-26 17:37:56 · 1824 阅读 · 0 评论 -
关于二进制的原码,反码和补码的问题初步理解
在二进制里面,表现二进制有三种形式:1,:原码 2:反码3:补码1:原码:就是二进制的最原始的表现,例如十进制的-2转化为二进制可以表示为10000000 00000000 00000000 00000010;(一个int有4个字节,每个字节有8个位,从而写成这样)。2:反码:就是在原码的前提下,除了符号位(从左往右第一位)不变,其余的位按位取反,如上面的可以表示为:11111111原创 2015-02-16 15:39:12 · 856 阅读 · 0 评论 -
SESSION的CRUD操作
SESSION与COOKIE的不同之处首先是,cookie的文件是保存在客户端的,而session是保存在服务器的,相比而言,为了提高一定的安全性,session更具有优势。因为session在服务器端一般情况是服务器的管理人员管理的,但cookie是在客户端的保存,任何人都可以看的,如果不指定,密码也是明文保存,安全性显而易见。而且session相对来说更强大一些,可以保存数组,甚至对象原创 2015-03-19 08:27:09 · 726 阅读 · 0 评论 -
cookie的创建和使用
Cookie在实际的开发中用的比较多的,在学习Cookie的时候,让我郁闷的是,Cookie的文件不可以让自己找到的,即便到了那个对应的文件夹,也不会找到,我觉得这是一种操作系统的安全机制吧,毕竟Cookie存放的东西想当重要!其实Cookie并没有什么学习的难度,仅仅是数据的保存和取出,而且是基于客户端保存的,知道参数的意思和具体的接收等一般就搞定了。首先是保存:有这么一条语句就行了:原创 2015-03-16 21:00:30 · 2922 阅读 · 0 评论 -
JQuery整合Ajax的方式及应用
JQuery作为一个JavaScript的一个类库,不仅体积小,而且强大,这在之前的所有测试中都是知道的,而Ajax这一个技术又是在提高用户的体验方面是必不可少的,以前,我们都知道,用JavaScript纯粹的手写Ajax的复杂度相对是很大的,要建立Ajax对象,定义发送方式,确定回调函数,输送数据,服务器返回给Ajax,Ajax再应用到当前页面,只是说一下流程,感觉就很麻烦,但是,但我用JQue原创 2015-03-25 16:01:56 · 969 阅读 · 0 评论 -
php中的绘图技术要点及应用总结
绘图属于php的高级部分,而且在实际的应用开发的过程中也是比较实用,在很多地方都可以看到技术的应用,如统计资料,折线,柱状等实时更新的图等,不可能通过纯美工的方法来实现,因为数据呈现着不可确定性,在一般的开发条件下,数据的获取是来自于服务器的,然而我们要根据这些数据进行友好的表示出来,即图形化的方式,在没有学习绘图技术之前是很难实现的,难度之处在于“变化”,所以,可以利用变量的方式来改变视图成为解原创 2015-03-20 14:19:03 · 1167 阅读 · 0 评论 -
php绘图应用之验证码
在绘图里面,就像之前所说的,php的绘图是真正动态绘图,虽然自己承认会出的图是很不好看的,但我们主要关注的应该还是数据处理。验证码我们几乎无处不见,它的产生和绘图技术是密不可分的,其实,简单的验证码绘制出来是很简单的,就像下面的一段代码就可以绘制出包含字母和数字的元素:<?php $checkCode=""; for($i=0; $i<=3;$i++){ $checkCode.=d原创 2015-03-20 17:46:20 · 852 阅读 · 0 评论 -
在线词典查询系统
做这个“在线词典查询系统”,起初感觉比较难,一方面是数据库的庞大,另一方面是知识面的广度,几乎用上了所有的知识,要是界面和体验度好的话还必须要用到ajax,但是,在这里为了简化过程,突出后台业务逻辑,数据库数据采用了小部分的模拟数据,没有进行界面优化,所以,在研究起来也就降低了代码的复杂度。所谓的在线词典查询,就是接收到用户的查询数据,由服务器执行去数据库去找到数据并且返回给客户端的过程,虽然原创 2015-03-10 10:53:06 · 1612 阅读 · 0 评论 -
乱码未死,还是要继续努力。。。
本来以为自己对乱码的问题处理已经做得比较好了,但是,在我的这一天中,给了我沉重的一棒,让我痛苦不堪,无地自容。。。。。我这里所说的乱码,并不仅仅完全是字符编码,还有关于这狗血的操作系统和权限配置。首先,问题的过程是这样的:由于我在使用mysqli扩展库的过程中,出现了不识别中文的问题,起初我觉得这是一个小问题,但是,是我想错了,当我设置好了几乎完美的字符编码的时候,问题依然没有解决,我也知原创 2015-03-10 21:42:20 · 794 阅读 · 0 评论 -
自定义php开发环境搭建以及两种方式的比较总结
php的开发环境搭建有两种,一种是自定义的方式,另一种是集成安装包的方式,后一个的难度要比第一个的搭建难度小的很多,就是直接安装的方式,具体的配置信息已经由别人处理好了,但是,第二种利用集成方式的却有着很大的诟病:1:第一是,版本无法得到充分的更新,导致环境老化,以前觉得版本的新老和开发没有太大的关系,但后来才发现,老版本对于新生的流行技术支持力度是远远不够的,如php低于5.2的版本对于ze原创 2015-03-28 14:38:22 · 2194 阅读 · 0 评论 -
使用php的curl爬取登陆后的信息
<?php//1:curl初始化 $ch = curl_init();//2:设置post数据 $data = array ( 'post_xuehao' => '13110572068');//3:设置请求的url curl_setopt($ch, CURLOPT_URL, "http://210.44.176.116/cjcx/xhcx_list.php"原创 2016-01-24 15:27:34 · 1394 阅读 · 0 评论