php 语言特性学习 (一)

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php 语言特性学习 (一)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.类的写法

class MyClass {
    private $id = 19;
    public function __construct() {
        print("开始构造");
        return ;
    }
    public function getId() {
        return $this->id;
    }
    public function __destruct() {
        print("开始析构");
    }
}

$class = new MyClass();
echo $class->getId();

2.接口写法

interface Display {
    function display();
}

class hah implements Display {
    function display() {
        print("jajaj");
    }
}

$hah = new hah();
$hah->display();

3.静态成员 静态方法访问 不需要实例化 引用类调用即可

class MyClass {
    const success = 'jajaja';

    public  static function getValue(){
        echo self::success;
    }
}

echo MyClass::success;
echo MyClass::getValue();
//不用  $class = new MyClass();

4.单例模式 只被实例化一次 止多次实例消耗资 例如pdo 连接数据库

class Singleton {
    private static  $instance = null;
    public static function getInstance() {
        if(self::$instance == null) {
            self::$instance = new Singleton();
            var_dump('单例模式');
        }
        return self::$instance;
    }
}

Singleton::getInstance();

5.抽象类以及继承
把类声明为抽象类可以防止被实例化,但是可以继承一个抽象类,并实现其中的抽象方法。包含抽象方法的类必须声明为抽象类

abstract class MyBaseClass {
    abstract function display();
}

class haha extends MyBaseClass {
    public function display() {
        echo '你就是我的唯一';
    }
}

$cls = new haha();
$cls->display();

6.函数参数类型判定
对象才解析,字符串报错 如下

class test {

}
function expectClass (test $obj) {
    echo 'Kakak'.E_ALL;
}
$cl = new test();
$tt = 'asdsa';
exPEctClass($tt);

7.try catch 报异常
需要继承excettion类

class SqlException extends Exception {
    public $problem;
    function __construct($problem) {
        $this->problem = $problem;
    }
}

try {
    throw new SqlException('could not connect database');
} catch(SqlException $e) {
    print('Caught an SqlException with problem '.$e->problem);
}

8.&应用,遍历数组 改值
php4中不能遍历一个数组同时更改值,php5通过foreach 参数上加上&(引用)符号,在遍历数组的时候跟改值

$arr = array(
    '1'=>'hello',
    '2'=>'hel',
    '3'=>'haha'
);
foreach ($arr as & $val) {
    if($val=='hel') {
        $val = 'hello hah';
    }
}
echo '<pre>';
var_dump($arr);
exit;

9.给引用参数设置默认值
php4 只能给传递值得参数默认值,php5可以给传递引用的参数设置默认值

function test(&$arg = null) {
    if($arg === null) {
        print '$arg is empty';
    }
    else {
        echo "$arg";
    }
}
$ff = '213';
test($ff);

10.短标记

php 语法 一般而言
<?php   ?>
配置php.ini中的short_open_tag 之后可以使用
<?   ?>
标签书写代码
一般不建议开启该功能故而默认关闭,需要手动开启才能用

11.php注释

1.第一种 c注释的风格 可以跨越多行,直到标记结束
/**
 * 哈哈哈
 */
2.c++ 方式
// 哈哈哈哈
3.shell 方式
# hahah

12.变量
变量不必声明,类型也不用声明

$做前缀,变量的名字可以用一个字母(A~Z,a~z)或者_(下划线)开始。后面可以使用任意字符和下划线
例如:
$abc
$_aa
$a123
非法的:
$123
$*ab

变量在函数中创建的,它的生命周期与函数一样,在主脚本中生成的变量(不在函数中)不是全局变量,不能在函数中使用它,但是可以用$GLOBALS[]来访问(使用变量的名字作为字符串的关键字)

**

给程序员一个鼓励呗!

**

  • 微信

php 语言特性学习 (一)

  1. 支付宝

php 语言特性学习 (一)

脚本宝典总结

以上是脚本宝典为你收集整理的php 语言特性学习 (一)全部内容,希望文章能够帮你解决php 语言特性学习 (一)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。