一个PHP命名空间的问题....很无语的问题.....
直接上点小代码
<br><?php<br>//用来定义一个继承Smarty的子类,在构造函数中实现基本的路径配置.....<br>namespace Smarty;<br><br>class Smarty_Test {<br> function setName(){<br> echo 'Name';<br> }<br>}<br>
<br><?php<br>use Smarty\Smarty_Test;<br><br>$smarty = new Smarty_Test();<br>$smarty->assign('name','Ned');<br>$smarty->debugging = true;<br>$smarty->display('index.tpl');<br>?><br>代码如上,很简单,两段代码的文件结构在同一个目录下
就这样,运行死活说找不到类..........
Fatal error: Class 'Smarty\Smarty_Test' not found in ............
实在是没搞明白,我在ThinkPHP框架里也是使用命名空间完全没问题,怎么新建一个项目放连个文件,测试一下它死活都不行呢....连ZEND STUDIO编辑器都能显示出有存在Smarty_Test这个类,怎么运行的时候就是不行,,郁闷啊
------解决思路----------------------
很不错LLL
------解决思路----------------------
你没有加载含有 Smarty_Test 类定义的文件
------解决思路----------------------
是的,include包含进来
或者设置自动加载
本文档主要讲述的是Python之模块学习;python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
spl_autoload_register();<br>use Smarty\Smarty_Test;<br> <br>$smarty = new Smarty_Test();<br>$smarty->assign('name','Ned');<br>$smarty->debugging = true;<br>$smarty->display('index.tpl');










