1.服务器(本质就是一台电脑)
◆提供了某种服务的计算机
◆保存用户数据(很多很多的用户数据)
◆web开发(网站开发)web服务器
◆常见的服务器:web服务器、ftp服务器(保存文件的)、邮件服务器(提供邮件服务的)、等等。
◆常见的服务器外观(组成成分):没有鼠标、显示器、键盘等输入设备,只有主板、cpu、内存、硬盘。

2.两种架构:B/S(浏览器/服务器)、C/S(客户端/服务器)
◆客户端:手机app、电脑上的应用程序,优点:原生的应用,功能很强大,缺点:重量级(太庞大),还得安装app。
◆浏览器:优点:轻量级的,缺点:功能有局限性。

3.公司开发app一般两步走
◆根据预算如果要快速出东西:web版本(桌面端、移动端)
◆后期会考虑制作原生版本的app:ios、安卓。

4.设置互联网访问
◆需要有在互联网上的计算机(服务器)
◆域名

5.设置局域网访问
◆常见局域网(创客教室、公司内部网络、中国其实就是一个大的局域网(所以才需要翻墙软件才能访问外国的网站))
◆推荐一款翻墙软件:lantern(翻墙软件),有了这款翻墙软件,你就可以去上国外的网站,如facebook、youtube。
◆让你的电脑成为服务器(能够提供web服务即可成为服务器),只需要安装服务器软件即可。
◆常见的服务器软件(很多种):apache(免费、开源,一般用于php)、IIS(微软的,一般用于.net)、tomcat(一般用于java)、等等。

6.wampserver软件安装
◆安装目录不要包含任何中文
◆如果安装完毕后打开,小图标是绿色,则表示正常运行
◆如果是红色或者橙色,那么先修改一下httpd.conf文件中的Listen 80 改为 Listen 8080 ,然后关闭wamp再开启wamp,如果还不行的话 就关掉微软自带的IIS服务:首先打开控制面板,保证动态图最后选中的Internet Information Services没有被勾选即可 ,最后如果还不行,那么就重新安装一下wamp
★往往原因都是端口号被占用了,所以你只需要修改配置文件中的Listen 80 ,把监听的端口号改成其它端口号 如8080

7.浏览器收藏夹里的收藏的东西其实是可以备份的,只需要导出html文件即可,可以导出也可以导入。

8.wamp介绍:
◆w(windows)
◆a(apache):找到C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf文件,46行和171行可以修改端口号,178和205行可以修改网站的根目录,192行和235行可以修改别人访问的权限 Deny from all 改成 Allow from all,也就是将拒绝所有人访问改成允许所有人访问,然后保存文件重启wamp,最后关掉你电脑的防火墙,别人就能够通过你的ip地址来访问了。
◆m(mysql)
◆p(php)
◆本地回环地址:127.0.0.1,如果你修改了端口号为8080,那么就是127.0.0.1:8080,其实你访问到的页面是C:\wamp\www中的网页,默认会显示名称为index的页面,如果找不到index页面,可能会显示该目录下所有文件,可以通过修改C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf文件中的242行中的内容(DirectoryIndex index.php index.php3 index.html index.htm)来进行添加其它默认名称的页面。

9.常见的服务器端开发语言
◆java
◆.net
◆php
◆node.js
◆python
◆go
◆ruby
◆无论使用哪种语言最终返回给用户的都是html、css、js。
◆web服务器端开发生成的html、css、js都是动态生成的。

10.php语法注意点:
◆注意点【
◇必须放在服务器配置的网站目录中
◇不要直接右键用webstorm和sublime运行
◇必须写在<?php?>标签中
◇执行的位置是在服务器端,需要通过浏览器请求.php页面才能够执行
◇php的逻辑代码不会输出,仅仅只会返回执行完毕的结果
☆php的文件命名不能包含中文,php文件的目录也不能包含中文


11.php基础语法简介
◆定义变量:不需要关键字,只需要以$开头就可以,如$num=0;
◆输出:使用echo关键字进行简单输出,如echo $num;或 echo "";
◆设置浏览器解析文件的编码:header('content-type:text/html;charset=utf-8');,只有这样浏览器解析php文件中的中文时就不会乱码了。
◆文件定义,注释: 【PHP文件以.php结尾,代码的编写位置在<?php 写在这里?>.注释的写法跟js一致
<?php
  //这是单行注释
  /*
      这是多行注释
  */
?>】

12.PHP变量规则:【
变量以$符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及_)
变量名称对大小写敏感

