婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Yii框架中使用PHPExcel的方法分析

Yii框架中使用PHPExcel的方法分析

熱門標簽:怎么向銷售公司推銷外呼系統 仁和怎么申請400開頭的電話 長春人工外呼系統服務商 廣東地市地圖標注 廣州防封卡外呼系統多少錢一個月 高德地圖標注家 外呼系統撥打暫時無法接通 江西手機自動外呼防封系統是什么 哪里辦理400電話

本文實例分析了Yii框架中使用PHPExcel的方法。分享給大家供大家參考,具體如下:

PHPExcel是一個比較好用的php讀取excel文件的類庫,今天遇到了在yii中如何加載PHPExcel類文件的問題,因為Yii的autoload機制是安裝類名去找文件,即文件名就是相應的類名,而PHPExcel的類文件命名方式則是:dir_dir_classname.php,即文件名把文件的目錄名都記錄了,這種命名方式yii肯定識別不了。怎么辦?

其實PHPExcel也有自己的autoload方法(PHPExcel_Autoloader::load() ),通過查看源碼發現它也是通過spl_autoload_register函數注冊的(在PHPExcel_Autoloader::register() 中),而我們知道PHP的autoload機制是,所有用spl_autoload_register函數注冊的方法,都會在autoload時被spl_autoload_call函數執行一遍,因此我們只需要讓PHPExcel的autoload方法順利注冊上就行了。

如果了解Yii的autoload機制,不清楚的可以看 附錄 Yii的autoload機制 ,可以知道,只要設置Yii::$enableIncludePathfalse,第三方類庫就有了執行自己的autoload方法的機會,然后使用下面兩行代碼就能加載PHPExcel的類了:

Yii::$enableIncludePath = false;
Yii::import('application.vendors.phpexcel.PHPExcel', 1);

import時采用了force include的方式,這是因為PHPExcel.php在被require時才會注冊autoloader,如果等到new PHPExcel時才注冊,其他的類例如PHPExcel_IOFactory如果在這之前使用了,就會出現找不到類的錯誤。

個人認為我的這種辦法是比較方便且優雅的,對比網上的其他辦法好很多,下面列舉的辦法都或多或少有點問題,例如:

1、https://www.jb51.net/article/166128.htm,這種辦法先將Yii自己的autoloader unregister了,會造成yii自己的類加載不上

2、https://www.jb51.net/article/166132.htm,這種辦法還修改了PHPExcel的autoloader,代價很大。

附錄: Yii的autoload機制

Yii框架宣稱自己的類加載方式很高效,是真正的“用時加載”,那究竟特別在哪里?今天研究了一下源碼,發現其實是在代碼級加了一層“路徑緩存”。

我們知道,要實現自己的autoload方法,需要采用spl_autoload_register()函數注冊一個autoload方法,Yii注冊的這個方法是YiiBase::autoload(),稍后再講解這個方法的邏輯。另外,Yii一般都用Yii::import($pathAlias, $forceInclude=false)來加載相應的類(這個方法直接調用了YiiBase::import() ),這個方法配合YiiBase::autoload()就能實現“用時加載”了。

先說import的大致邏輯:

1、檢查self::$_imports數組是否存在相應的$pathAlias,如果有說明已經加載過了,直接返回類名或者目錄名;否則繼續第2步;

2、根據路徑別名獲得實際的路徑名,并根據路徑別名最后一部分是否是“*”可以知道要加載的路徑別名是否是一個文件,如果是文件,去第3步;否則去第4步;

3、如果是$forceInclude是true,則立即require這個文件,并在$_imports數組中增加一項$alias => $className;否則在數組$classMap中緩存一項$className => $realPath

4、對于路徑,會在數組$_includePaths中緩存這個路徑,并且在$_imports數組中增加一項$alias => $realPath

5、結束。

因為$forceInclude默認都為false,所以import不會立即加載相應的類,等到使用時才真正加載,這是YiiBase::autoload的工作。

autoload的大致邏輯:

