为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • cookie的删除与过期时间 通过前面的章节,我们了解了设置cookie的函数,但是我们却发现php中没有删除Cookie的函数,在PHP中删除cookie也是采用setcookie函数来实现。 setcookie('test', '', time()-1); 可以看到将cookie的过期时间设置到当前时间之前,则该cookie会自动失效,也就达到了删除cookie的目的。之所以这么设计是因为cookie是通过HTTP的标头来传递的,客户端根据服务端返回的Set-Cookie段来进行cookie的设置,如果删除cookie需要使用新的Del-Cookie来实现,则HTTP头就会变得复杂,实际上仅通过Set-Cookie就可以简单明了的实现Cookie的设置、更新与删除。 了解原理以后,我们也可以直接通过header来删除cookie。 header("Set-Cookie:test=1393832059; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()-1)); 这里用到了gmdate,用来生成格林威治标准时间,以便排除时差的影响。 任务 删除test的cookie值。 index.php <?php setcookie('test', time()); //在这里试着删除test的cookie值 var_dump($_COOKIE);
    查看全部
  • 设置cookie 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"); 任务 使用setcookie设置一个名为test,值为$value的Cookie。如果在这执行没有显示效果,可以试试自己配置PHP环境,写两个页面,第一个页面写入cookie,第二个页面输出cookie。 index.php <?php $value = time(); //在这里设置一个名为test的Cookie if (isset($_COOKIE['test'])) { echo 'success'; } 本节编程练习不计算学习进度,请电脑登录imooc.com操作
    查看全部
    1 采集 收起 来源:设置cookie

    2020-07-11

  • 方法就是在类中的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(); //结果为“汽车”


    查看全部
  • 在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。属性的变量可以设置初始化的默认值,默认值必须是常量。

    访问控制的关键字代表的意义为:

    public:公开的
    protected:受保护的
    private:私有的

    默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。

    受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。


    查看全部
  • php 属性的重载

    通过__set __get  __isset  __unset 分别实现对不存在的属性的赋值、读取、判断属性是否设置、销毁属性;

    __call 实现方法的重载,

    例: 

    class Car {
        public $speed = 0;
        
        public function __call($name, $args) {
            if ($name == 'speedUp') {
                $this->speed += 10;
            }
        }
    }
    $car = new Car();
    $car->speedUp(); //调用不存在的方法会使用重载
    echo $car->speed;


    查看全部
  • __construct() 构造函数 在对象初始化的时候执行;

    如果在子类中定义了 __construct()函数,则不会调用父级的构造函数,如果需要调用,需要使用 parent::__contruct(); 

    __destruct() 析构函数 在对象销毁的时候执行;

    析构函数在PHP代码执行完毕后会自动回收与销毁,因此一般不需要显式的销毁

    查看全部
  • 使用 static 关键字修饰的,成为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符伪双冒号 ::  

    class Car {
        public static function getName() {
            return '汽车';
        }
    }
    echo Car::getName(); //结果为“汽车”


    查看全部
  • public 公开的,定义公有属性和方法,可以允许外部调用;

    protected 受保护的,不允许外部调用

    private 私有的的,不允许外部调用

    protected、private 在类的成员方法内部是可以调用的;

    class Car{
        private $price = '1000';
        public function getPrice() {
            return $this->price; //内部访问私有属性    }}


    查看全部
  • print_r(array);  可以输出数组键及对应的值

    查看全部

  • //* 将用户数据保存到cookie中的一个简单方法 */

    $secureKey = 'imooc'; //加密密钥

    $str = serialize($userinfo); //将用户信息序列化

    //用户信息加密前

    $str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));

    //用户信息加密后

    //将加密后的用户数据存储到cookie中

    setcookie('userinfo', $str);


    //当需要使用时进行解密

    $str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);

    $uinfo = unserialize($str);

    echo "解密后的用户信息:<br>";

    print_r($uinfo);


    查看全部
  • 类是一类东西的结构描述,而对象则是一类东西的一个具体实例。

    查看全部
    0 采集 收起 来源:PHP类和对象

    2020-06-14

  • PHP进阶篇-函数 :http://www.imooc.com/learn/737
    PHP进阶篇-日期时间函数:http://www.imooc.com/learn/698
    PHP进阶篇-GD库图像处理:http://www.imooc.com/learn/701
    PHP进阶篇-字符串操作:http://www.imooc.com/learn/726

    查看全部
  • 数据库连接及查询

    $link1 = mysql_connect('127.0.0.1', 'code1', '');
    $link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接
    $res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据


    查看全部
  • 通过我们需要将报错的文件名、行号、错误信息、异常追踪信息等记录到日志中,以便调试与修复问题。

    查看全部
  • Exception具有几个基本属性与方法,其中包括了:

    message 异常消息内容
    code 异常代码
    file 抛出异常的文件名
    line 抛出异常在该文件的行数

    其中常用的方法有:

    getTrace 获取异常追踪信息
    getTraceAsString 获取异常追踪信息的字符串
    getMessage 获取出错信息


    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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