php 实例化对象疑惑?

WBOY
リリース: 2016-06-06 20:36:04
オリジナル
1016 人が閲覧しました

<code>Example #3 导入和动态名称

<?php use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // 实例化一个 My\Full\Classname 对象
$a = 'Another';
$obj = new $a;      // 实际化一个 Another 对象
?>


http://php.net/manual/zh/language.namespaces.importing.php
上述代码在php手册看到的
为什么new 操作符在创建对象的时候没有加()小括号?
</code>
ログイン後にコピー
ログイン後にコピー

回复内容:

<code>Example #3 导入和动态名称

<?php use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // 实例化一个 My\Full\Classname 对象
$a = 'Another';
$obj = new $a;      // 实际化一个 Another 对象
?>


http://php.net/manual/zh/language.namespaces.importing.php
上述代码在php手册看到的
为什么new 操作符在创建对象的时候没有加()小括号?
</code>
ログイン後にコピー
ログイン後にコピー

如果构造函数没有参数,加()或者不加()都可以。你可以试试。

括号主要是为了传入参数。
如果构造函数有参数就必须要括号,如果没有参数,加不加括号效果都相同。

这不是很好吗,当你需要根据不同上下文环境就可以不同的对象

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート