【嘉兴东臣PHP】PHP基础学习

        这个礼拜的学习内容,相对于之前的几个礼拜来说,相对于更加陌生一点。因为,在这之前的3年时间里,我们都没有接触过这一门语言。周一早上,老黄先对我们进行了前端知识点的回归复习。不知不觉才发现啊,原来我们已经学了不少东西了。从回顾复习来看,自己看到有些函数并不能很快的反应过来,但是总体吃代码还是能够看懂,但是相对来说对于jQuery知识点的熟悉程度还是比较欠缺。所以,在接下来的寒假,估计任务会有一点点重!

        复习过后,我们先进行了Apache和php软件的安装。因为周一和周二的电脑崩溃,所以周三在卿山的帮助下,我才完成了软件的安装。PHP对于我来说是新的,但是接触下来也不是那么难以接受。我想,多练练,肯定会改善的吧!


一、PHP、Apache的安装
apache 下载地址: http://www.apachelounge.com/download/
php 下载地址:http://windows.php.net/download#php-5.6
apache配置修改 :apache24/conf/https.conf  编辑
注意:1、其中的文件路径需要根据你的实际情况自行填写
          2、记住当在 Windows 环境下的 Apache 配置文件中添加路径值时,所有的反斜线,如 c:\directory\file.ext,应转换为正斜线: c:/directory/file.ext。对目录来说,也必须由斜线结尾。
容易报错:can not load server  注意vc版本,注意文件版本,注意load文件的路径!

Apache配置讲解。
ServerRoot "c:/PHP/Apache24"  //找到Apache的根目录
Listen 80  //配置所监听的端口,默认为80,其他端口号在请求的时候要入请求端口号 如 localhost:88
ServerName localhost  //请求本地webserver服务所使用的域名

注意:1、在apache下,一般至少会有2个日志文件需要注意,一个是logs/access.log 一般只要你访问一次就会有一条日志,包括静态资源。一个是logs/error.log 这个一般是当服务器错误,或者请求发生错误的时候会自动记录日志。
需要更加注意:这2个文件在项目运营到一定阶段的时候,会非常大,可能会超过GB,因为尽早分析后清理。

        2、程序下面有一般至少会有一个进程,进程下面至少有一个线程。比如迅雷打开,就会有迅雷的进程,如果你要下载,就会有多个线程,当然你如果下载一个就可能就只会开启一个下载线程,如果开启多个,那么就会有多线程!
        3、所谓的带宽,就是指最大的请求大小,标识信号传输的数据传输能力。比如服务器是2M带宽,而这个时候服务器上有一个500kb的图片。那么当前网络请求只允许4个人同时访问这个图片。

如何卸载 Apache 2.4.16
1、很简单,在“[Apache_home]\bin”目录下创建一个文本文件,内容为:httpd.exe -k uninstall -n "Apache2.4"Pause。然后把它改名为“uninstall.cmd”,并运行文件,就可以卸载Apache了。当然创建一个“uninstall”文件很有必要,以方便以后卸载Apache,只要运行“uninstall.cmd”文件,就行了。
2、然后你就可以将Apache文件夹和PHP文件夹删掉,就可以了。

二、客户端 -> 服务器
由客户端,请求服务器。再由服务器返回给客户端。
1、客户在浏览器里输入URL
2、通过的浏览器解析之后,发送到网关
3、再发送到网络运营商
4、网络运营商通过DNS解析,找到你的访问的域名对应的服务器,把相关的请求和数据发送到服务器,
5、服务器内,先由webserver也就是网络服务器接受并解析请求
6、解析完毕之后对应发送给相对应开发语言比如php,php解析完毕之后
7、如果需要用到数据库,则请求数据库
8、如果不需要则直接返回给webserver,webserver再返回给客户端。

三、PHP基础语法
PHP 是什么?Hypertext Preprocessor
PHP 到底是什么? 它其他就是一种服务端的脚本语言。仅此而已。
PHP 能干什么? 你说呢?它能做很多事情,包括网站,手机应用,游戏开发,脚本开发等。总之它的能量超乎你想象!
php 建议初期使用notepad++ 开发。 notepad里建议安装一个插件 explorer 有文件管理器的功能。

行业内的PHP开发组合,一般如下:WAMP WNMP WANMP LAMP LNMP LANMP

关于注释:建议以后每个脚本的最前面有一个注释,信息如下:
/*
** fileName: bobaogeAuto.php //文件名字
** etc: auto import bobaoge message //文件的用处
** author: jabez.huang //文件的作者
** date: 2016/01/04  //最后一次更新时间
*/

关于PHP标识:
每一个PHP是以 <?php 开头 以 ?> 结尾
注意:php文件里是可以写HTML的。但是需要注意的是,不能写在PHP的范围内,也就是不能再<?php ?>内,只能在之外写。比如 <?php echo 123; ?> <h1>123</h1>

