天大的Bug!!!
时间:2011-06-07
来源:互联网
两项目 Core 和 Apps
在Core 项目中有:
CoreTestAction 有方法如下
public function test(){
print_r('CoreTestAction,');
print_r(D('CoreTest')->test());
}
CoreTestModel 有方法如下
public function test(){
return "CoreTestModel";
}
在Apps 项目中有 TestAction
public function test(){
print_r(A("CoreTest","Core")->test());
}
问题出来了 使用 Apps test 的时候
可以访问 CoreTestAction test 正常 输出"CoreTestAction,"
而后面接着就是错误了: CoreTestModel 木有 test 方法 有木有
如果在Apps中也有 CoreTestModel 那你知道输出什么了吗? 是Apps下的 CoreTestModel 而不是Core 项目下的
总结下 不知道是我的问题还是你们的问题 在跨项目A($name,$app='@') 在调用的Action中有D(Model)的基本上都用不上里只能被当成M(Model),或者说被程序当成原项目的Model了,而且虽然在D()中有C('DEFAULT_APP'),也是定义在原项目有效 定义在被调用项目没意义, 要是在原项目每个D()都写app,那么.......希望改下D()方法,所以 你懂得
作者: alienoooo 发布时间: 2011-06-07
其实,你再继续想一下, 就知道方法了。
定义公用配置:
所有项目的config.php 文件 改为 如下格式:
复制代码
然后在你公用配置中 定义 'DEFAULT_APP' 配置项
定义公用配置:
所有项目的config.php 文件 改为 如下格式:
- <?
- $config1=array(
- //这里定义你的项目配置
- );
- $config2=include("../../config.php");//这里是公用配置的地址
- return array_merge($config1,$config2);//合并两种配置。
- ?>
作者: luofei614 发布时间: 2011-06-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28