1、檢查類名是否已緩存在$classMap或$_coreClasses數組中,如果是則直接require相應的文件路徑,$_coreClasses是框架自有類的映射表;否則去第2步;

2、檢測YiiBase::$enableIncludePath是否為false,如果是則去第3步,否則直接include($className . '.php')

3、遍歷$includePaths數組,將目錄名拼接上類名,檢查是否為合法的php文件,如果是則include,然后跳出循環

4、結束。

需要注意的是,文檔指出:如果要與其他類庫一起使用,必須將$enableIncludePath置為false,以便在Yii::autoload()失敗時,其他類庫的autoload方法有機會執行。

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Yii框架使用PHPExcel導出Excel文件的方法分析【改進版】
  • yii框架redis結合php實現秒殺效果(實例代碼)
  • 詳解PHP的Yii框架中擴展的安裝與使用
  • 詳解PHP的Yii框架中自帶的前端資源包的使用
  • php中yii框架實例用法

標簽:惠州 廈門 黔東 湘西 濮陽 海北 梅河口 文山

巨人網絡通訊聲明:本文標題《Yii框架中使用PHPExcel的方法分析》,本文關鍵詞  Yii,框架,中,使用,PHPExcel,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Yii框架中使用PHPExcel的方法分析》相關的同類信息!
  • 本頁收集關于Yii框架中使用PHPExcel的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产成人日日夜夜| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩一区三区四区| 国产精品免费久久| 东方欧美亚洲色图在线| 久久精品人人做人人爽人人| 蜜桃av一区二区在线观看| 欧美一级欧美三级| 激情欧美一区二区| 久久久久久久久久久久久夜| 激情六月婷婷久久| 久久久久久久电影| 成人av动漫在线| 亚洲伊人伊色伊影伊综合网| 在线播放亚洲一区| 精品一区二区三区在线视频| 国产欧美va欧美不卡在线| 在线看一区二区| 麻豆传媒一区二区三区| 中文字幕乱码亚洲精品一区| 日本精品裸体写真集在线观看| 亚洲r级在线视频| 国产日产精品一区| 欧美色偷偷大香| 国产激情精品久久久第一区二区| 日韩美女啊v在线免费观看| 欧美高清精品3d| 国产成人av电影免费在线观看| 亚洲日本va午夜在线电影| 67194成人在线观看| 成人18视频在线播放| 石原莉奈在线亚洲三区| 国产精品护士白丝一区av| 欧美色图免费看| 国产一区 二区 三区一级| 国产精品久久一卡二卡| 欧美亚洲国产一区二区三区| 亚洲一区欧美一区| 欧美日韩黄色影视| 一区二区国产盗摄色噜噜| 精品成人在线观看| 成人免费电影视频| 亚洲视频在线一区观看| 欧美日本一道本| 麻豆91免费观看| 国产精品免费av| 欧美日韩和欧美的一区二区| 久久91精品国产91久久小草| 国产欧美日韩中文久久| 91福利在线观看| 韩国午夜理伦三级不卡影院| 国产精品福利一区二区三区| 国产a精品视频| 国内外成人在线视频| 国产精品人人做人人爽人人添| 色激情天天射综合网| 免费高清不卡av| 椎名由奈av一区二区三区| 欧美日韩视频不卡| 国产精品一区二区三区网站| 国产精品久久三| 国产一区二区美女诱惑| 裸体一区二区三区| 亚洲欧美激情小说另类| 欧美va天堂va视频va在线| 成人精品一区二区三区四区| 亚洲最大成人综合| 中文字幕一区免费在线观看| 国产在线播放一区| 亚洲一区二区三区四区在线观看| 日韩一区二区视频在线观看| 9191精品国产综合久久久久久| 国产福利一区在线观看| 亚洲国产精品一区二区久久| 国产欧美日韩卡一| 精品国产乱码久久久久久久| 欧美日韩国产经典色站一区二区三区| 成人精品国产福利| 国产麻豆视频精品| 久久精品免费看| 亚洲韩国一区二区三区| 日韩欧美激情一区| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩精品专区在线| 欧美日韩午夜在线| 99re热这里只有精品视频| 国产二区国产一区在线观看 | 欧美另类久久久品| 欧美性大战xxxxx久久久| 97久久精品人人做人人爽| 国产成人免费av在线| 激情成人午夜视频| 国产一区二区不卡在线| aaa亚洲精品一二三区| 成人av电影在线网| 91视频免费播放| 色播五月激情综合网| 欧美性色黄大片手机版| 欧美性色aⅴ视频一区日韩精品| 色欧美片视频在线观看 | 久久狠狠亚洲综合| 毛片一区二区三区| 最新成人av在线| 三级不卡在线观看| 日本美女一区二区三区视频| 日本伊人午夜精品| 韩国v欧美v日本v亚洲v| 国产成人亚洲精品青草天美| 国产一区二区三区在线观看精品 | 国产精品996| 91色九色蝌蚪| 欧美日韩国产免费| 精品成人一区二区三区四区| 2023国产精华国产精品| 久久精品亚洲麻豆av一区二区| 国产欧美一区二区精品婷婷| 亚洲免费观看高清完整| 日韩精品欧美精品| 日韩精品亚洲一区| 国产精品香蕉一区二区三区| 99久久99久久综合| 欧美肥妇free| 亚洲精品一区二区在线观看| 国产精品久久久久久久第一福利 | 97久久精品人人做人人爽50路| 精品国产乱子伦一区| 国产精品热久久久久夜色精品三区 | 亚洲夂夂婷婷色拍ww47 | 久久成人免费网| 不卡av免费在线观看| 欧美三级欧美一级| 久久久www免费人成精品| 亚洲精品欧美在线| 经典三级视频一区| 在线观看一区二区精品视频| 日韩欧美在线综合网| 亚洲免费看黄网站| 蜜桃免费网站一区二区三区| 不卡电影一区二区三区| 日韩一级二级三级精品视频| 中文字幕一区二区在线观看| 蜜桃av噜噜一区二区三区小说| 91玉足脚交白嫩脚丫在线播放| 日韩欧美久久一区| 亚洲成av人片在线观看| 成人白浆超碰人人人人| 日韩欧美一区电影| 亚洲综合一区二区三区| 99国产精品久久久久久久久久久 | 久久机这里只有精品| 欧美亚洲图片小说| 亚洲人成网站精品片在线观看| 国产成人午夜高潮毛片| 精品国产一区二区三区四区四| 亚州成人在线电影| 色综合天天综合| 日韩三级.com| 亚洲综合免费观看高清完整版| 久久国产精品72免费观看| 欧美精品在线一区二区三区| 亚洲色图在线播放| 91在线观看下载| 欧美成人一区二区三区在线观看| 亚洲动漫第一页| 欧美自拍偷拍午夜视频| 一区二区三区鲁丝不卡| 99久久夜色精品国产网站| 国产视频一区不卡| 丁香天五香天堂综合| 久久嫩草精品久久久久| 国产电影精品久久禁18| 欧美韩国日本一区| 99国产精品久久久| 一区二区三区精品视频| 色噜噜狠狠色综合中国| 亚洲自拍都市欧美小说| 国产成人精品免费| 久久精品欧美一区二区三区不卡 | 在线观看日产精品| 亚洲欧美电影一区二区| 色欲综合视频天天天| 亚洲成人一二三| 欧美电影免费提供在线观看| 国产乱码精品一品二品| 亚洲国产精品传媒在线观看| 国产99久久久精品| 亚洲人快播电影网| 欧美亚洲综合一区| 免费高清在线视频一区·| 精品播放一区二区| www.日韩精品| 久久久精品tv| 麻豆成人av在线| 亚洲成人动漫在线观看| 日韩精品一区在线观看| caoporn国产一区二区| 亚洲国产精品自拍| 国产拍揄自揄精品视频麻豆| 91亚洲国产成人精品一区二区三 | 国产精品免费视频网站|