文档章节

PHP基础笔记【1】

阿_康
 阿_康
发布于 2017/03/31 17:23
字数 1660
阅读 18
收藏 1

一、php基础

1.php是啥?
    php是一种创建动态交互性站点的服务器端脚本语言
    超文本预处理器,在服务器上执行
2.运行环境
    1.计算机系统 2.web服务器 3.数据库 4.脚本处理器
       linux  apache  mysql  php
3.功能
            数据的采集、数据的处理、数据的输出
     3.1数据
         1.变量、常量 存数据 【标识符是变量的名称(函数和类的名称也是标识符)】
            1.变量的创建和声明,**PHP标识符区分大小写**
            2.变量的作用域
            3.global、static 关键字(function()中)
            4.超全局变量  http://www.cnblogs.com/wangxin-king/p/5669336.html
                     $_request $_FILES $_POST $_GET $_OCCKIE $_SESSION   
                     $_SERVER  $_GLOBALS
                              
               1.$_SERVER 包含头信息header、路径path、及脚本语言
               2.$_GET与$_POST的区别
                   1. get设计是向服务器取数据,至于可以传数据的设计是为了高数服务器要那些数据 在http头部传输
                       post设计是向服务器传数据 在http请求中传输
               3. $_REQUEST 可以接受get和post的数据,但是比较慢
               4. $_SESSION 和 $_COOKIE     
                        使用session前一定要session_start()启动session
                        储存session:$_SESSION["name"]="King";//数组操作
                        销毁session:unset($_SESSION["name"]);//销毁一个
                        session_destroy()和unset($_SESSION);//销毁所有的session
                        浏览器cookie的操作
                        设置cookie:setcookie(name, value, expire, path, domain); 
                        获取cookie:$_COOKIE["user"]; 
                        删除cookie:setcookie("user", "", time()-3600);//设置过期时间
                                1.将setcookie中的第二个参数设置为空,
                                2.将第三个参数的失效时间设置为小于系统当前时间即可
               5.
                        $_FILES['myFile']['name']   客户端文件的原名称。 
                        $_FILES['myFile']['type']    文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 
                        $_FILES['myFile']['size']     已上传文件的大小,单位为字节。 
                        $_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的
                                                    upload_tmp_dir 指定,但用 putenv() 函数设置是不起作用的。 
                        $_FILES['myFile']['error']    和该文件上传相关的错误代码。


      3.2.常量的声明
            define(name,value,case_insensitive) 
           1.创建常量:可以在一个文件中创建多个常量
                  使用常量时引入这个文件就可使用了,但是要用“.”拼接。例如:"xxx".APPID."xxx"; 
           2.魔术变量(自带常量)
              PHP魔术变量(8个)
                   __LINE__        文件中的当前行号。
                   __FILE__        ** 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名**。
                   __DIR__         ** 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。**
                   __FUNCTION__   常量返回该函数被定义时的名字
                   __CLASS__     常量返回该类被定义时的名字(区分大小写)。
                   __METHOD__      类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
                   __NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

      3.3.数据类型
                字符串、整型、浮点型、bool型、数组、对象、资源、mull
4.数据的处理:采集
     1.from表单
     2.ajax
     3.input流 file_get_contents("php://input")和$GLOBALS["HTTP_RAW_POST_DATA"]
     4.curl put接收数据(会丢失cookie)  https://www.oschina.net/code/snippet_192190_19100   

