随笔分类 - PHP
摘要:首先我们要知道明确单例模式这个概念,那么什么是单例模式呢?单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。下面我们讨论下为什么要使用PHP单例模式?多数 人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种”计划生育”. 而PHP每次执行完页面都是会从内存中清理掉所有的资源. 因而PHP中的单例实际每次运行都是需要重新实例化
阅读全文
摘要:voidunset(mixed$var[,mixed$var[,$...]] )unset()销毁指定的变量。注意在 PHP 3 中,unset()将返回TRUE(实际上是整型值 1),而在 PHP 4 中,unset()不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取unset()的返回值将导致解析错误。Example #1unset()示例<?php//销毁单个变量unset($foo);//销毁单个数组元素unset($bar['quux']);//销毁一个以上的变量unset($foo1,$foo2,$foo3);?>unset()在函数
阅读全文
摘要:【转自海底苍鹰tankhttp://blog.51yip.com/php/878.html】刚学php的时候,那个时候做过很多项目,做东西多,就以为自己php掌握的差不多了,随着时间的推移,越深入的学习,越觉得自己知道的真的很少,很少。哈哈,会用只是初级阶段,要了解原理是什么,这样才能更好去运用,费话不多说 传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值 传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值 说明: 传值:根copy是一样的。打个比方,我有一橦房子,我给你建筑材料,你建了一个根我的房子...
阅读全文
摘要:这里值介绍如何使用cookie与session,cookie与session之间的区别相见 http://www.cnblogs.com/mo-beifeng/archive/2011/07/13/2104884.html /*****************Cookie技术**************************/ 1、用户访问服务器,服务器返回数据设置浏览器端的cookie的值 2、就是借助客户端电脑的一个文件,来保存访问用户的信息,在访问同一个网站的各个页面都会带着些信息过去,服务器在每个页面通过这些信息,就知道是哪个用户在访问。 3、cookie是头信息,(服...
阅读全文
摘要:/*******echo********/echo—输出一个或多个字符串描述echo ( string arg1 [, string ...] )echo()实际上不是一个函数(它是一个语言结构),所以您不需要使用括号。echo()的(不同于其他一些语言构造)并不像一个功能,所以它不能总是在函数中使用。此外,如果你想传递多个参数的echo(),参数必须不被括在括号内。echo()是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如:echo $myvar1;echo 1,2,$myvar,”bold”;/*******print********/print—输出一个或多个字符串
阅读全文
摘要:使用ThinkPHP应该掌握的调试手段经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打算用ThinkPHP开发的话,那么下面一些和调试相关的方法你是应该要了解和掌握的:1、在项目配置文件里面打开调试模式DEBUG_MODE,这样能够让你发现大部分的错误原因 。可能影响验证码的输出。2、如果不想使用调试模式,可以单独开启页面Trace显示。发现很多人不想使用调试模式的原因居然是因为有页面Trace信息的输出,其实这里面有一个误区,以为调试模式就一
阅读全文
摘要:PHP框架是什么?框架思想就是提供一种可以在多个应用程序中使用的设计由于 PHP 的高度灵活、简单易用的特性,导致 PHPer 们常常陷入单调重复而令人生厌的体力活动的窘境。而这正是 PHP框架 要解决的问题。PHP框架 是一个 PHP 应用程序的半成品(框架就相当于坐凳子用的木条,毛坯房等)。框架提供了可在应用程序之间共享的可覆用的公共且一致的结构,而不仅仅是一组工具类。形象的来说,PHP框架 把 PHP 程序开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。这些框架还通过确保正确的数据
阅读全文
摘要:smarty学习指南在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计。下载Smarty文件放到你们站点中。index.php PHP代码:<?php /** * * @version $Id: index.php * @package * @author www.php100.com * @action 显示实例程序 */ include_once("./Smarty/Smarty.class.php"); //包含smarty类文件 $smarty = new Smart
阅读全文
摘要:PHP5中的魔术方法从PHP 5以后的版本,PHP中的类就可以使用魔术方法了。其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。 1、__get、__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的。 ◆__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名。 ◆__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值。 这里的没有声明包括当使用对象调用时,访问控制为protece...
阅读全文
摘要:数组与类使用PHP的可变变量名的注意有时候可变的变量名会给编程带来很大的方便。也就是说变量名可以被动态的命名和使用。通常变量通过下面这样的语句来命名 :$a = 'hello';可变变量名指的是使用一个变量的值作为这个变量的名称。在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样。$$a = 'world'; 通过上面的两个语句,有两个变量被定义:变量$a,装的内容是”hello” 以及变量$hello,装的内容是 “world”。 于是,下面的语言:echo "$a ${$a}"; 跟下面的语句的输出完
阅读全文
摘要:PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。# vi /etc/php.ini(1) PHP函数禁用找到:disable_functions =该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当PHP程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:disable_functions = phpinfo,passthru,exec,system,popen,chroot,escap
阅读全文
摘要:转自:http://blog.csdn.net/youacai/article/details/6291422一直以来我都是以php函数的风格来写php,所有变量,函数,类都使用小写,单词之间以下划线隔开,一直比较排斥驼峰式的代码规范,个人觉得在大小写字母之间的书写代码,很麻烦,而且PHP自己的函数都是小写,为什么我不用这种格式呢!良好的代码书写习惯 + 良好的注释习惯 + PhpDocumentor = 程序说明书一个团队,必须有整齐的代码书写习惯,如果再配上统一的IDE开发环境,详细的任务编码流程,完善的代码测试(如:SimpleTest),那么整个团队的开发效率将会有很大的提高。说明:
阅读全文
摘要:” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ‘ ‘ 单引号里面的不进行解释,直接输出。 从字面意思上就可以看出,单引号比双引号要快了。例如:$abc=’my name is tome’; echo $abc //结果是:my name is tom echo ‘$abc’ //结果是:$abc echo “$abc” //结果是:my name is tom 特别在使用MYSQL语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。 假设查询条件中使用的是常量,例如: select * from abc_table where user_na
阅读全文
摘要:乱码问题简单说就是数据库写入读取,网页文件,网页显示时几个环节的编码不一致造成的。乱码问题写入时:页面提取写入数据编码和写入数据库时编码不一致读取时:读取后所用编码与数据库写入时不一致显示时:编码与数据库读取后的数据不一致很显然只有三者都统一才行:(以utf-8为例)1:页面提交数据编码header('Content-type: text/html; charset=utf-8');),2:数据库写入时编码:alter database db default character set ‘utf8’collate ‘utf8-general-ci’,3:数据库读取时所用编码:m
阅读全文
摘要:++如何设 置请求等待时间在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。++如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔++如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2....
阅读全文
摘要:转载:http://blog.csdn.net/youacai/article/details/6237146这只是一部分,欢迎补充!● 我喜欢「式」:constructor 建构式/构造declaration 宣告式definition 定义式destructor 解构式/析构expression 算式(运算式)function 函式/方法pattern 范式、模式、样式program 程式signature 标记式(签名式/署名式)● 我喜欢「件」:(这是个弹性非常大的可组合字)assembly (装)配件component 组件construct 构件control 控件event 事件
阅读全文
摘要:PEAR:使用PHPDoc轻松建立你的PEAR文档潘凡(nightsailer@hotmail.com), 工程师, 北京赛迪数据有限公司简介:对于一个开发人员,文档总是最感到头疼的事情之一。而且,很可能你对待文档会采取截然不同的2种态度:当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些生涩的代码的时候。当写你自己的程序的时候,最不希望做的事情却是给它编写专门的技术文档,你会以种种理由给自己开脱:我的代码已经足够清晰了,完全不用再为它重新编写文档了……也许是为了缓解这种矛盾,有很多工具可以帮助你,通过从源代码中抽取相应的注释,可以自动生成相
阅读全文
摘要:一、php学习笔记之--php基本语法二、php学习笔记之--php变量与常量三、php学习笔记之--php运算符与表达式四、php学习笔记之--php流程控制分支、循环结构五、php学习笔记之--数组的应用与处理函数六、php学习笔记之--函数的声明与应用七、php学习笔记之--对象在内存中的分配八、php学习笔记之--面向对象的构造与析构方法九、php学习笔记之--封装性十、php学习笔记之--继承十一、php学习笔记之--抽象类、接口与多态十二、php学习笔记之--面向对象常用关键字与魔术方法十三、PHP中实现基于session和Cookie的会话控制
阅读全文
摘要:对像在PHP 里面和整型、浮点型一样,也是一种数据类,都是存储不同类型数据用的,在运行的时候都要加载到内存中去用,那么对象在内存里面是怎么体现的呢?内存从逻辑上说大体上是分为4 段,栈空间段、堆空间段、代码段、初始化静态段,程序里面不同的声明放在不同的内存段里面,数据段(data segment)通常是指用来存放程序中已初始化且不为0的全局变量如:静态变量和常量;代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域,比如函数和方法;栈空间段是存储占用相同空间长度并且占用空间小的数据类型的地方,比如说整型1,10,100,1000,10...
阅读全文
摘要:23 Aug 09深入理解PHP之数组(遍历顺序)作者:Laruence()本文地址:http://www.laruence.com/2009/08/23/1065.html转载请注明出处经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢?比如<?php$arr['laruence'] = 'huixinchen';$arr['yahoo'] = 2007;$arr['baidu'] = 2008;foreach ($arr as $key => $val) {//
阅读全文