批改状态:合格
老师批语:这些知识看上去不多, 不难, 其实挺不容易掌握, 得多想想
<?php//建立一个命名空间a\b\cnamespace a\b\c {class demo{public function print_p($text){return __CLASS__ . '---' . $text . '<br>';}}}//建立一个命名空间a\bnamespace a\b {class demo{public function print_p($text){return __CLASS__ . '---' . $text . '<br>';}}}//非限定名称namespace a\b {$a = new demo();echo $a->print_p('非限定名称');}//限定名称namespace a\b {$a = new c\demo();echo $a->print_p('限定名称');}//完全限定名称namespace {//命名空间的类别名use \a\b\c\demo as demo;//命名空间的别名use \a\b\c as c;$c = new c\demo();$demo = new demo();echo $c->print_p('完全限定名称');echo $demo->print_p('完全限定名称');}
flie1.php
<?phpnamespace ns;class file1{public $a=456;public function a(){return '我是file1'.'<br>';}}
flie2.php
<?phpnamespace ns;class file2{public $a=123444;public function a(){return '我是file2'.'<br>';}}
autoload.php
<?phptry {spl_autoload_register("auto");} catch (Exception $e) {die($e->getMessage());}function auto($classname){$a = __DIR__ . DIRECTORY_SEPARATOR . $classname . '.php';$a = str_replace('\\', DIRECTORY_SEPARATOR, $a);require $a;}
index.php
<?phprequire 'autoload.php';use ns\file1;use ns\file2;$f1 = new file1();echo $f1->a();$f2 = new file2();echo $f2->a();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号