13.数据类型: 【
PHP支持的数据类型包括:字符串,整数,浮点数,布尔,数组,对象,NULLL(注:由于对象中可以使用函数,故对象的语法在下文中会提及)
◇【
//字符串
    $str='123';

◇【
//字符串连接
    $str2=$str.'哈哈哈';

◇【
//整数
    $num1=2;//正数
    $num2=-2;//负数

◇【
    //浮点数
    $floatNum=3.13435;

◇【
//布尔
    $true1=true;
    $false1=false;

◇【
        //数组  和js一样可以放任何类型的数据
    $arr=array('332',12,true,3.145);//普通数组
    $parr = array('name' =>'jack' ,'age'=>25 );//关系型数组

14.运算符:【 
PHP中的运算符跟JavaScript中的基本一致,用法也基本一致

15.函数: 【
PHP虽然系统内建了一些函数,但是这不影响我们定义自己的. 函数的作用就是在代码中可以重复使用的语法块,页面加载的时候不会执行,只有在被调用的时候才会执行,语法和javascript基本一致,但是函数中的参数也是以$开头的,并且参数可以有默认值:
// 有参数,参数有默认值的函数
function sayFood($food='西兰花'){
    echo $food.'好好吃';
}

16.对象:【
PHP中允许使用对象这种,自定义数据类型. 使用时必须先声明,实例化之后才能够使用:
// 定义最基础的类
class Fox{

public $name = 'itcast';
        public $age = 10;
}
$fox = new Fox();
// 对象属性取值
$name = $fox->name;
// 对象属性赋值
$fox->name = '小狐狸';

// 带构造函数的对象
class fox{
    // 私有属性,外部无法访问
    var $name = '小狐狸';
    // 定义方法 用来获取属性
    function Name(){
    return $this->name;
    }
    // 构造函数,可以传入参数
    function fox($name){
    $this->name = $name
    }
}
    // 定义了构造函数 需要使用构造函数初始化对象
    $fox = new fox('小狐狸');
    // 调用对象方法,获取对象名
    $foxName = $fox->Name();

17.内容输出: 【
echo:PHP语句直接使用即可,输出字符串 print_r():函数输出复杂数据类型,比如数组,对象 var_dump():函数输出详细信息,如对象、数组
$arr =array(1,2,'123');

echo $arr[2]; 
// 结果为 123

print_r($arr);
// 结果为 Array ( [0] => 1 [1] => 2 [2] => 123 )

var_dump($arr);
/* 结果为 
    array
  0 => int 1
  1 => int 2
  2 => string '123' (length=3)
*/

18.流程语句:【
和javascript中一模一样 都有 switch、if

19.循环语句:【
和javascript中一模一样 都有 while、for、foreach,但是foreach中的in改成了as,并且语法也不一样,foreach ($valuable as $key => $value) {},这里的$valuable表示要遍历的数组,$key表示索引值或者键,$value表示值。

20.使用编程软件来保存代码段
◆Sublime:点击Tools菜单栏,然后选择新代码段,在<![CDATA[]]>中括号中书写你要保存的代码段,然后保存,记住首次保存的要自己建一个文件夹专门用来放自己建的代码段,利于备份,【
<snippet>
<content><![CDATA[
header('${1:content-type}:${2:text/html};${3:charset=utf-8}');
]]></content>
<!-- 设置呼出该代码段的字母 -->
<tabTrigger>p_header</tabTrigger>
<!-- 设置在哪种语言中呼出  如果不写 默认是所有语言都有效 -->
<!-- <scope>source.python</scope> -->
<!-- 1和2表示占位置的,同时也会输出,但是你按tab键的时候可以顺移到1和2的位置,而且还会选中 -->
<!-- Hello, ${1:this} is a ${2:snippet}. -->
</snippet>

◆WebStorm:点击文件中的设置,然后点击活动模板,在最右边点击绿色的+号,新建活动模板,在下方的缩写文本框和描述文本框中写上 呼出代码段的字母和描述信息,模板文本框中的就是你要新增的代码段,然后点击模板文本框下方的超链接,弹出条件复选框后选中指定的语言,最后点击应用和确定,完毕后直接使用即可。

21.php初学易错点【
◆忘记写每个语句后面的;(分号)
◆使用中文来给文件命名,如xxx.php中的xxx不能有中文、http://127.0.0.1:8080/2018/03/09/01.php(这整个url中不能包含中文)
◆如果没有提示,检查文件是否为php,使用sublime可以检查右下角、也可以直接点击选择php、或则ctrl+shift+p然后输入ssphp最后回车一下即可
◆网站根目录有index的文集那,会默认找index文件,修改文件名即可

