自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

倾城之恋----PHP的专栏

一直专注PHP,linux,java,Android研究学习的爱好者,

  • 博客(37)
  • 收藏
  • 关注

转载 MYSQL 优化常用方法

1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样

2015-04-25 09:53:14 349

转载 超级全面的PHP面试题整理集合第1/2页

1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)   2、echo(),print(),print_r()的区别(3分)   3、能够使HTML和PHP分离开使用的模板(1分)   4、使用哪些工具进行版本控制?(1分)   5、如何实现字符串翻转?(3分)   --------------------------------

2015-04-25 09:49:32 406

转载 用PHP解决的一个栈的面试题

前言遇到一道面试题,题目大概意思如下:使用两个普通栈实现一个特殊栈,使得pop、push、min三个函数的都是复杂度为O(1)的操作,min函数是获得当前栈的最小值。初步想法1.要实现min函数为(1)操作,当时第一想法是事先需要算好当前最小值,于是会想到用一个值来保存当前栈中最小值元素,然后push和pop操作的时候维护这个值。这样min,push都是O(1)了,但pop可不是,

2015-04-25 09:48:03 420

原创 初学 Java Web 开发,请远离各种框架,从 Servlet 开发

OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目。 Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践。很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处理有关,形成一个基础,在开发别的应用项目的时候则可以从这个剥离出来的基础做起,让开发者更关注更具体的业务问题,而不是Web的请求和响应的控制。 框架很多,但套路基

2014-11-16 16:25:43 389 1

转载 SQL优化

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.

2014-11-13 20:26:38 321

原创 百度web开发面试题

2007-11-07百度笔试题(web开发和新产品搜索方向) 第一部分:1.解释下面语句的意思:document.form["formName"].submit;2.有下面语句:编写代码,当鼠标划过文本框,自动选中文本框中的内容。3.将字符09转换成十进制数字。4.将1234567890转换成1,234,567,890 每3位用逗号隔开的形式。5.关

2014-11-13 20:18:06 623

原创 php高级面试题

1.nginx使用哪种网络协议? nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http fastcgi负责调度进程 2. 没有输出结果, 可能是什么原因, 简述的解决此问题的过程(提示: 语法没有问题) 可能服务器上面没有开启短标签short_open_tag =设置为Off,,php.ini开启短标签控制参数: short_op

2014-11-13 20:16:40 2337

原创 php面试题

1、如何实现PHP、JSP交互?  答:题目有点含糊不清,SOAP,XML_RPC,Socket function,CURL都可以实现这些,如果是考PHP和Java的整合,PHP内置了这种机制(如果考PHP和.NET的整合,也可以这么回答),例如$foo = new Java(‘java.lang.System’);  2、PHP的意思(送1分)  答:Hypertext Prepro

2014-11-13 20:13:26 457

原创 php面试题

PHP&HTML 基础操作题● 有三个php文件位于同一目录下,内容为a.php:-------b.php:-------c.php:-------使用浏览器访问 c.php,请问是否存在问题。如果存在问题,请指出修正方法并写出浏览器查看效果如果不存在问题,请写出浏览器查看效果● 从表login中选出name字段包含admin的前10条结

2014-11-13 20:09:30 349

原创 php面试题

1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名  例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta 语句    请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类

2014-11-13 20:08:34 286

原创 php面试题

1. 禁用COOKIE 后 SEESION 还能用吗?        2. 抓取远程图片到本地,你会用什么函数?        3. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少?        4. 简述pOST 和GET传输的最大容量分别是多少?        5. 用最少的代码写一个求3值最大值的函数.

2014-11-13 20:06:59 363

转载 php高级工程师面试题

1. 基本知识点HTTP协议中几个状态码的含义:503500 401 200 301 302。。。2. 500——服务器产生内部错误501——服务器不支持请求的函数502——服务器暂时不可用,有时是为了防止发生系统过载503——服务器过载或暂停维修400——错误请求,如语法错误401——请求授权失败403——请求不允许200——交易成功201——

2014-11-13 20:04:22 775

转载 php挑战编程界的大碗

草根出身的PHP语言挑战的对象是Java、.Net这样的大腕。  Zeev这位30岁的以色列小伙子看起来一点也不像有权势的人物,可是他共同创始的PHP语言,却成为网络时代异军突起的一个传奇。最新的消息是,Sun公司已决定把免费公开Java源代码提上日程,而微软的脚本语言ASP.net也只得一直实行免费赠送。这个小个子PHP及其同伙Linux、Apache、MySQL掀起的开放源代码浪潮影响

