微信号:phpbase

介绍:让每个想学好这门web端脚本语言的程序员,轻轻松松学会学好技术,做属于自己的大型互联网网站,大型商城网站,自定义开发属于自己个性的常用框架,熟练使用操作API工具,玩转各种相关开发者平台.

PHP核心知识要点 一

2015-12-18 12:42 零基础学习php

Php:脚本语言,网站建设,服务器端运行

PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 CJava Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。


PHP简介:Rasmus Lerdorf发展历程(1994:1.0个人perl1996:2.0C底层,1998:3.0zendEngine2000:4.0session+输出缓冲等,2004:5.0zend引擎2代),平台支持(windowLinuxUNIX),数据库支持(SqlservermysqlOracleAccess),开发环境(Apache2mysqlphp

服务器:软件,常见服务(HTTPFTPMySQLtelnet等)

软件结构:c\sb\sPHP地位

Web访问:IP,域名,hosts,域名服务器,网站,web访问

原数据保存:php文件,数据库文件

搭建web服务器:WamplampApache安装(www.apache.org),MySQL安装,PHP安装(无中文路径,CMD执行php.exe -fVC6VC9),配置(Apache加载PHP模块:LoadModule php5_module PHP5apachedll路径;增加php处理:AddType application/x-httpd-php .php;加载php配置文件:windowsApache配置文件加载PHPIniDir PHP配置文件路径;配置PHP时区:date.timezone

Php操作数据库:PHP开启MySQL扩展,指定扩展目录(extension_dir

Web运行原理:静态,动态

虚拟主机配置:基于域名虚拟主机,包含vhost配置,编辑虚拟vhost文件(VirtualHostServerNameDocumentRoot),重启,修改hosts文件,localhost重配

PHP脚本执行:读入源程序,zendEngine(词法分析,语法分析),生成opcode,执行opcode,解释,与编译的区别

PHP工作:脚本(服务端脚本,需要web服务器和浏览器),命令行脚本

基本语法:脚本语言(嵌入html),PHP处理(标记识别),标记(<?php?><script language=php></script>默认,<?短标签?><%asp标签%>非默认,需开启;不建议使用),最末尾标记可以忽略(建议忽略:Ajax返回,节省流量),PHP语句(分号结束,最后一条可以不加)

变量:$符号,有效变量名(字母或者下划线开始,大小写敏感),变量增删改查(unset断开连接),命名规则(驼峰法,下划线)

常量:定义(define),直接使用,特点(不能修改,区分大小写,不能删除,常量值只能是标量,命名与变量同,无$),常量判断(defined),输出(constant(常量名)

PHP注释:行注释,块注释

预定义变量:$_POST$_GET$_REQUEST$_FILES$_SESSION$_COOKIE$GLOBALS$_SERVER$_ENV

预定义常量:__FILE____LINE____DIR____FUNCTION____METHOD__PHP_OSPHP_VERSIONPHP_INT_SIZEPHP_INT_MAX

可变变量

传值:值传递,引用传递

数据类型:PHP若类型,八大数据类型(整型,浮点型,布尔型,字符型,数组型,对象型,资源型,空型),三大类(标量,复合,特殊)

整型:十进制,八进制(0),十六进制(0x),指定进制输出(printf%d%o%x),整型取值范围(PHP_INT_SIZEPHP_INT_MAX),字节,位,进制转换(十转其他,除取余反取;其他转十,求幂),整型溢出(浮点型),时间戳(格林威治时间,timedate

浮点型:保留小数输出(printf(%.2f)floatdouble

布尔型:真假,TRUEFALSE(非0),布尔值输出使用var_dumpFALSEFALSE00.0’’0,空数组,null值)

字符串:单引号,双引号,区别(解析变量,转义,{},字符串数组),定界符(初始标记和结束独占一行,结束标记顶格,解析变量,转义,实际应用xml

运算符:算术运算符(+-*/%),赋值运算符(=+=-=*=/=%=.=),比较运算符(><>=<======!=!==),错误抑制符(@),自操作运算符(++--),字符串运算符(.),三目运算符(? :),逻辑运算符(&&and||or,!),位运算符(&|^~<<>>

原码反码补码:正数原码反码补码一样,负数符号位除外求反,+1得补码

流程控制:顺序结构,分支结构(ififelseifelse[else]switch[case,break,default]),循环结构(forwhiledowhileforeachcontinuebreak

模板语法:标签语法,分支结构和循环结构

函数:主要功能(代码重用,模块化编程),定义(function 函数名(参数列表)),调用(函数名(参数列表)),定义与调用无顺序关系,形参,实参,参数传递(值传递,引用传值,默认值),返回值(return中断执行,单一返回值,多返回值[引用传递参数]),作用域(全局作用域,局部作用域,作用域针对变量,深入分析[jsPHP],超全局作用域,$GLOBALSglobal

匿名函数

伪类型:mixednumbercallbackvoid

数据类型转换:intintegerboolBooleanfloatstringarrayobject,自动转换(值转换)

数据类型判断:is_boolis_floatis_integeris_objectis_arrayis_stringis_resourceis_scalaris_nullis_numericgettypesettype

引用文件:requireincluderequire_onceinclude_once,作用(布局,包含公共文件),文件载入原理(加载非执行,将编译后的文件加载),requireinclude的区别,文件返回(配置文件)

终止脚本:returnexitdie

载入文件路径:绝对路径,相对路径(./..//),文件载入的相对路径问题

字符串相关函数:strlensubstrstrtolowerstrtoupperstrrevstrposstrrposstrchrstrrchr(获取文件后缀名),trim

时间相关函数:timedatestrtotimemicrotime

数学相关函数:absfloorceilroundrandmt_rand

数组:概念,使用数组原因(变量关联),PHP数组特点(没有数据类型,数组下标可为字符串[不能使用for循环遍历],数组长度可变不会溢出),数组定义(array[]),数组不能直接echo,数组长度(count,遍历),foreach(原理:赋值+指针下移)

二维数组:定义,语法,二维数组遍历,关联二维数组,遍历

Each+listeach(语法),list(语法,只能获得索引数组元素,按照索引顺序赋值),eachlist组合遍历数组,eachforeach区别(foreach原理,each原理)

数组相关函数:keycurrentnextprevend resetarray_keysarray_values,数据结构模拟(array_shiftarray_unshiftarray_pusharray_pop),字符串分割(explodeimplode),array_walk_recursive(回调函数,按址传递)

数组运算:+array_merge

数组比较:=====

其他函数: rangearray_randshuffle

SQL注入:原理,解决方案(addslashesstripslashesmagic_quotes_gpc5.3前,get_magic_quotes_gpc),公共函数(array_walk_recursive$_POST转义)

数组算法:排序(冒泡,插入,选择,快排),查找(自定义查找,二分法)

表单传值:网站目的(数据管理:收集,整理,存储,发布),收集(表单实现),数据传递(urlform),传值方式(getpost

数据接收:$_GET$_POST$_REQUEST,数据处理,$_REQUEST不值得信任(覆盖,request_ordervariables_order

点击行为判断:isset($_POST[submit])/empty()

自动配置全局变量:register_gloabals5.3

复选框使用:[],入库(字符拼接),显示复选框信息(checked),批量删除

文件上传:概念,难点(浏览器端,服务端),流程(表单postenctype=multipart/form-dataPHP配置file_uploads,配置项说明(file_uploadesupload_max_filesizepost_max_sizeupload_tmp_dir)),文件上传流程(本地选择文件,提交,文件发送到服务器临时目录,转义临时文件)

PHP处理:$_FILES$_FILES说明,文件移动(copymove_uploaded_file),验证文件类型(MIME),文件重命名(唯一性,可识别区分)

上传函数封装

文件操作:原因(保存不经常变化数据量小的数据;配置文件,流量统计,静态网页生成,文件下载。。。)

目录操作:opendirreaddirrewinddirclosedirscandir

自定义实现scandir函数功能

文件判断:file_existsis_diris_filemkdirrmdirgetcwdchdir,文件上传按月分类管理

循环输出文件夹下所有文件及子文件夹:静态变量,函数递归(原理,递归点,递归出口)

文件操作:读和写,PHP5file_get_contentsfile_put_contents[FILE_APPENDFILE_USE_INCLUDE_PATH]array file),PHP4fopenMode[rr+ww+aa+]fgetcfgetsfreadfputsfwritefclosefseek

文件相关函数:copyunlinkrenamefilemtimefilesizefileperms

文件下载:html下载(a href=use.zip’,缺点:文件格式简单,暴露文件完整路径),PHPheader("Content-type: application/octet-stream")header("Content-Disposition: attachment; filename=filename" ),输出文件内容)


 
零基础学习php 更多文章 PHP语言基础简单整理
猜您喜欢 9个基于Java的搜索引擎框架 李粑粑总是这样放纵我们,让红包满天飞? 最近关于对网络爬虫技术总结 【14期预告】浅析DB2优化器和成本模型 Android 获取屏幕尺寸与密度