5.数据的处理
       1.
            1.运算符
                   【三元运算符】
                    $username = 'kwing';
                    $ret = $username == 'kwing'?'yes':'no';   //如果$username == 'kwing' 就返回yes,否则返回no;
                   //$ret = $username == 'kwing'?:'no';  可以省略掉冒号后面的内容       和if {} else{} 一样 
                    echo $ret;  // yes
            2.分支语句 if else、switch
            3.循环:while、do while、for、foreach       

       2. 字符串的处理
             1.  ‘ . ’  是拼接符【变量: $arr.$brr 这样就能拼接】
             2. 双引号会进行解析后输出(所以比较慢)
             3.{}的使用
                       $arr{0/1} 与索引数组差不对,可对字符串中的字符进行增删改查
       3. 数组的处理
             
       4. 函数:自带函数和自定义函数
             PHP魔术函数(13个)
                   __construct()   实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用
                   __destruct()    当删除一个对象或对象操作终止时被调用。
                   __call()      对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。
                   __get()       读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。
                   __set()        设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。
                   __toString()    打印一个对象的时被调用。如echo $obj;或print $obj;
                   __clone()       克隆对象时被调用。如:$t=new Test();$t1=clone $t;
                   __sleep()       serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
                   __wakeup()     unserialize时被调用,做些对象的初始化工作。
                   __isset()       检测一个对象的属性是否存在时被调用。如:isset($c->name)。
                   __unset()    unset一个对象的属性时被调用。如:unset($c->name)。
                   __set_state()  调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
                   __autoload()    实例化一个对象时,如果对应的类不存在,则该方法被调用。

             自定义函数          
                 function 方法名(参数,参数){
                        方法体;
                        return 返回值;
                 }
                1.传值与产引用的区别
                           传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。
                           传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。
                          //&$a   "&":取地址符
                               function func1($a) {
                               $a = $a + 1;
                               }
                               function func2(&$a) {
                                 $a = $a + 1;
                               }
                               $sample = 1;
                               func1($sample); 
                               echo $sample; // 输出 1

                               $sample = 1;
                               func2($sample); 
                               echo $sample; // 输出 2
               2.回调函数:
                         被调用方在接口被调用时也会调用对方的接口;既主函数在被调用执行中会调用次函数进行处理
                          function a(){};
                          function b($A){
                                   $A();
                          };
                          b('a');      //在调用b函数是 在b函数执行调用了a()函数;
              3.递归函数:
                        自己调用自己;//循环
        5.检测变量:
              值得记住的是,isset()  和 empty()   .  unset()可以销毁一个变量
              isset 检测变量是否存在,只要存在不管是否有值,头返回1(true)。
              而empty除了检查一个变量是否存在,还判断它的值是否为非空和非0.

        6.引入文件
              include "foo.php";//如果不存在,抛出警告
              include_once "foo.php";
              require "foo.php";//如果不存在,抛出错误
              require_once "foo.php";

 4.php的输出
       1.echo、return、
            echo:打印函数,适用于输出
            return:返回处理结果

© 著作权归作者所有

共有 人打赏支持
阿_康
粉丝 1
博文 11
码字总数 6254
作品 0
普陀
程序员
私信 提问
读《PHP和MySQL Web开发》

【第一部分】PHP基础与入门 1、PHP学习笔记1:基础知识快速浏览 http://my.oschina.net/bluefly/blog/472673 2、PHP学习笔记2:文件 http://my.oschina.net/bluefly/blog/477601 3、PHP学习笔...

slyso
2015/07/14
0
0
【CentOS 7笔记13】,find用法和文件传输#171025

hellopasswd --- 一. find 1. 跟find相似的命令 二. 常见文件名后缀 三. 使用宿主机和虚拟机传输文件 适用于SecureCRT和XShell --- 【CentOS 7基础笔记11】,目录权限,所有者与所有组,隐藏...

hellopasswd
2017/10/25
0
0
分享35本关于PHP的学习书籍(免费下载)

分享35本关于PHP的学习书籍(免费下载) 1、PHP面向对象编程 2、PHP与MVC开发模式 3、PHP_面向对象教程(强力推荐) 4、Smarty php模板引擎 5、php_mysql_web_dbs 6、PHP_和_MySQL_WEB_开发_部...

邓剑彬
2012/12/01
469
4
小蚂蚁学习APP接口开发(9)—— APP版本升级的接口实例

今天的笔记主要来记录最后两个知识要点之一,APP客户端版本升级的接口开发。 APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP——请求初始化接口init.php——检测...

嗜学如命的小蚂蚁
2015/10/21
2.5K
1
java&javaweb学习笔记(汇总)

我的java&javaweb学习笔记(汇总) 笔记分为两大部分:javase和javaweb javase javaweb 笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解java基础语法,想进一步深入学习的人 gi...

brianway
2016/02/09
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

IOS  学习记录

1.StackView=>IOS 9及以上支持 2.布局方式: AutoLayout / StackView 堆布局 (线性布局) 3.屏幕适配 (资源分辨率、设计分辨率、屏幕分辨率) Size Class技术 可以针对 屏幕的方向进行设置...

萨x姆
35分钟前
0
0
第四次工业革命:自主经济的崛起

https://36kr.com/p/5170370.html

shengjuntu
昨天
3
0
Cloud Native 与12-Factor

12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则。Cloud Native架构中使用12-Factor作为设计准则。 12-Factor 的目标在于: 使用标准化流程自动配置,从而使...

waylau
昨天
9
0
java多线程2

“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在线程安全问题。这是因为方法内部的变量都是私有造成的。 synchronized 获取的都是对象锁。如果多个线程访问多个...

一滴水穿石
昨天
4
0
今天的学习

1,document.location.href:获取整个url 2,str.split(' '):用字符分割字符串 3,$this->load->library(' '):引用图像处理类 4,$this->load->library(' '):引用Email类 5,特殊访问指针$th......

墨冥
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部