2014-11-07 08:45:39 417

原创 ThinkPHP教程--20--系统流程

我们来系统的了解下ThinkPHP框架开发的应用的标准执行流程:用户URL请求调用应用入口文件(通常是网站的index.php)载入框架入口文件(ThinkPHP.php)记录初始运行时间和内存开销系统常量判断及定义载入框架引导类(Think\Think)并执行Think::start方法进行应用初始化设置错误处理机制和自动加载机制调用Think\Storage类进行存储初始化(由STORAG

2014-11-07 08:25:33 544

原创 ThinkPHP---19--项目编译

应用编译机制作为ThinkPHP独创的功能特色,从1.0版本就延续至今,3.2版本的编译机制更加具有特色。应用编译缓存编译缓存的基础原理是第一次运行的时候把核心需要加载的文件去掉空白和注释后合并到一个文件中,第二次运行的时候就直接载入编译缓存而无需载入众多的核心文件。当第二次执行的时候就会根据当前的应用模式直接载入编译过的缓存文件,从而省去很多IO开销,加快执行速度。项目编译机制对运行

2014-11-07 08:24:38 432

原创 ThinkPHP教程--17--自动加载

在3.2中,基本上无需手动加载类库文件,你可以很方便的完成自动加载。命名空间自动加载系统可以通过类的命名空间自动定位到类库文件,例如:我们定义了一个类 Org\Util\Auth 类:namespace Org\Util;class Auth {}保存到 ThinkPHP/Library/Org/Util/Auth.class.php。接下来,我们就可以直接实例化了。n

2014-11-07 08:24:06 403

原创 ThinkPHP教程--18--应用模块

3.2版本的应用模式可以替代之前的引擎扩展和模式扩展,支持应用模式定义。每个应用模式有自己的定义文件,用于配置当前模式需要加载的核心文件和配置文件,以及别名定义、行为扩展定义等等。除了模式定义外,应用自身也可以独立定义模式文件。如果应用模式涉及到不同的存储类型,例如采用分布式存储等,就需要另外设置存储类型(STORAGE_TYPE)。不同的存储类型由Think\Storage类及相关驱动进

2014-11-07 08:23:53 349

原创 ThinkPHP教程--16--命名空间

3.2版本全面采用命名空间方式定义和加载类库文件,有效的解决多个模块之间的冲突问题,并且实现了更加高效的类库自动加载机制。命名空间的概念必须了解,否则会成为3.2版本开发的重大障碍。如果不清楚什么是命名空间,可以参考PHP手册:PHP命名空间由于新版完全采用了命名空间的特性,因此只需要给类库正确定义所在的命名空间,而命名空间的路径与类库文件的目录一致,那么就可以实现类的自动加载

2014-11-07 08:22:15 457

原创 ThinkPHP教程--15--CBD模式

ThinkPHP从3.0版本开始引入了全新的CBD(核心Core+行为Behavior+驱动Driver)架构模式,因为从底层开始,框架就采用核心+行为+驱动的架构体系,核心保留了最关键的部分,并在重要位置设置了标签用以标记,其他功能都采用行为扩展和驱动的方式组合,开发人员可以根据自己的需要,对某个标签位置进行行为扩展或者替换,就可以方便的定制框架底层,也可以在应用层添加自己的标签位置和添加应用行

2014-11-07 08:20:56 1144

原创 ThinkPHP教程--14--URL模式

入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作:http://serverName/index.php/模块/控制器/操作这是3.2版本的标准URL格式。可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称。URL大小写ThinkPHP框架的URL是区分大小写(主要是针对模块、控制

2014-11-07 08:18:54 519

原创 ThinkPHP教程--14--模块化设计

一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器。ThinkPHP3.2采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块应用的创建,让应用的扩展更加方便。一个典型的URL访问规则是(我们以默认的PATHINFO模式为例说明,当然也可以支持普通的URL模式):http://serverName/index.ph

2014-11-07 08:17:56 499

原创 ThinkPHP教程--13--批量配置

C配置方法支持批量配置,例如:$config = array('WEB_SITE_TITLE'=>'ThinkPHP','WEB_SITE_DESCRIPTION'=>'开源PHP框架');C($config);$config数组中的配置参数会合并到现有的全局配置中。我们可以通过这种方式读取数据库中的配置参数,例如:// 读取数据库中的配置(假设有一个config表用于保存配置参数

2014-11-07 08:14:36 433

原创 ThinkPHP教程---12--扩展配置

扩展配置可以支持自动加载额外的自定义配置文件,并且配置格式和项目配置一样。设置扩展配置的方式如下(多个文件用逗号分隔):// 加载扩展配置文件'LOAD_EXT_CONFIG' => 'user,db', 假设扩展配置文件user.php 和db.php分别用于用户配置和数据库配置,这样做的好处是哪怕以后关闭调试模式,你修改db配置文件后依然会自动生效。如果在应用公共设置文件中配置的话

2014-11-07 08:13:34 315

原创 ThinkPHP教程---10--读取配置

无论何种配置文件,定义了配置文件之后,都统一使用系统提供的C方法(可以借助Config单词来帮助记忆)来读取已有的配置。获取已经设置的参数值:C('参数名称')例如,$model = C('URL_MODEL');可以读取到系统的调试模式的设置值,同样,由于配置参数不区分大小写,因此$model = C('url_model');是等效的,但是建议使用大写方式的规范。

2014-11-07 08:11:40 309

原创 ThinkPHP教程--11--动态配置

之前的方式都是通过预先定义配置文件的方式,而在具体的操作方法里面,我们仍然可以对某些参数进行动态配置(或者增加新的配置),主要是指那些还没有被使用的参数。设置新的值:C('参数名称','新的参数值');例如,我们需要动态改变数据缓存的有效期的话,可以使用// 动态改变缓存有效期C('DATA_CACHE_TIME',60);动态配置赋值仅对当前请求有效,不会对以后的请求造成

2014-11-07 08:11:39 290

原创 ThinkPHP教程---9--配置加载

在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以配置的优先顺序从右到左。下面说明下不同的配置文件的区别和位置:惯例配置惯例重于配置是系统遵循的一个重要思想,框架内置有一

2014-11-07 08:09:52 391

原创 ThinkPHP教程--8--之配置格式

PHP数组定义ThinkPHP框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为://项目配置文件return array( 'DEFAULT_MODULE' => 'Index', //默认模块 'URL_MODEL' => '2', //URL模式 'SESSION_AUTO_START' => true, //是否开启sessi

2014-11-06 15:47:11 404

原创 ThinkPHP教程---7--之开发规范

命名规范使用ThinkPHP开发的过程中应该尽量遵循下列命名规范:类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php; 类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是

2014-11-06 15:37:00 363

原创 ThinkPHP教程--5

3.2发布版本自带了一个应用目录结构,并且带了一个默认的应用入口文件,方便部署和测试,默认的应用目录是Application(实际部署过程中可以随意设置)。通常情况下3.2无需使用多应用模式,因为大多数情况下,我们都可以通过多模块化以及多入口的设计来解决应用的扩展需求。模块设计新版采用模块化的设计架构,下面是一个应用目录下面的模块目录结构,每个模块可以方便的卸载和部署,并且支持公共模块

2014-11-06 15:35:09 413

原创 ThinkPHP教程---6

我们可以在自动生成的Application/Home/Controller目录下面找到一个 IndexController.class.php 文件,这就是默认的Index控制器文件。控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller控制器文件的命名方式是:类名+class.php(类文件后缀)默认的欢迎页面其实就是访问的Home模块下面的Index控制器类的i

2014-11-06 15:35:01 560

原创 ThinkPHP教程---4

1:自动创建目录

2014-11-06 15:33:45 310

原创 thinkphp教程--3

ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。入口文件定义入口文件主要完成:定义框架路径、项目路径(可选) 定义调试模式和应用模式(可选) 定义系统相关常量(可选) 载入框架入口文件(必须) 默认情况下,3.2版本的框架已经自带了一个应

2014-11-06 12:07:55 442

原创 ThinkPHP学习---2

1:获取到tp2:环境要求

2014-11-06 11:58:33 319

原创 ThinkPHP介绍--1

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的Tag

2014-11-06 11:39:08 768

原创 ThinkPHP开山篇--0

php是一门优秀的web端语言,很多优秀的团队给出来

2014-11-06 11:31:35 300

转载 一个完整的数据库操作

$conn=mysql_connect("localhost","你的数据库名称","你的数据库密码")        or die("不能连接数据库服务器: ".mysql_error());   // line 1mysql_select_db("test",$conn) or die ("不能选择数据库: ".mysql_error()); mysql_query("se

2014-02-18 19:59:38 244

转载 PDO一些简单总结

查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作,PDO::exec()主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、DELETE等操作,它返回的结果是当前操作影响的列数。PDO::prepare()主要是预处理操作,需要通过$rs->execute()来

2014-02-18 19:57:34 305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除