PHP经验分享程序员程序猿阵线联盟-汇总各类技术干货

PHP开发学习笔记(基础篇)

2018-05-13  本文已影响317人  筑梦师Winston

前言

这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.

个人学习方法分享
全栈开发自学笔记 已开源
[PHP开发学习笔记(面向对象篇)] 稍后更新
[PHP开发学习笔记(框架篇)] 稍后更新
[PHP开发学习笔记(实际应用篇)] 稍后更新

本文阅读建议
1.一定要辩证的看待本文.
2.本文并不会涉及到PHP详细知识点,只陈述在学习PHP过程中遇到的关键点.
3.PHP依照其开发应用分为'基础篇,面向对象篇,框架篇,实际应用篇',根据本人学习进度更新.
4.本文知识点繁杂,并不能全部发布,还请移步github下载完整笔记进行参考
5.本文所表达观点并不是最终观点,还会更新,因为本人还在学习过程中,有什么遗漏或错误还望各位指出.
6.觉得哪里不妥请在评论留下建议~
7.觉得还行的话就点个小心心鼓励下我吧~

目录

1.PHP介绍
2.环境搭建
3.HTTP协议
4.PHP基础

5.PHP基础项目写法
6.总结


学习体会

这篇文章大概在大半个月前就应该发出来了,为什么鸽了这么久呢,因为那时才学习了一个星期的PHP,在阅读了大量的书籍和文章以后,我才发现,这门所谓"世界上最好的语言"学起来,并没有那么简单.

因为不想直接从书籍和文章搬运,所以这篇以及其他文章迟迟没有发布出来,我要总结出属于自己的东西.

在经过了将近这大半个月的学习,终于对PHP这门语言拥有了自己的看法和见解.

首当其冲的就是,在学习PHP语言开发的同时,一定要结合着MySQL进行学习,并且做一个拥有自己想法的网站Demo,充分利用起来HTML & CSS & JavaScript.


如何学习

PHP这门语言虽然有着容易上手之称,但因为其开源,所以其复杂程度并不亚于任何一门成熟的面向对象语言.

因为其种类为服务器脚本语言,刚入门的时候,我们学习的必定是PHP面向过程的写法.

通过面向过程的写法去了解PHP这门服务器脚本语言,然后带入类和对象的概念,因为其版本原因,在PHP5.1版本后才完全支持面向对象.

在学习了面向对象以后,自然会引入MVC和其他类型的设计模式,设计出成型的项目架构,或者使用现在项目中较为流行的Smarty、ThinkPHP、Laravel等


PHP介绍

经过这一段时间的学习,个人认为PHP主要用来处理从服务器发送来的请求

本文主要阐述PHP语言的基础部分,并不涉及面向对象以及MVC概念.

环境搭建

环境搭建可以看我这篇文章LAMP环境搭建

HTTP协议

推荐读者阅读图解HTTP协议这本书,更系统的了解什么是HTTP协议

OSI网络模型

OSI参考模型分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP协议

网络之间传输都是基于HTTP协议,但HTTP协议当中还有很多子协议,其中TCP/IP协议便是其内部的一个子集.

TCP/IP又将OSI分为了四层,让其分工更加明确:应用层->传输层->网络层->链路层.

URL

URL全称为Uniform Resource Identifier,中文意思是统一资源标识符,网络请求URL,由服务器返回请求该标识符的资源例如网页、视频、文件等.

例如:www.jianshu.com 这就是一个URL.

请求

通俗来讲,网络请求都是由客户端发出,例如浏览器或手机等.

请求报文:请求行,请求头,空行,请求数据;

响应

通俗来讲,服务器用来配置发布到万维网/互联网的内容,内容发布以后,可以通过URL进行访问.

由服务器来处理每一个由客户端访问的请求,并将其访问的数据响应给客户端

响应报文:状态行,响应码,响应正文;


PHP基础

认识PHP

PHP可以做什么

使用流程

基本语法

基本数据类型

