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

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • 如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。

    class Car {
       function __construct() {
           print "构造函数被调用 \n";
       }
       function __destruct() {
           print "析构函数被调用 \n";
       }
    }
    $car = new Car(); //实例化时会调用构造函数
    echo '使用后,准备销毁car对象 \n';
    unset($car); //销毁时会调用析构函数


    查看全部
  • 通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。

    查看全部
  • 关联数组是指数组的键是字符串的数组。

    查看全部
  • 19:启动类中的方法->13:子继承父:类->14:启动方法->15:启动父方法->9:方法-存值

    20继承后;动用方法->5:启用方法->6:输出值

    查看全部
  • 对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。

    查看全部
  • PHP类和对象之重载

    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伪变量不允许使用。可以使用self,parent

    查看全部
  • $page = 2;//当前页
    $n = 2;//一行的显示的数量
    $m = ($page - 1) * $n;//从第几行开始

    查看全部
  • 不理解此段代码重载部分

    查看全部
  • 使用$this伪变量调用当前对象的属性

    查看全部
  • 表单验证

    <?php
    $user = array(
        'name' => 'spark1985',
        'email' => 'spark@imooc.com',
        'mobile' => '13312345678'
    );
    //进行一般性验证
    if (empty($user)) {
        die('用户信息不能为空');
    }
    if (strlen($user['name']) < 6) {
        die('用户名长度最少为6位');
    }
    //用户名必须为字母、数字与下划线
    if (!preg_match('/^\w+$/i', $user['name'])) {
        die('用户名不合法');
    }
    //验证邮箱格式是否正确
    if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $user['email'])) {
        die('邮箱不合法');
    }
    //手机号必须为11位数字,且为1开头
    if (!preg_match('/^1\d{10}$/i', $user['mobile'])) {
        die('手机号不合法');
    }
    echo '用户信息验证成功';


    查看全部
  • <em> 标签告诉浏览器把其中的文本表示为强调的内容。对于所有浏览器来说,这意味着要把这段文字用斜体来显示。

    查看全部
  • $p = "/<li>(.*)<\/li>/i";//解释下这个正则://后面的i表示不区分大小写,<li>(.*?)<\/li>表示li标签内的匹配的()内的值有多少,括号内的.表示所有单字符,*表示数量为0个或者多个。也就是li标签内有字符就显示出来
    preg_match_all($p, $str, $matches);
    print_r($matches[1]);

    查看全部
  • 匹配email的方法有很多,可以参考以下代码:

    $subject = "my email is spark@imooc.com";
    $pattern = '/[\w\-]+@\w+\.\w+/';
    preg_match($pattern, $subject, $matches);
    echo $matches[0];

    查看全部
  • 正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。

    贪婪模式:在可匹配与可不匹配的时候,优先匹配

    //下面的\d表示匹配数字
    $p = '/\d+\-\d+/';
    $str = "我的电话是010-12345678";
    preg_match($p, $str, $match);
    echo $match[0]; //结果为:010-12345678

    懒惰模式:在可匹配与可不匹配的时候,优先不匹配

    $p = '/\d?\-\d?/';
    $str = "我的电话是010-12345678";
    preg_match($p, $str, $match);
    echo $match[0];  //结果为:0-1

    当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数


    $p = '/\d{3}\-\d{8}/';
    $str = "我的电话是010-12345678";
    preg_match($p, $str, $match);
    echo $match[0]; //结果为:010-12345678


    查看全部

举报

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

微信扫码,参与3人拼团

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

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