脚本宝典收集整理的这篇文章主要介绍了PHP:在类或构造函数外定义常量?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这些是第一行:
define('SIMPLE_DB_SERVER','MysqLserver.net'); define('SIMPLE_DB_NamE','mydbname'); define('SIMPLE_DB_USERNAME','myusername'); define('SIMPLE_DB_PASSWORD','mypassword'); class ASimpleMysqLDB { public function __construct($server,$database,$username,$password){ $this->conn = MysqL_connect($server,$password); $this->db = MysqL_select_db($database,$this->conn); } [...]
我想知道在类之外定义哪些常量的具体原因,而不是使用构造函数 – 例如:
public function __construct(){ $this->conn = MysqL_connect('localhost','username','password'); $this->db = MysqL_select_db('database',$this->conn); }
要么:
public function __construct($which_db){ if($which_db=='Firstdb'){ $server='localhost'; $username='user1'; $password='pass1'; $database='db1'; }elseif($which_db=='otherdb'){ $server='localhost'; $username='user2'; $password='pass2'; $database='db2'; } $this->conn = MysqL_connect($server,$password); $this->db = MysqL_select_db($database,$this->conn); }
或者使用开关或其他任何东西.
这两种方法有什么区别?你会推荐哪个?非常感谢 :-)
PHP 5包含类常量来实现同样的功能,但仅限于类本身的范围.
http://php.net/manual/en/language.oop5.constants.php
这种方法是创建库所需的特定于类,不可更改的值的好方法.由于在PHP中使用OOP的主要目标之一是代码可重用性,因此可以很好地打包发布.对于数据库类,可以在构造方法定义所有访问凭据之前使用const声明,例如db_host,db_user和db_pass.请注意,这些常量必须由classname :: ConstName访问,就像静态方法一样.
尽管PHP中的OOP已经走过了漫长的道路并且现在已经普及,但是大量旧的或更多“锁定”框架和库仍然使用定义约定,因此即使在OO环境中也会看到它非常常用.
以上是脚本宝典为你收集整理的PHP:在类或构造函数外定义常量?全部内容,希望文章能够帮你解决PHP:在类或构造函数外定义常量?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。