22.php中的数组:
◆普通数组【
//数组中和js的数组一样,可以放数字、字符串、布尔等等,没有限制类型
$farr=array(1,2,3,5,7,4,6);
echo $farr[0];//打印数组第一个元素

◆关系型数组【
//和js中的json很像,是键值对,没有使用:而是=>
$parr=array('name'=>'zs','age'=>'35');
echo $parr['name'];

23.★定义字符串时注意点及其它注意点
◆单引号:内部的任何内容都只是作为字符串(纯字符串)
◆双引号:内部的内容如果是php的变量,那么会将变量的值进行解析(有变量就解析,没有变量才是纯字符串),可以使用这种方式与字符串拼接,只需要使用特殊字符隔开就可以了【
$str='123';//123
$str2="$str:456";//123:456
echo $str2;//123:456

◆字符串连接:不同于js中使用+号,php中使用.进行连接
◆对象的成员的调用:不同于js中使用.号,php中使用->来调用成员
◆键值对的定义:不同于js中使用:号,php中使用=>来进行定义键值对
◆foreach遍历:不同于js中使用in关键字来进行遍历,php中使用as关键字来进行遍历,并且语法也不一样,foreach ($valuable as $key => $value) {},这里的$valuable表示要遍历的数组,$key表示索引值或者键,$value表示值。

24.php中的get请求与post请求的处理
◆获取get提交的数据:php中预定义了一个超全局对象$_GET,$_GET是一个关系型数组,所以可以通过key来获取value,但是如果key不存在,就会报错,所以get提交过来的属性要一致,也就是表单的name属性要存在,并且要能够提交过来。
◆获取post提交的数据:php中也预定义了一个超全局对象$_POST,$_POST是一个关系型数组,所以可以通过key来获取value值,如果key不存在,就会报错,所以post提交过来的属性要一致,也就是表单的name属性要存在,并且要能够提交过来。
◆如果想把一个html文件转成php文件,可以直接修改文件后缀即可
◆可以在那个html修改成php完毕后的文件中,直接在某块儿地方直接写<?php ?>,然后就可以写php代码,和js的<script></script>用法差不多的。

25.POST&GET错误处理

当我们直接访问POST&GET页面时由于并没有传递任何数据,会因为$_GET或$_POST不存在对应的key而报错。

处理方式1:
使用array_key_exists(key, 数组)函数来进行判断
参数1: 要检测的key字符串
参数2: 检验的数组
    if(array_key_exists('name', $_GET)){
        //如果有数据 再去读取
    }else{
        // 反之 可以执行一些 其他的逻辑
    }

26.php中的文件上传【
在html表单中需要设置enctype="multipart/form-data"
只能post方式 PHP接收文件可以通过$_FILES来获取
然后通过 move_uploaded_file函数来保存文件: move_uploaded_file($_FILES['picture']['tmp_name'], './upload/'.$_FILES['picture']['name']);

27.php在实际开发中的使用方式
◆会嵌入到前端工程师写好的.html中,注意需要把后缀改成.php。
◆在希望被替换的位置使用<?php php代码?>进行占位,就能够根据用户提交的数据动态生成界面

28.php中header函数
◆浏览器访问http服务器,接收到响应时,会根据响应报文头的内容进行一些具体的操作,在php中,可以使用 header来设置这些内容。
◆设置文本编码:【
设置编码格式为:utf-8,header('content-type:text/html; charset= utf-8');
用来向客户端(浏览器)发送报头,如果出现中文无法显示,可以尝试在PHP代码顶部添加 如下代码
header("content-type:text/html; charset=utf-8");

◆设置页面跳转【
设置跳转到百度首页   是在响应头中设置的
header('location:http://www.baidu.com');
和html页面中的meta标签类似。

◆设置页面间隔刷新【 
//但是是在响应头中设置的
header('refresh:3; url=http://www.xiaomi.com');
和html页面中的meta标签类似。

