前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP类总结

PHP类总结

作者头像
wangxl
发布2018-03-07 11:06:38
1.2K0
发布2018-03-07 11:06:38
举报
文章被收录于专栏:PHP在线PHP在线

1.类设计最好一个类只有一个主要职责。

大家应该都知道__autoload()函数,如果定义了该函数,那么当在代码中使用了一个未定义的类的时候,该函数就会被调用,你可以在该函数中加载相应的类实现文件,如:

function__autoload($className){

require_once$className.“.class.php”;

}

但该函数已经不建议使用,原因是一个项目中仅能有一个这样的__autoload()函数,因为PHP不允许函数重名。但当你用到一些类库的时候,难免会出现多个autoload函数的需要,于是spl_autoload_register()取而代之:

functionautoloadModel($className){

$filename=“models/”.$className.“.php”;

if(file_exists($filename)&&is_readable($filename)){

require_once$filename;

}

}

functionautoloadController($className){

$filename=‘controllers/’.$className.‘.php’;

if(file_exists($filename)&&is_readable($filename)){

require_once$filename;

}

}

spl_autoload_register(‘autoloadModel’);

spl_autoload_register(‘autoloadController’);

spl_autoload_register()会将一个函数注册到autoload函数列表中,当 出现未定义的类的时候,SPL会按照注册的顺序逐个调 用被注册的autoload函数,这意味着你可以使用spl_autoload_register()注册多个autoload函数。

PDO还提供了更多功能,比如:

  • 面向对象风格接口
  • SQL预编译,占位符语法
  • 更高的执行效率,作为官方推荐,有特别的性能优化
  • 支持大部分SQL数据库,更换数据库无需改动代码

try{

$dsn=“mysql:host=localhost;dbname=test”;

$conn=newPDO($dsn,‘root’,’123456′);

$sql=“select * from user where id = :id”;

$stmt=$conn->prepare($sql);

$stmt->bindValue(“id”,1);

$stmt->execute();

$row=$stmt->fetch(PDO::FETCH_ASSOC);

var_dump($row);

}catch(PDOException$e){

echo$e->getMessage();

}

PDO是官方推荐的,更为通用的数据库访问方式,如果你没有特殊的需求,那么最好学习和使用POD,但如果你需要使用MySQL所特有的高级功能,那么你可能需要尝试一下MySQLi,因为PDO为了能够同时在多种数据库上使用,不会包含那些MySQL独有的功能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档