ZendFramework学习第三章(核心组件—动态加载文件与类)

今天给大家介绍动态加载:

        所谓动态加载呢就是把一个php文件或类通过特殊语句加载到其他文件中的过程。好处呢就是比如果你自己写了一个类,通过动态加载可以将他在多处使用,就不用你没用到一次写一次了。大家都知道在ZF中包含着大量的文件与类,在使用这些文件与类时你可以通过Zend_Loader组件对其他文件与类实现动态加载。这个组件不仅可以实现文件加载,还可以判断文件是否可读。我在这也不卖关子了,这两个方法就是Zend_loader::loaFile()方法和Zend_loader::isReadable()方法,从不一样的英语字义上就能看出他们的功能。

动态加载文件——

加载文件都知道是一个文件加载到另一个文件中,那么动态的呢,就是可以将变量所指代的文件加载的过程。

方法:Zend_Loader::LoadFile($filename,$dirs=null,$once=false)

其中,$filename就是文件名,$dirs为文件所在的目录,默认是空,则程序会自动到php设置的include_path目录下进行查找。$once为布尔型变量,默认为false。当值为true时,则指定的文件只会加载一次,反之会重复加载。如果文件加载失败,该方法将会抛出一个Zend_Exception异常。

 

方法:Zend_Loader::isReadable($filename)

此方法就是验证额外年间是否可读,在对文件进行操作之前小小的验证下还是有必要的。只有文件可读才能对其进行操作嘛。次方法返回的值也是布尔型。

 

 动态加载类——

了解加载文件,那么加载类和这个加载文件查不了多少。

方法:Zend_Loader::LoadClass($class,$dirs)

其中,$class为指定的类名;$dirs为包含类的文件所在的路径及文件名。其中的文件名(也就是你创建类的文件名)格式为"$className.php" (即文件必须与文件中的类同名),通过次方法可以检查文件中的类是否存在。

在使用此方法值钱呢,要注意类名竟会根据下划线(下划线作为目录的分割线)对应到相应目录下的php文件,如果Zend_Controller_Action会指向Zend/Controller/Action.php。

如果参数$dirs是一个字符串或数组,则该方法会根据顺序查找相应的目录,并加载第一个配置的文件。如果文件不存在,该方法还会到inculde_path指定的目录下进行查找。

和LoaderFile类似,如果加载不上,也会抛出一个Zend_Exception异常。

 

 

永远记得路飞说过的一句话,很有气势,灰常有魄力,那就是: 那又怎么样!

 

最后说声中国奥运加油!!奖牌不算什么,重要的是这四年你们努力了,拼搏了!

你可能感兴趣的:(ZendFramework,mvc,MVC,zend,ZendFramework)