当前位置: 首页 > news >正文

灵台县住房和城乡建设局网站wordpress 弹窗打开

灵台县住房和城乡建设局网站,wordpress 弹窗打开,办公室装修设计效果图大全,济南 网站建设公司 医疗在使用面向对象方法做PHP开发时#xff0c;可能会经常使用到各个路径中的类文件#xff0c;这就需要大量的 include 或 require#xff0c;而 PHP 提供了一个比较快捷的方式#xff0c;就是利用函数 __autoload 可以编程实现动态的类装载功能#xff0c;这样就不需要手动的…在使用面向对象方法做PHP开发时可能会经常使用到各个路径中的类文件这就需要大量的 include 或 require而 PHP 提供了一个比较快捷的方式就是利用函数 __autoload 可以编程实现动态的类装载功能这样就不需要手动的编写大量include 或 require好了下面切入正题。设计思路如果想实现自动类装载功能就必须使用 PHP 提供的 __autoload 函数该函数只有一个参数即我们在程序编写时所涉及到的类名称当函数被调用时我们要做的就是利用传入的类名加载这个类所在的文件。第一个问题就是我们如何得知类属于哪个文件名呢在做 Java 或 .Net 程序时整个运行的程序会根据类名在内存中查找对应的类型信息(常常会伴随着命名空间作为限定)内存的类型信息来自于应用程序初始化时的类文件装载这点与 PHP 是有区别的PHP 程序不会装载所有内容它只是在代码运行到某处需要装载必要的文件时才会发出装载请求。暂时抛弃何时装载这个问题再次回到装载类文件不管是 .Net 还是 Java它们在装载类型信息的时候都是类名查找类型信息的从这点看来 __autoload 采用的也是相同的方法但是 PHP 在定义类时并不要求文件名与类名保持一致这就有可能造成文件与类杂乱无章给类装载实现带来麻烦所以有必要人为的规定类定义与其所在的文件需要采用相同的名称或者两者之间按照某种规则可以互相映射这样就很容易。第二个问题类所在的文件名已经可以确定但是这个文件是属于哪个目录呢Java 可以根据包名来进行查找.Net 有命名空间虽然新版本的 PHP 引入了命名空间的概念但是既存的服务器也许会因为多种原因不能为每个客户提供最新的环境所以还是得从 PHP 本身下手比较实用。虽然没有命名空间但是可以借鉴操作系统的环境变量概念将不同的路径名放入环境变量中这样就可以从环境变量中读取各个目录然后找到目标类所在的文件。一、类名与文件名映射这一步要做的就是定义文件名与类名映射规则类名采用驼峰命名法即类名的每个单词首字母需大写而文件的命名则采用全部单词小写单词之间以下划线分割后缀名为 .class.php 。二、在环境变量中进行路径遍历仿照 UNIX 或 Windows 的环境变量的定义方式将多个文件夹以分号或冒号分隔罗列在 CLASSPATH 中。当程序读取时可以将文件夹路径放入数组中。三、开始装载调用函数 require 或 include 并利用组合好的文件路径进行文件装载但是有两处需要注意首先需要判断组合好的路径是否有效其次文件成功装载后为了效率问题可以马上退出 __autoload 函数。define(CLASSPATH, dirname(__FILE__)./entity.:.dirname(__FILE__)./meta);function __autoload($classname) {$filename strtolower(preg_replace(/(?/B)([A-Z])/s, _$1, $classname)) . .class.php;foreach (preg_split(/:/,CLASSPATH) as $cp) {if (file_exists($cp/$filename)) {require_once ($cp/$filename);break;}}}四、启用自动类装载功能主动式将该函数直接或间接包含在当前文件中之后无论在文件何处编写代码类文件都可以自动装载。被动式将该函数直接或间接包含在当前文件中以当前文件为主控制程序然后调用其它业务实现这样在其他业务实现文件中就无需考虑类装载的问题了。在图中采用的是主动式question_parser.php 通过创建 meta 中存放的类这些类又调用 entity 中的内容这个过程仅仅在 question_parser.php 包含了定义 __autoload 的 question_sysext.php关系图如下question_parser.php - question_sysext.php||//meta* entity*五、扩展思考如果文件名与类名无任何关联性的话可以装载 CLASSPATH 中定义的文件夹中所有 *.php 文件或是像例子那样装载 *.class.php 。缓存类装载当成功装载一个类所在的文件后可以将类名与文件名记录下来以便下次使用这样就无需每次都进行循环遍历在某些情况下可以节省查找时间。
http://abcdefghjklmnopqrstuvwxyz.gov.cn.htoosi.com/news/302285/

相关文章:

  • 杭州做企业网站的公司广西优化网站 优帮云
  • 企业网站建设的基本要素有哪些湛江制作公司网站
  • 昌吉 建设局 网站视频号链接怎么上
  • 上海企业网站模板建站费用贵州省住房建设部网站
  • 020网站设计北京百度搜索排名优化
  • 广东省网站备案系统视频素材网站怎么建
  • 国外有什么网站做游戏纹身网站建设
  • dedecms可以做什么网站域名信息备案管理系统查询
  • 企业网站的主要栏目wordpress 后台很慢
  • 一般网站后台地址js 抽奖网站
  • 大气网站源码网站程序风格
  • 学校响应式网站模板下载呼伦贝尔网站制作
  • 制作网站公司推荐企业网站名称怎么写
  • 南通网站建设空间vi设计思路怎么写
  • 门户网站开发项目wordpress菜单高度
  • 官网网站备案流程wordpress html单页
  • 添加书签网站代码网站建设的主要作用
  • 网站移动窗口代码wordpress百度分享插件下载地址
  • 建站平台网中国企业在线网
  • 律师个人网站源码凡客旗下app
  • 山东省城乡建设厅网站wordpress腾讯云点播插件
  • 浏览器直接进入网站的注意事项软文平台
  • 做网站的问卷调查上海建网站哪家好
  • 网站设计配色wordpress主题 her
  • 企业网站的页面信息该如何排放DW修改wordpress
  • 泉州网站建设价格wordpress 前端注册
  • 成都网站开发培训东莞网络推广托管
  • 建设部网站继续教育无锡市建设招标网站
  • 网站建设插件wordpress固定链接设置文章连续性
  • 网站模板大全如何做网站seo排名优化