zendstudio 10.0破解版,新建完项目后,首先修改项目的编码方式,统一改成utf-8 (选中项目,再右键properties:Text file encoding)。修改字体大小。

apache 安装:httpd-2.2.17-win32,安装成功后访问apache服务器:http://127.0.0.1 localhost; apache配置文件:httpd.conf(在apache/conf/目录下) :ServerRoot:apache的安装目录,Listen 80:端口号,DocumentRoot:apache的默认主目录htdocs;Directory:浏览目录;(当需要修改apache的默认主目录的时候,需要修改 DocumentRoot 和 Directory 这两项。),DirectoryIndex :index.html 默认首页。

webServer工作原理:用户输入网址后,首先通过本地的DNS服务器将输入网址转换成目的ip地址后返回给浏览器;浏览器再根据这个ip地址请求相应的某个目录下的某个页面,通过http request发送请求,web服务器接到请求后,首先在默认主目录中搜索是否有请求的页面文件,如果没有找到,通过http response发送给浏览器一个没找到的响应(响应的是html标记,浏览器可以解析html标记)。如果找到了,首先apache查看请求文件的扩展名,apache只能处理html,css,javascript这样静态的文件,如果是这些静态文件apache直接将找到的结果通过http response 返回给浏览器。如果请求的是.php为后缀的文件,apache就处理不了,这是就将控制权移交给php引擎,php引擎具有处理,解析php代码的能力,它会将php代码解析的结果以html代码的形式返回给apache服务器,apache服务器接收到php引擎的响应后,再通过http响应给用户浏览器。

php版本:php-5.4.0-win32,解压完成后将php.ini.development文件重命名为php.ini(php的配置文件),这样php安装完成。绑定php和apache:第一步,加载php5模块,在apache配置文件中加入:LoadModule php5_module "php安装路径\php5apache2_2.dll" ,第二步,加载php配置文件所在目录,在apache配置文件中加入:PHPIniDir "php安装目录" ,第三步,告诉apache什么时候什么类型的文件需要交个php引擎来处理,在apache配置文件中加入:AddType application/x-httpd-php .php 把.php结尾的文件交给php引擎来处理。对apache配置文件做了更改后需要重启apache服务器。phpinfo(),测试一下。

==========第4个视频开始讲授 PHP基础语法:变量
PHP标准风格(推荐风格):<?php 代码段;?> PHP每句代码以分号 ; 结尾。 短风格(需要php配置文件中short_open_tag=On,再重启apache):<? 代码段; ?> 长风格<script language='php' 代码段; /script> ASP风格(需要php配置文件中asp_tag=On,再重启apache):<% 代码段; %>
PHP中的注释:单行://    #     多行:/* */

PHP文件扩张名:.php 。
PHP文档组成:在php文件中可以同时书写html、css、javascript/jquery、PHP代码(在脚本中的任意位置都可以写PHP代码,在脚本中不只有PHP代码的时候,<?php ?>标记一定要成对出现。当文档中只有PHP代码时,结束标记不要写。);emmet插件:html:xt + tab键,自动生成html文件基本模板。

PHP变量:在程序执行期间可以变化的量,用变量保存值。以 $ + 变量名称 声明变量,变量名称遵循驼峰标记法(小驼峰:首字母小写,以后没有个单词第一个字母大写;大驼峰:每一个单词的首字母都大写),或下划线法:每个单词之间用下划线分隔。php的变量名称严格区分大小写,$a和$A是不同的两个变量。当变量名称重复的时候,相当于对变量重新赋值,后面的会覆盖之前的值。php是弱类型语言,变量可以不声明直接使用。变量赋值:$变量名=值; $a=12; 使用变量名称$a,就可以使用变量。在浏览器中,查看变量的值:echo $a; 当PHP脚本中有头信息时,通过 header('content-type:text/html;character=utf-8'); 来发送头信息,这句代码告诉浏览器,以utf-8的编码方式解析html文档。修改PHP配置文件中的error_reporting=E_ALL&~E_NOTICE,之后重启服务器,可以屏蔽掉脚本在执行过程中报出的“注意”信息。一次声明多个变量并且赋值相同:$i=$j=$k=$m=$n=1;一次输出多个变量的值:echo $i,$j,$k; 多个变量之间以逗号分隔。

