一文详解PHP5-8各版本特性
发布时间:2022-08-10 11:09:10 所属栏目:PHP教程 来源:互联网
导读:PHP5-8各版本特性汇总 PHP5.1: autoload PDO MySQLi 类型约束 PHP5.2: JSON 支持 PHP5.3: 命名空间 匿名函数 闭包 新增魔术方法__callStatic()和__invoke() 新增魔术变量__DIR__ 动态调用静态方法 延迟静态绑定 Heredoc和 Nowdoc 类外使用const定义常量
|
PHP5-8各版本特性汇总 PHP5.1: autoload PDO MySQLi 类型约束 PHP5.2: JSON 支持 PHP5.3: 命名空间 匿名函数 闭包 新增魔术方法__callStatic()和__invoke() 新增魔术变量__DIR__ 动态调用静态方法 延迟静态绑定 Heredoc和 Nowdoc 类外使用const定义常量 三元运算符 Phar PHP5.4: Short Open Tag 数组简写 Traits, 内置 Web 服务器 动态访问静态方法 实例化时访问类成员 PHP5.5: yield list用于foreach 细节修改 PHP5.6: 常量增强 命名空间增强 可变函数参数 PHP7.0: 标量类型声明 返回值类型声明 defined定义常量数组 匿名类 null合并运算符 PHP7.1: 可为空类型 void类型 多异常捕获 PHP7.2: 新的对象object 允许重写抽象方法 PHP7.3:语法层面没有很大的改变 PHP7.4: 类型属性 箭头函数 Null合并运算符支持方法 Opcache 预加载 PHP8.0: JIT即时编译 命名参数 注解 联合类型 Match表达式 Nullsafe 运算符 构造器属性提升 PHP5.1 __autoload()魔术方法 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。可以通过定义这个函数来启用类的自动加载。 function __autoload($className) { $filePath = “project/class/{$className}.php”; if (is_readable($filePath)) { require($filePath); //这里可以只用require,因为一旦包含进来后,php引擎再遇到类A时,将不会调用__autoload,而是直接使用内存中的类A,不会导致多次包含。 } } $a = new A(); $b = new B(); $c = new C(); PHP中__autoload()魔术方法详解 PDO PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。 安装 可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。 //Linux extension=pdo.so //Windows extension=php_pdo.dll 使用 <?php $dbms='mysql'; //数据库类型 $host='localhost'; //数据库主机名 $dbName='test'; //使用的数据库 $user='root'; //数据库连接用户名 $pass=''; //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "连接成功<br/>"; /*你还可以进行一次搜索操作 foreach ($dbh->query('SELECT * from FOO') as $row) { print_r($row); //你可以用 echo($GLOBAL); 来看到这些值 } */ $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样: $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true)); PHP PDO MySQLi mysqli.dll是PHP对mysql新特性的一个扩展支持,允许访问MySQL 4.1及以上版本提供的功能。 mysql与mysqli的区别: mysqli连接是永久连接,而mysql是非永久连接。 mysql连接每当第二次使用的时候,都会重新打开一个新的进程。mysqli连接一直都只使用同一个进程。 使用 $conn = mysqli_connect('localhost', 'root', '123', 'db_test') or ('error'); $sql = "select * from db_table"; $query = mysqli_query($conn,$sql); while($row = mysqli_fetch_array($query)){ echo $row['title']; } (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

