ZendFramework中实现自动加载models
自动 实现 加载 Models
2023-09-14 08:57:52 时间
最近自学Zendframework中,写Controller的时候总要require model下的类文件,然后才能实例化,感觉非常不爽
Google了许久,找到个明白人写的方法不错,主要就是修改application下的Bootstrap.php文件
全部代码如下:
1 <?php 2 3 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 4 5 { 6 7 //重新定义资源自动加载器 8 9 protected function _initAutoload() 10 11 { 12 13 $moduleLoader=new Zend_Application_Module_Autoloader(array('namespace'=>'','basePath'=>APPLICATION_PATH)); 14 15 /* 实现自动加载Models下的类 */ 16 17 $autoloader = Zend_Loader_Autoloader::getInstance(); 18 19 $autoloader->setFallbackAutoloader(true); 20 21 return $moduleLoader; 22 23 } 24 25 }
关键代码就是$autoloader的那两行,原有的Bootstrap.php中是没有的,加上就好了。
然后修改public/index.php文件,找到其中set_include_path一行,修改如下
1 set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path(),realpath(APPLICATION_PATH . '/models'))));
比如说现在我在models中写了个类文件叫Nav.php
1 <?php 2 3 class Nav { 4 5 public static function getNav() { 6 7 return array( 8 9 array("nav" => "单篇文章" , "href" => "./single"), 10 11 array("nav" => "多篇文章" , "href" => "./multi"), 12 13 ); 14 15 } 16 17 }
然后在IndexController中直接用下面代码就能获得返回值了~
1 Nav::getNav();
相关文章
- [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍
- SpringBoot注解把配置文件自动映射到属性和实体类实战
- /etc/fstab 参数详解及如何设置开机自动挂载
- Java的注解机制——Spring自动装配的实现原理
- python实现下载文件路径自动添加(1)的递增路径
- Outlook 2007 实现自动添加密送的方法
- Zabbix运维---自动发现和自动注册
- Flutter进阶第12篇: 检测应用版本号、服务器下载文件以及实现App自动升级、安装
- flutter 自动轮播翻页
- Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别
- ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
- hacker:Python通过对简单的WIFI弱口令实现自动实时破解
- 【ChatGLM vs ChatGPT】怎样实现机器人自动写代码?不少于3000字。
- C# winform 实现窗口靠近屏幕边缘自动吸附
- As/IDEA json自动生成java bean
- 如何自动生成和安装requirements.txt依赖
- 【RHEL8.4】使用PXE搭建网络安装源+KickStart实现系统自动安装
- mos管实现主副电源自动切换电路,并且“零”压降,静态电流20uA
- Matlab/Simulink自动生成C代码实验
- 第五篇:初识JVM,JVM自动内存管理
- 最小化自动安装的Centos7修改完整中文显示
- 【前沿技术RPA】 一文学会用UiPath实现自动过滤电子邮件(Email Automation)