php可变变量(等量代换的原则)。php引用赋值:& 取地址符,把变量在内存中的地址覆给另一个变量。$j=&$i; $i和$j指向同一个内存空间,对$i和$j任何一个的修改,都将改变另一个变量的值。变量销毁:unset(变量名)函数,销毁变量相当于引用内存空间的变量名不存在了,但保存变量的内存空间依然存在。

==========第7个视频开始讲授 PHP基础语法:数据类型
php中支持8中主要数据类型和3中伪类型。8种主要数据类型分3大类:标量类型(只能存储单一数据,有分为类,整型int\interger(带符号:-21亿到21亿,无符号:0到42亿,超过整型的存储范围,会产生溢出的现象,可以存储八进制数、十进制数、十六进制数。在显示的时候都是将八进制和十六进制的数,转换成十进制的数在浏览器上显示。),浮点类型float\double\real(浮点类型带有小数点或者科学计数法的写法,带有e或者E ,他的存储范围比整型大。),布尔类型bool\boolean(真:TRUE\true,假:FALSE\false。),字符串类型string(字符串定界符:单引号,双引号(双引号和单引号的区别:双引号解析变量,单引号不解析变量,单引号的执行效率快。当内容中含有定界符时,用转意符解决(\';\";\\;\$;\n换行;\r回车)。双引号解析所有转意符,单引号只能解析\\和\',这两个转意符。当页面中要出现大于号>,小于号<,单引号,双引号,不间断空格,都要把它们转换成html实体(进行html编码)。php引擎在解析变量的时候,会尽可能多的向后去取合法字符,认为取的合法字符越多,变量的含义就越明确,花括号的作用:将变量当做一个整体,{$变量名}或${变量名},在变量名称和花括号{}之间不要有空格。通过花括号{}对字符串中的制定字符做增删改查。字符串的下标从 0 开始。也可以用方括号[],把字符串string当做数组操作,下标从 0 开始,完成增删改查,每次只能增删改一个字符位置。),HereDoc,NowDoc(当要输出大段文本的时候,就需要用到这两个HereDoc和NowDoc,HereDoc以三个小于号开始<<<,就相当于定界符中的双引号,<<<名称,3个双引号后是名称,名称后直接回车,不能有空格。以名称结束,在结束名称之前,不能有任何的输出(在结束名称前不要有空格,必须顶格书写)。在HereDoc中的变量将被解析,在NowDoc中的变量将被原样输出,不进行解析。))中文在UTF8下,一个中文占3个长度。),复合类型(数组array,对象object),特殊类型(资源resource,空null\NULL:未声明的变量值为NULL,声明变量并且赋值为NULL,通过unset()函数注销过的变量。)。

3种伪类型:告诉函数可以接受哪些类型的参数。伪类型有3类:第一类,数值型munber:可以接受整数和浮点数。第二类,混合类型mixed:代表可以接收不同形式的参数。回调函数callback:

得到变量的数据类型:var_dump():将一个或多个变量的详细信息打印到浏览器。

==========第10个视频开始讲授 PHP基础语法:数据类型的转换
在php中主要支持两种数据类型的转换:显式转换(强制转换)和隐式转换(自动转换)。

隐式转换(自动转换):变量根据上下文环境进行自动类型转换。其他类型转换成数值型(true转换成整型的 1 ,false转换成整型 0 ,null转换成整型 0 。字符串转换成数值型:以合法数字开始的字符串,取到第一个非法数字结束。(这个合法数字,可以是整型,浮点型(包括小数形式和科学计数法形式),正负都可))。以非法数字开头的字符串(即以字母开头的字符串),转换成 0 。其他类型转换成字符串型:数值类型直接转换成数值本身;true转换成 1 ,false转换成 空制符串,null转换成 空字符串。数组转换成字符串 Array。资源resource转换成 Resource id #数字。对象不可以直接转换成字符串。其它类型转换成布尔类型(找到转换为false的,其它的都会转换为true):整型0,浮点型0.0,空字符串''或者控制符串""或者'0',"0",null,空数组,这5类都将转换成false,其它转换都为true。

显式转换(强制转换):分为两种:临时转换【(int\interger)->整型,(float)\(double)\(real)->浮点类型,(boolean)\(bool)->布尔类型,(string)->字符串类型,(unset)->空,(array)->数组,(object)->对象,资源类型不能进行强制转换。临时转换并没有改变这个变量的类型。通过函数的形式实现临时转换:intval($val):返回转换成整型的值,floatval \ doubleval($val):返回转换成浮点类型的值,strvar($val):返回转换成字符串的值,boolval($val):返回转换成布尔的值(php版本>5.5.0)。】和永久转换(永久转换会改变这个变量的类型)【settype($val, $type):设置变量的类型,type的可能值为:boolean \ integer \ float \ string \ array \ object \ null \,gettype($val):得到变量的类型(推荐用var_dump())。】。

通过变量函数库检测变量类型,检测的结果为bool类型:是否为整型:(is_int($var),is_integer($var),is_long($var));检测是否为浮点类型:(is_float($var),is_double($var),is_real($var));检测是否是字符串类型:is_string($var);检测是否是布尔类型:is_bool($var);检测是否是标量:is_scalar($var);检测是否是数组is_array($var);检测是否是资源:is_resource($var);检测是否是对象:is_object($var);检测是否为空:is_null($var); 检测是否为数值型,或者字符串的数值(如:'1.1'):is_numeric($var);

==========第12个视频开始讲授 PHP基础语法:常量
常量:是一个简单值的标识符,和变量相反,在脚步执行期间该值不能改变,不能再对常量赋值。常量分为三类:系统常量,自定义常量,魔术常量。

系统常量:是系统提供好的,拿过来可以直接使用的:PHP_VERSION \ PHP_OS \ M_PI 等;

自定义常量:define($name, $value[,$case_insensitive=false]) 方括号表示可选; 注意:常量名前没有$ ;常量名称以字母或者下划线开始,尽量使用大写字母;常量可以在任何地方定义和使用;常量一经定义不能改变也不能取消定义;常量的值只能为标量(整型,浮点类型,布尔,字符串),虽说可以为resource资源类型,但尽量不要使用;常量默认是区分大小写的,如果需要不区分大小写,通过设置define函数的第三个参数为true来实现。
使用常量:第一种,可以直接写常量的名称,不要放到引号之间,不带$;第二种,constant($name);
检测常量是否已经被定义:通过defined函数检测常量名称是否被定义,返回真或者假;

在PHP5.3.0以后可以使用 const 在类定义之外定义常量: const 常量名称=值; const定义的常量区分大小写;
得到所有已被定义过的常量:get_defined_constants(),返回的是关联数组;包括系统常量和自定义常量;

魔术常量:__LINE__:返回文件中当前的行号;__FILE__:返回文件的完整路径和文件名,注意:如果用在被包含文件中(include文件中),则返回被包含的文件名。从PHP4.0.2起,__FILE__返回一个绝对路径,之前则返回相对路径。__FUNCTION__:返回函数名称,注意:自PHP5起常量返回该函数被定义时的名字(区分大小写),在PHP4中该值为小写;__CLASS__:返回类的名称,自PHP5起常量返回该类被定义时的名字(区分大小写),在PHP4中该值为小写;__METHOD__:返回类的方法名(区分大小写),PHP5.0.0新增;__DIR__:返回文件所在目录,如果用在被包含文件中,则返回被包含文件所在目录,PHP5.3.0新增;__NAMESPACE__:返回当前命名空间的名称(区分大小写),此常量是编译时定义的,PHP5.3.0新增;__TRAIT__:返回Trait的名字,区分大小写,Trait名包括其被声明的作用域,PHP5.4.0新增。

==========第14个视频开始讲授 PHP基础语法:运算符

-3%8的值为-3,3%-8的值也为3,结果只和被除数的符号有关,和除数的符号无关。
前缀形式:++$var,--$var,先加减1,再执行;后缀形式:$var++,$var--,先执行,再加减1。对于数值型支持自增自减;布尔类型不支持自增自减;null类型支持自增不支持自减;字符串只支持自增,不支持自减;

字符串运算符:逗号,和点. (多个变量间用点.连接。)

赋值运算符:等号=。

两个等号==,只比较值是否相同。三个等号===,值和类型都要为相同才位置true;

逻辑运算符:
逻辑与:&&或者and,两个表达式都为true,结果才为true,注意:第一个表达式为false造成短路(不会计算第二个值);
逻辑或:||或者or,两个表达式有一个为true,结果为true,注意:第一个表达式为true造成短路;
逻辑非:!,取反的意思;
逻辑异或:xor,当两个表达式同为true或者false,结果为false,相反为true。

执行运算符:反引号``,PHP将尝试将反引号中的内容作为外壳命令来执行,与shell_exec()作用相同;
错误抑制符:@ ,注意:加在任何会产生错误的表达式之前;

三元运算符:exp1?exp2:exp3; exp1为真执行?之后的exp2,否则执行:之后的exp3; 另一种形式:exp1?:exp3;如果exp1为真则返回exp1,否则返回exp3;

==========第21个视频开始讲授 PHP基础语法:流程控制

设置时区:通过函数的形式动态设置时区(只针对设置以后的当前脚本有效):date_default_timezone_get():得到当前的默认时区;date_default_timezone_set($timezone):设置时区,设置成功返回true,失败返回false,有三个时区可设置:PRC:中华人民共和国;Asia/Shanghai;Asia/Chongqing; 通过修改PHP配置文件date.timezone设置时区(针对所有脚本都有效),修改要重启apache服务器;

date($format[,$time=time()])(第二个参数为时间戳,通过time()函数得到。):得到当前服务器的日期时间;Y:代表4位的年,m:代表2位的月,d:代表2位的日,H:代表2位的小时,i:代表2位的分钟,s:代表2位的秒,w:返回一周内的多少天,0~6,0代表星期日;

PHP预定义变量(可以直接使用,所有的预定义变量都是数组):$_POST:HTTP POST变量,接受表单以POST方式发送的数据;$_GET:HTTP GET变量,接收以?形式传参的数据;$_FILE:HTTP 文件上传变量;$_SERVER:服务器和执行环境变量;$_EVN:环境变量;$_SESSION:会话变量;$_COOKIE:HTTP Cookies;$REQUEST:$_GET + $_POST + $_COOKIE;$GLOBALS:超全局变量,在全部作用域中始终可用的内置变量,包含了前面所有的值;

isset($var):检测变量是否被设置,只要变量有值,并且值不为空,isset返回true,否则返回false;
empty($var):检测变量是否为空,也就是转换成布尔类型false的那些情况(整型0,浮点型0.0,空字符串'',字符串'0',布尔false,null,空数组array(),共7个);

程序遇到 exit 或者 die ,将终止执行,不执行下面的语句;也可以在终止的同时向浏览器输出内容:die('输出内容')或者 exit('输出内容');

is_numeric($var):判断变量是否为数值型;

strcmp($str1, $str2):比较两个字符串的大小,在比较时一位一位来比较;如果$str1=$str2,返回0;如果$str1>$str2,返回1;如果$str1<$str2,返回-1; strcasecmp($str1, $str2):忽略大小写的比较大小,$str1=$str2,返回0;如果不等返回的是两个字符的ASCII差,如果前面比较出了结果,后面则不进行比较;

trim($string[, $charlist]):默认去掉字符串两端的空格,也可以通过第二个参数实现去掉两端指定字符(在$charlist里的字符,位置只在两端有效,中间不能去掉),返回过滤后的内容。

md5($string):计算字符串的md5散列值,返回加密之后的32位长度的字符串;
sha1($string):计算字符串的sha1散列值,返回加密之后的40位长度的字符串;

switch语句遇到break,结束整个执行,在switch中只能比较固定的值,switch可嵌套;

精确控制循环的次数的时候,用for循环。用break结束整个for循环;当有两层for嵌套的时候,用break 2 可以结束两层for循环,结束整个for循环。continue:结束当前循环,进入下次循环,continue后面也可以加数字,代表结束当前的几层循环;当在for循环中初始化多个循环条件变量时,第二个表达式中最后一个条件决定是否能执行循环体;for(;;)在第二个循环条件缺失的情况下,默认为真。endfor形式;

通过break结束while循环,continue代表跳过当次循环进入下次循环,endwhile形式,do-while没后endwhile形式。

通过break可以结束switch语句,结束for,while循环。continue在循环中代表结束当前循环,进入下次循环,在switch语句中continue和break等价。

exit或die,用于结束当前脚本执行。

==========第33个视频开始讲授 PHP基础语法:数组

PHP基础 (麦子学院 第二阶段)的更多相关文章

  1. 麦子学院python开发全套完整无加密课程

    点击了解更多Python课程>>> 麦子学院python开发全套完整无加密课程 第一阶段:Python基础准备 1.Web前端开发之HTML+CSS基础入门 2.Javascript ...

  2. 麦子学院Android开发Java教程ClassCastException 错误解析

    现在Java编程中经常碰到ClassCastException 错误,ClassCastException 是 JVM 在检测到两个类型间的转换不兼容时引发的运行时异常.此类错误通常会终止用户请求.本 ...

  3. 【麦子学院】OpenCV教程函数总结

    个自带样例. parter 1: No1. adaptiveskindetector.cpp 利用HSV空间的色调信息的皮肤检測,背景不能有太多与肤色相似的颜色.效果不是特别好. No2. bagof ...

  4. 【麦子学院】Linux cmd命令大全

    pwd :print working directory. 打印工作文件夹即当前文件夹. cd :change directory.切换文件夹. /是linux的根文件夹.eg. cd/home ls ...

  5. 麦子学院bootstrap实战项目官网,后台,jquery.singlePageNav.min.js ,wow.min.js,animate.css使用

    1.源码笔记 我的源码+笔记(很重要):链接: https://pan.baidu.com/s/1eSxgLV0 密码: 2pi2 感谢麦子学院项目相关视频:链接: https://pan.baidu ...

  6. [Python] 使用Python 3 下载麦子学院视频

    本文基于Python 3,下载麦子学院的视频课程. 本项目只是针对某个具体课程的链接,去寻找该课程所有课时的视频链接并进行下载. 整个项目是非常简单的. 主要涉及的Python: 网络相关:reque ...

  7. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  8. python爬取并下载麦子学院所有视频教程

    一.主要思路 scrapy爬取是有课程地址及名称 使用multiprocessing进行下载 就是为了爬点视频,所以是简单的代码堆砌 想而未实行,进行共享的方式 二.文件说明 itemsscray字段 ...

  9. 使用Angularjs开发Web App 视频课程 --麦子学院课程

    前往搓这里: http://www.maiziedu.com/group/common/course/3271/ 查看课程搓这里:http://www.maiziedu.com/course/web/ ...

随机推荐

  1. AngularJS Toaster的简单介绍

    github地址: https://github.com/jirikavi/AngularJS-Toaster 参考博客: https://www.cnblogs.com/youzhuxiaoyao/ ...

  2. Struts2项目问题及解决方式

    1.  问题描述如图: 问题解释:意思就是execute()方法写错了. 问题解决: 改正:

  3. Web系统常见安全漏洞及解决方案-SQL盲注

    关于web安全测试,目前主要有以下几种攻击方法: 1.XSS 2.SQL注入 3.跨目录访问 4.缓冲区溢出 5.cookies修改 6.Htth方法篡改(包括隐藏字段修改和参数修改) 7.CSRF ...

  4. (五)TortoiseSVN 客户端-----安装

    svn客户端类型 svn客户端需要通过网络访问svn服务端提交文件.查询文件等,可通过以下客户端类型访问svn服务端: 使用Subversion提供的客户端命令,使用方式:在命令行下输入命令操作. 使 ...

  5. raw_input与input的区别

    1. 版本差异 raw_input——>python2版本 input——>python3版本 2. 输入格式差异 就是raw_input()随便输都是字符串,而input()必须按照Py ...

  6. sqlserver ceiling函数用法

    ceiling函数返回大于或等于所给数字表达式的最小整数. floor函数返回小于或等于所给数字表达式的最大整数. eg: select ceiling(4.42) ---5select CEILIN ...

  7. 实现动态代理(Java和spring)

    一.Java实现动态代理 1.创建接口 package com.oyy.mw.biz.i; public interface Cal { public int add(int num1,int num ...

  8. Win10下使用VSCode配置python运行环境

    VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...

  9. Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  10. Android(java)学习笔记9:JDK5之后的Lock锁的概述和使用

    1. Lock锁的概述: java.util.concurrent.locks,接口Lock 首先Lock是一个接口,Lock实现提供了比使用synchronized方法 和 同步代码块更为广泛的锁定 ...