此处内容在笔记里有详细解释

类型转换

变量

常量

字符串

数组

变量定义

传值

运算符

= < <= == != === !==

流程控制

函数

PHP开发学习笔记(基础篇)_1.png

数组与数组结构

文件加载

错误处理


exit()、die()、return

exit()

官网定义

输出一个消息并且退出当前脚本。

中止脚本的执行。 尽管调用了 exit(), Shutdown函数 以及 object destructors 总是会被执行。

exit 是个语法结构,如果没有 status 参数要传入,可以省略圆括号。

die()

官网定义

等同于exit();

常用于除了错误抛出错误信息

return

官网定义

如果在一个函数中调用 return 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。return 也会终止 eval() 语句或者脚本文件的执行。

如果在全局范围中调用,则当前脚本文件中止运行。如果当前脚本文件是被 include 的或者 require 的,则控制交回调用文件。此外,如果当前脚本是被 include 的,则 return 的值会被当作 include 调用的返回值。如果在主脚本文件中调用 return,则脚本中止运行。如果当前脚本文件是在 php.ini 中的配置选项 auto_prepend_file 或者 auto_append_file 所指定的,则此脚本文件中止运行。


用法
基本用法

exit:


<?php

$file = fopen($filename, 'r')
    or exit("unable to open file ($filename)");
//exit program normally
exit;
exit();
exit(0);

//exit with an error code
exit(1);
exit(0376); //octal

?>

return:常用于结束函数和返回一个函数返回值

<?php
$_SESSION['text'] = 'Best PHP';
function getText()
{
    $text = $_SESSION['text'];
    return $text;
    unset($_SESSION['text']);
}
echo getText().'<br />';
echo $_SESSION['text'];
?>


特别注意

当某个php文件当中,第一层代码有return的存在,代码执行到此处就会结束掉该php文件的执行.

并且,该文件的return只会影响到自己,即便被导入也只会结束掉该文件.

而如果php文件的第一层代码有die()和exit()的方法执行,如果被其他文件导入,执行到此处后,该文件和后续代码都不会执行.

测试代码如下

<?php

echo '这是第一句话<br>';

include "2.php";

echo '这是第二句话<br>';

?>

<?php

echo '这是第三句话<br>';

exit('程序已退出<br>');

echo '这是第四句话<br>';

?>

输出结果:
这是第一句话
这是第三句话
程序已退出

<?php

echo '这是第一句话<br>';

include "2.php";

echo '这是第二句话<br>';

?>

<?php

echo '这是第三句话<br>';

return;

echo '这是第四句话<br>';

?>

输出结果:
这是第一句话
这是第三句话
这是第二句话

由此可见exit()和return对php文件的影响.


PHP基础项目写法

基本

代码块

JS指向指定的PHP文件,完成相应的工作.


<script type="text/javascript">
        //定义JS删除函数
        function confirmDel(id) {
            // 询问是否要删除
            if (window.confirm("你确定要删除吗?")) {
                //如果单击"确定",跳转到delete.php页面
                location.href = "./delete.php?id="+id;
            }
        }
    
</script>

获取传递过来的数据数组$arr当中 id的值传给删除方法,进行删除

<a href="javascript:void(0)" onclick="confirmDel( <?php echo $arr['id'] ?>)">删除</a>

循环读取数据库数据,输出html网页


PHP开发学习笔记(基础篇)_2.png

提交以后延迟跳转


PHP开发学习笔记(基础篇)_3.png

总结

本文仅对PHP基础进行了总结,目前正在进行PHP面向对象+MVC+项目实践的学习,这只是PHP的冰山一角.请等我后期的文章更新.

结束语

如果您对这篇文章有什么意见或者建议,请评论与我讨论.
如果您觉得还不错的话~可以点个喜欢鼓励我哦.
如果您想和我一起学习,请毫不吝啬的私信我吧~

欢迎关注我本人公众号,定期发布干货文章~


上一篇下一篇

猜你喜欢

热点阅读