echo 是 PHP 输出函数。 关于PHP输出函数有以下几种:
1、echo  输出基础类型,如字符串 和 数字,bool等
2、print 同上,但是有返回值,1和0
3、printf 也是输出格式化字符串
4、print_r 输出集合类型,有一定规则。
5、var_dump 输出集合类型,没有规则

PHP变量是以$符号标识的。
注意:变量只能以下划线_ 和大小写字母开头,在变量过程中,只能有下划线 大小写字母 以及 数字。不要有空格!运算符等!
正确:$a $ab $_ab
错误: $1a $a b

在PHP中有通配符,%s 代表是匹配字符串类型,%u %d %i 都是匹配整型  %f 代表是匹配浮点类型 %.2f 代表是匹配浮点类型 保留2个小数。

printf() 和 sprintf()的区别:

printf() 返回的是 字符串 和 长度。
sprintf() 返回的是只是格式化的字符串

如: sprintf("http://aiqiyi.com/%s", "寻龙诀");

变量赋值是指将一个变量的值给另一个变量。如:
$a = 10;
$b = $a;
$b = 20;
echo $a;//10
echo $b;//20

引用赋值是指将一个变量的内存地址给另一个变量,因为如果整个给内存地址的变量一旦发生改变,那么另一个变量立马改变。
$a = 10;
$b = &$a;
$b = 20;
echo $a; //20
echo $b; //20

PHP中字符串连接 不用+ 用 .

函数作用域
在PHP中,全局变量改变,通常不会影响到局部变量,除非你一定要去使用全局变量。那么请你一个关键字 叫做global。如:
$number = 1000;
funciton abc(){
     global $number;
     echo $number;
}
abc();

static 关键字一般用于静态变量,而静态变量的作用就是让这个变量在不使用的时候 不会被释放,而是长期保留。

PHP中 {}用于表示同时编译括号内的变量,如:
$a = 10 ; echo {$$a};

PHP中的数据类型:
整型、浮点型、布尔型、字符串
数组、对象、资源类型、NULL

单引号和双引号的区别:
双引用会进一步解析内部的变量定义,而单引号则会直接输出这个字符,因为理论上来说单引号快一些。

PHP中的数组、字典的关键字是array
如  $a = array(); //定义了一个空数组
$a = array( 1, 2, 3 ); //定义了一个数组有3个元素。
遍历数组,第一种方法,count为数组计数:
for( $i = 0 ; $i < count($a); $i++ ){
    echo $a[$i];
}
遍历数组,第二种方法,foreach:
foreach( $a as $key ){
   echo $key;//$key名字为变量名 随便定义
}

字典:$a = array( "name" => "abc", "a" => "b");
在php的字典中 key => value 的形式存在的。
遍历字典:
foreach( $a as $key => $value ){
      echo $key."-".$value;
}

四、PHP函数
1、rand 随机数。rand(最小值,最大值)
2、array_rand 随机数组。提取数组中的任意一个元素。注意是提取下标。array_rand(数组,提取数);
3、array_search 可以快速找到数组或者字典中的某个值,如果没有找到返回的0或者false。【注意:这个函数因为会返回0,但是0在数组里是有下标的,因此判断的时候请用 恒等 === array_search( "查找的值", 集合 );】
4、array_unique 给集合去重,如果发现重复的元素直接删除
5、unset 移除集合里的某个值
$arr = array( 1, 2, 3 );
如: unset( $arr[0] );
6、die() 设置程序断点,用于程序调试
7、array_unshift 在集合头部插入一个或者多个单元。如:array_unshift( $arr , "a", "b" );
8、array_pop 删除集合最后一个元素。
9、array_shift 删除集合第一个元素。
10、implode 将数组以特殊符号,链接成字符串。
11、explode 将字符串以特殊符号进行分割成数组。

五、PHP语法加强

文件编码的简要说明:在中国有2种编码非常常用:1、gb2312 / gbk;2、utf-8
应用于每次notepad新建PHP文件都是utf-8无BOM格式:notepad -> 首选项  -> (左侧)新建 -> 默认语言 php -> 右侧的选中UTF-8 无BOM头 应用于ANSI

windows的基础命令:
dir 列出当前目录的文件和文件夹
cd 切换目录 如: cd abc 注意:中间有空格
cd .. 返回上一级目录
cd C:\Users\mybirdie\Desktop 切换到具体的目录
tab键 可以自动补全(如果当前在其他盘内,请先切换到当前盘,如c:)

