PHP中可以动态地创建属性和方法,这使得PHP的对象具有很大的灵活性。动态创建属性:
$obj = new stdClass(); $obj->name = 'John'; // 动态创建name属性 echo $obj->name; // John
动态创建方法:
$obj = new stdClass(); $obj->run = function() { echo 'Running!'; }; $obj->run(); // Running!
对象的复制可以使用clone关键字:
$obj1 = new stdClass(); $obj1->name = 'John'; $obj2 = clone $obj1; echo $obj2->name; // John
对象的比较使用==和===操作符。==会比较对象的值,===判断对象是否为同一个对象。
$obj1 = new stdClass(); $obj1->name = 'John'; $obj2 = new stdClass(); $obj2->name = 'John'; var_dump($obj1 == $obj2); // false,值相等但不是同一对象 var_dump($obj1 === $obj2); // false $obj3 = $obj1; var_dump($obj1 == $obj3); // true var_dump($obj1 === $obj3); // true, obj1和obj3是同一对象
加载指定文件使用include或require:
// test.php内容 <?php echo 'Hello'; ?> // index.php include 'test.php'; // 输出Hello
function __autoload($className) { require $className . '.php'; } $obj = new Foo(); // 会自动require Foo.php文件
命名空间的声明使用namespace:
// a.php namespace Foo\Bar; class Baz { public function run() { echo 'Hello'; } } // b.php use Foo\Bar\Baz; $obj = new Baz(); $obj->run(); // Hello
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录