php相关笔记(一)相关推荐

  1. SQL常用用法相关笔记

    SQL常用用法相关笔记 1).----CAST和CONVERT的用法 SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式. CAST和CONVERT提供相似的 ...

  2. cscope 相关笔记

    cscope 相关笔记 cscope 可以用来解析 c 代码,生成引用信息,用户通过查询引用信息来在代码中进行跳转. 使用步骤如下: find 寻找待 index 的文件,并将文件列表写入到 csco ...

  3. windows相关笔记

    windows相关笔记 前言 一. 彻底关闭windows10自动更新 二.开机启动批处理禁用win10更新服务 三.解决win和(linux或mac)双系统时间不同步问题 四.添加环境变量示例ope ...

  4. 矩阵的病态性研究相关笔记

    矩阵的病态性研究相关笔记 一.概念定义 1.1 良态VS病态 病态问题(ill-conditioned problem)是指输出结果相对于输入非常敏感,输入数据哪怕是极少(或者极微妙)的噪声也会导致输 ...

  5. 微环谐振器MRR相关笔记

    微环谐振器MRR相关笔记 这是第一次将自己的笔记上传到博客上,直接全部复制进来好像就成一整个图片了,下次我再排版好一些. 这些是我在科研的途中整理出来的资料,有些直接贴图,有些计算是自己手写的.

  6. [笔记] 最大权闭合子图最大流最小割相关笔记

    最大权闭合子图 对于最大权闭合子图的理论学习并且补充一部分网络流的笔记 有向图中若干个点组成的一个集合\(V\),集合\(V\)的所有出边所连的点也都属于\(V\),这些点构成的图即为闭合子图 点有点 ...

  7. SpringBoot的幕后推手,分布式架构演进+相关笔记参考

    ​ 这两年随着微服务的盛行,SpringBoot框架水到渠成的得到了高曝光,作为程序猿的我们,现在要是不知道一点SpringBoot相关的东西,貌似出去找工作都会被深深地鄙视,不过在我们开始Sprin ...

  8. Javascript使用三大家族和事件来DIY动画效果相关笔记(一)

    1.offset家族 ◆offsetWidth和offsetHeight表示盒子真实的宽度高度,这个真实的宽度包括 四周的边框.四周的padding.及定义的宽度高度或内容撑开的高度和宽度,可以用来检 ...

  9. 记一次mpvue开发完整小程序相关笔记

    通过一个月的小程序开发,记录下一点点小心得······ 先给各位大佬请安了~~ 1.wx.previewImage预览图片 关闭后会再次触发onShow方法: 在全局变量里定义一个全局变量开关来控制, ...

  10. 个性化选修——软件工程相关笔记

    软件:程序.相关数据和说明文档 软件工程 针对软件这一具有特殊性质的产品的工程化的方法,它涵盖了软件生存周期的所有阶段,并提供了一整套工程化的方法来指导软件人员的工作. 软件发展的历史 第一阶段:程序 ...

最新文章

  1. 华三h3c交换机最详细的配置实例手册_华为/思科/华三基本命令对比
  2. 天猫双十一神话恐终结
  3. Android模拟器安装程序及上传音乐并播放
  4. python鸡兔同笼编程输出不存在合理答案_Python 解答鸡兔同笼和五家共井问题
  5. 计算机课程教改论文,高职计算机教改的课程设计研究论文
  6. 有效解决OneNote同步问题
  7. mac安装rstudio_在Windows / Linux / Mac OS上安装R和RStudio入门
  8. 2018.8.29牛客OI测试赛A-斐波那契题解(找规律)
  9. 文献管理软件 EndNote20.1 for Windows版
  10. 长沙理工大学第十二届ACM大赛【9/12】
  11. 幼儿园故事导入语案例_幼儿园老师上课常用导入语 课前活跃气氛用这11种方法就对了...
  12. 如何选择家庭私有云NAS方案?家庭NAS存储服务器的重要性
  13. 无效的m3u8怎么办_vue使用video.js解决m3u8视频播放格式
  14. Word——怎么在word中插入特殊符号圈4
  15. linux系统漏洞升级方法,OpenSSL “Heartbleed”心脏流血漏洞升级方法
  16. Linux 脚本执行遇到错误时中止,shell 文件内容替换 sed用法
  17. python用可变参数求积_流畅的python读书笔记-第八章-对象引用、可变性和垃圾回收...
  18. 阿里云语音通知API试接入
  19. 10 道 Python 趣味题,看看你会几个
  20. 上海东锦江希尔顿逸林酒店圆满落幕

热门文章

  1. Java多线程经典案例分享
  2. WPF动态加载TabControl
  3. JS逆向 | 防脱发的秘诀
  4. C++ 工程实践(7):iostream 的用途与局限
  5. 企鹅龙(Clonezilla )PXE-批量安装系统
  6. Structure-aware protein-protein interaction site prediction using deep graph convolutional network
  7. keycloak User Storage SPI
  8. 几种常见GC算法介绍
  9. 行测-言语类题目总结
  10. linux 离线安装telnet