PHP执行脚本:
1、请修改环境变量
    控制面板->系统->左侧的高级系统设置-> 下方的环境变量,下方的 Path,打开,在尾部加入; (如果有则不需要添加,win10请使用新建不需要加入; ) 当然你的PHP安装路径 ,如:C:\PHP\PHP 。设置完毕之后点击完成,并关闭全部窗口。
2、重新打开cmd窗口,执行语句 php -v 会有显示当前PHP的版本。
3、php test.php 执行php任何脚本即可。


set_time_limit();用于php脚本的执行时间 同等于在php.ini中的max_execution_time 默认执行30秒。
如果要设置成执行无限秒 set_time_limit( 0 );sleep();用于暂停的秒数
array_keys 返回集合的键
array_values 返回集合的值
in_array 判断集合中是否有某个值,如in_array( "a",$arr); 返回的是布尔值。
array_key_exists 判断数组中是否包含了某个键值,返回的是布尔值。
array_count_values 返回的是数组中,所有值出现的次数

在php中的变量比较,优先转化成有同一类型的变量,优先转化成整型,如:0 == "name" 那么优先转化"name" 为0 因此 它们是相等的。
字符串中,转化后如果判断是浮点则直接用浮点跟整型比较一次。

判断某个变量的数据类型用 is_类型
如:
is_string 判断字符串
is_int 判断整型
is_array 判断数组
is_float 判断浮点

转化类型函数:
intval
floatval
strval

// 通常这种情况下:浮点*整型(字符串等) 会有二进制的问题,
//因此,如果需要解决有2个渠道:
//1、在输出之前用strval函数。
//2、请用round函数,功能是四舍五入

注意:在PHP中“a”+/-/*/ “b” 都是需要转化成整型或者字符串类型运算的。
强制转化成整型一般都是从左往右查看,如果为数字则保留,其他的则直接为0
如:10a 强制转化为 10  , a10 强制转化为 0

empty() 一般用于判断集合是否为空。如:if( empty($arr) ) echo "集合为空";

var_export 输出或返回一个变量的字符串表示,通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

宏:define 相当于超级全局变量。
define( "参数名", 值);
如: define("A","Hello");
echo A; //注意这里不要加$;

@ 忽略警告或者错误。继续执行下面的
echo "Hello";
echo @(1/0); //加了@会自动忽略掉警告或者错误
echo "Hello";

整个程式输出的是Hello Hello;

魔术方法
__FILE__ 当前文件的路径
__LINE__ 定义的行数
__DIR__  当前文件的路径 不包括这个文件名

如:
define( "FPATH" , __FILE__  );
define( "Line" , __LINE__  );
define( "DIR1", __DIR__ );

$global 申请使用或者定义 全局变量。
$_SERVER 打印当前服务器的详细信息。
$_REQUEST 同时接收POST/GET方式请求
$_POST 接收POST方式请求
$_GET 接收GET方式请求

六、PHP文件操作

1、函数参数默认值 :在php中参数是有默认值的,如果某个参数不传值,那就直接执行默认值 如:function a( $a = 10 ){}


2、文件一般分有几种路径:

        1、利用http访问的路径。

一般用于webserver等网络访问某个文件。如果http://localhost/index.html 其实上就是访问你在webserver配置文件下设置的根目录下的index.html。如果你需要访问根目录下的某个文件夹里的文件,请在访问的时候,带上文件夹的名字访问。如:http://localhost/文件夹名(不要中文)/index.html

        2、利用file访问的路径。

一般用于本地访问,file是指找到本地的某个文件夹里的文件。如:file://C://PHP/PHPWeb/jquery.1.8.0.js  【注意:该种方法,一般用于简单的页面制作,布恩那个用于PHP开发和网络开发。】


3、路径其实也分有两种表示方式:

        1、绝对路径:特指完整的路径 在file中为: file://c:/php/phpweb/index.html 。在http中引用某个文件为: www.baidu.com/dev/jquery.js

        2、相对路径:特指相对于当前目录下,所引用的那个文件的路径。如http下 引用某个文件  dev/jquery.js


4、文件操作常用函数:

1、is_writable 判断是否可写 

(file_exists 判断文件是否存在)

2、fopen  打开一个文件【fopen 参数详解 :r  read 只读;    w  写;    a  追加 注意:写会覆盖!

3、fread  读取一个文件

4、filesize  返回当前文件长度

5、fwrite  写入一个文件

6、fclose 关闭一个文件


5、文件操作流程

    1、判断文件是否可写    2、打开一个文件    3、读或者写一个文件    4、关闭一个文件


6、json_encode 集合转化为json编码格式。

     json_decode(集合,true) json转化为数组、字典格式,如果不加true 可能会转化为OBJECT 对象格式。

7、die( 输出语句 ); 断点

      exit( 输出语句 );退出


转载于:https://my.oschina.net/9979187/blog/600349

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值