为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个: name( Cookie名)可以通过$_COOKIE['name'] 进行访问 value(Cookie的值) expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效 path(有效路径)如果路径设置为'/',则整个网站都有效 domain(有效域)默认整个域名都有效,如果设置了'www.imooc.com',则只在www子域中有效 $value = 'test'; setcookie("TestCookie", $value); setcookie("TestCookie", $value, time()+3600); //有效期一小时 setcookie("TestCookie", $value, time()+3600, "/path/", "imooc.com"); //设置路径与域 PHP中还有一个设置Cookie的函数setrawcookie,setrawcookie跟setcookie基本一样,唯一的不同就是value值不会自动的进行urlencode,因此在需要的时候要手动的进行urlencode。 setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365); 因为Cookie是通过HTTP标头进行设置的,所以也可以直接使用header方法进行设置。 header("Set-Cookie:cookie_name=value");
    查看全部
    0 采集 收起 来源:设置cookie

    2018-03-22

  • 重载 PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。 class Car { private $ary = array(); public function __set($key, $val) { $this->ary[$key] = $val; } public function __get($key) { if (isset($this->ary[$key])) { return $this->ary[$key]; } return null; } public function __isset($key) { if (isset($this->ary[$key])) { return true; } return false; } public function __unset($key) { unset($this->ary[$key]); } } $car = new Car(); $car->name = '汽车'; //name属性动态创建并赋值 echo $car->name; 方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。 class Car { public $speed = 0; public function __call($name, $args) { if ($name == 'speedUp') { $this->speed += 10; } } } $car = new Car(); $car->speedUp(); //调用不存在的方法会使用重载 echo $car->speed;
    查看全部
  • $this->speed =parent::speedUp() + 50;
    查看全部
  • foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问索引数组里的值。 例如: $fruit=array('苹果','香蕉','菠萝'); foreach($fruit as $k=>$v){ echo '<br>第'.$k.'值是:'.$v; }
    查看全部
  • 访问控制 访问控制通过关键字public,protected和private来实现。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。 类属性必须定义为公有、受保护、私有之一。为兼容PHP5以前的版本,如果采用 var 定义,则被视为公有。 class Car { $speed = 10; //错误 属性必须定义访问控制 public $name; //定义共有属性 } 类中的方法可以被定义为公有、私有或受保护。如果没有设置这些关键字,则该方法默认为公有。 class Car { ​ //默认为共有方法 function turnLeft() { } } 如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。 class Car { private function __construct() { echo 'object create'; } private static $_object = null; public static function getInstance() { if (empty(self::$_object)) { self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象 } return self::$_object; } } //$car = new Car(); //这里不允许直接实例化对象 $car = Car::getInstance(); //通过静态方法来获得一个实例
    查看全部
  • for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。 例如: $fruit=array('苹果','香蕉','菠萝'); for($i=0; $i<3; $i++){ echo '<br>数组第'.$i.'值是:'.$fruit[$i]; }
    查看全部
  • 更新与删除数据 数据的更新与删除相对比较简单,只需要构建好相应的sql语句,然后调用mysql_query执行就能完成相应的更新与删除操作。 $sql = "update user set name = '曹操' where id=2 limit 1"; if (mysql_query($sql)) { echo '更新成功'; } 同样的删除可以使用类似以下的代码: $sql = "delete from user where id=2 limit 1"; if (mysql_query($sql)) { echo '删除成功'; } 对于删除与更新操作,可以通过mysql_affected_rows函数来获取更新过的数据行数,如果数据没有变化,则结果为0。 $sql = "update user set name = '曹操' where id=2 limit 1"; if (mysql_query($sql)) { echo mysql_affected_rows(); }
    查看全部
  • Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。 class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //调用静态方法 静态方法也可以通过变量来进行动态调用 $func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法 静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。 class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed();
    查看全部
  • for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。 例如: $fruit=array('苹果','香蕉','菠萝'); for($i=0; $i<3; $i++){ echo '<br>数组第'.$i.'值是:'.$fruit[$i]; }
    查看全部
  • 索引数组赋值有三种方式: 第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]='苹果'; 第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array('0'=>'苹果'); 第三种:用array()创建一个空数组,直接在数组里用英文的单引号'或者英文的双引号"赋值,数组会默认建立从0开始的整数的键。比如array('苹果');这个数组相当于array('0'=>'苹果'); 第一种:$array['key']此单引号键值模式可以直接被解析为一个数组即$array 第二种:$array["key"]此双引号键值模式,先执行的是"key",判断是否有定义的PHP变量存在,在解析为数组即$array 第三种:$array[key]此为无单双引号键值模式,会先分析局部作用于是否有key键值定义的常量存在,即使用define('key','val'),然后解析数组即$arra
    查看全部
  • PHP有两种数组:索引数组、关联数组。 索引和关联两个词都是针对数组的键而言的。 先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。 可以使用下面代码实现: $fruit = array("苹果","香蕉","菠萝"); 注意数组的键是从0开始的。可以使用print_r($fruit);语句输出数组键及对应的值。
    查看全部
  • 数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。 如果你去某个酒店住店,服务员会告诉你房间号是多少,具体房间里有存储了什么,那就需要根据房间号进到房间里才知道了。 $arr = array();表示创建一个空数组,并把创建的空数组赋值给变量$arr。
    查看全部
    0 采集 收起 来源:PHP数组定义

    2016-08-23

  • PHP有多个函数可以获取数据集中的一行数据,最常用的是mysql_fetch_array,可以通过设定参数来更改行数据的下标,默认的会包含数字索引的下标以及字段名的关联索引下标。 $sql = "select * from user limit 1"; $result = mysql_query($sql); $row = mysql_fetch_array($result); 可以通过设定参数MYSQL_NUM只获取数字索引数组,等同于mysql_fetch_row函数,如果设定参数为MYSQL_ASSOC则只获取关联索引数组,等同于mysql_fetch_assoc函数。 $row = mysql_fetch_row($result); $row = mysql_fetch_array($result, MYSQL_NUM); //这两个方法获取的数据是一样的 $row = mysql_fetch_assoc($result); $row = mysql_fetch_array($result, MYSQL_ASSOC); 如果要获取数据集中的所有数据,我们通过循环来遍历整个结果集。 $data = array(); while ($row = mysql_fetch_array($result)) { $data[] = $row; }
    查看全部
  • 默认的析构函数和构造函数名称分别是 __destruct和__construct;
    查看全部
  • 定义类的方法 方法就是在类中的function,很多时候我们分不清方法与函数有什么差别,在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。 同属性一样,类的方法也具有public,protected 以及 private 的访问控制。 访问控制的关键字代表的意义为: public:公开的 protected:受保护的 private:私有的 我们可以这样定义方法: class Car { public function getName() { return '汽车'; } ​} $car = new Car(); echo $car->getName(); 使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。 class Car { public static function getName() { return '汽车'; } ​} echo Car::getName(); //结果为“汽车” 调用类中方法也就是函数也无需$ ->便可 在方法中使用前面声明的属性应该用 $this->该属性 进行操作
    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!